thread: Force linking with -lpthread, even when --as-needed is in use.
[gnulib.git] / ChangeLog
blobf2006e57e592e7edae19d20a0e1f89d516755e0e
1 2019-01-23  Bruno Haible  <bruno@clisp.org>
3         thread: Force linking with -lpthread, even when --as-needed is in use.
4         Reported by Richard W.M. Jones <rjones@redhat.com> in
5         <https://lists.gnu.org/archive/html/bug-gnulib/2019-01/msg00123.html>.
6         * lib/glthread/thread.h (pthread_create): Don't declare weak.
8 2019-01-23  Akim Demaille  <akim.demaille@gmail.com>
9             Bruno Haible  <bruno@clisp.org>
11         relocatable: avoid compiler warnings (-Wshadow)
12         * lib/relocatable.c (compute_curr_prefix): Rename local variables
13         to avoid name collisions with global variables.
15 2019-01-22  Bruno Haible  <bruno@clisp.org>
17         vasnprintf: Don't use %n on Android.
18         Reported and fix suggested by Hugo Beauzée-Luyssen <hugo@beauzee.fr> in
19         <https://lists.gnu.org/archive/html/bug-gnulib/2018-12/msg00123.html>.
20         * lib/vasnprintf.c (VASNPRINTF): Don’t use %n on Android.
22 2019-01-22  Bruno Haible  <bruno@clisp.org>
24         *printf: Support cross-compilation to Android.
25         * m4/printf.m4: Add cross-compilation guesses for Android.
27 2019-01-21  Bruno Haible  <bruno@clisp.org>
29         diacrit: Mark deprecated.
30         * modules/diacrit (Status, Notice): Mark as deprecated.
31         * NEWS: Mention it.
33 2019-01-20  Bruno Haible  <bruno@clisp.org>
35         rintl: Override broken implementation on NetBSD.
36         * lib/math.in.h (rintl): Test also REPLACE_RINTL.
37         * m4/rintl.m4 (gl_FUNC_RINTL): Add test for negative arguments. Set
38         REPLACE_RINTL.
39         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_RINTL.
40         * modules/math (Makefile.in): Substitute REPLACE_RINTL.
41         * modules/rintl (Depends-on, configure.ac): Test REPLACE_RINTL.
42         * doc/posix-functions/rintl.texi: Mention the NetBSD bug.
44 2019-01-20  Bruno Haible  <bruno@clisp.org>
46         log10l: Work around inaccurate implementation on NetBSD.
47         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): Add test for a certain accuracy.
48         * lib/log10l.c: Comment out too simplistic override.
49         * doc/posix-functions/log10l.texi: Mention the NetBSD bug.
51 2019-01-20  Bruno Haible  <bruno@clisp.org>
53         logl: Work around inaccurate implementation on NetBSD.
54         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): Add test for a certain accuracy.
55         * lib/logl.c: Comment out unused code.
56         * doc/posix-functions/logl.texi: Mention the NetBSD bug.
58 2019-01-20  Bruno Haible  <bruno@clisp.org>
60         expm1l: Work around inaccurate implementation on NetBSD.
61         * lib/math.in.h (expm1l): Test also REPLACE_EXPM1L.
62         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Add test for a certain accuracy. Set
63         REPLACE_EXPM1L.
64         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1L.
65         * modules/math (Makefile.in): Substitute REPLACE_EXPM1L.
66         * modules/expm1l (Depends-on, configure.ac): Test REPLACE_EXPM1L.
67         * doc/posix-functions/expm1l.texi: Mention the NetBSD bug.
69 2019-01-20  Bruno Haible  <bruno@clisp.org>
71         expl: Work around inaccurate implementation on NetBSD.
72         * lib/math.in.h (expl): Test also REPLACE_EXPL.
73         * m4/expl.m4 (gl_FUNC_EXPL): Add test for a certain accuracy. Set
74         REPLACE_EXPL.
75         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPL.
76         * modules/math (Makefile.in): Substitute REPLACE_EXPL.
77         * modules/expl (Depends-on, configure.ac): Test REPLACE_EXPL.
78         * doc/posix-functions/expl.texi: Mention the NetBSD bug.
80 2019-01-20  Bruno Haible  <bruno@clisp.org>
82         exp2l: Work around inaccurate implementation on NetBSD.
83         * m4/exp2l.m4 (gl_FUNC_EXP2L): Add test for a certain accuracy.
84         * doc/posix-functions/exp2l.texi: Mention the NetBSD bug.
86 2019-01-20  Bruno Haible  <bruno@clisp.org>
88         floor, floorl: Avoid autoconf warnings.
89         * modules/floor (configure.ac): Use AC_REQUIRE.
90         * modules/floorl (configure.ac): Likewise.
92 2019-01-20  Bruno Haible  <bruno@clisp.org>
94         Defeat current GCC optimizations in math autoconf tests.
95         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Mark function pointer as 'volatile'.
96         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
97         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
98         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
99         * m4/exp2l.m4 (gl_FUNC_EXP2L): Likewise.
100         * m4/expm1.m4 (gl_FUNC_EXPM1): Likewise.
101         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
102         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
103         * m4/fmod.m4 (gl_FUNC_FMOD): Likewise.
104         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
105         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
106         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
107         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
108         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
109         * m4/ilogb.m4 (gl_FUNC_ILOGB_WORKS): Likewise.
110         * m4/ilogbf.m4 (gl_FUNC_ILOGBF_WORKS): Likewise.
111         * m4/ilogbl.m4 (gl_FUNC_ILOGBL_WORKS): Likewise.
112         * m4/log.m4 (gl_FUNC_LOG): Likewise.
113         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
114         * m4/log10.m4 (gl_FUNC_LOG10): Likewise.
115         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
116         * m4/log1p.m4 (gl_FUNC_LOG1P): Likewise.
117         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Likewise.
118         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Likewise.
119         * m4/log2.m4 (gl_FUNC_LOG2): Likewise.
120         * m4/log2f.m4 (gl_FUNC_LOG2F): Likewise.
121         * m4/modf.m4 (gl_FUNC_MODF): Likewise.
122         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
123         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
124         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
125         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
126         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
127         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
128         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
129         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
130         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
131         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
132         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
134 2019-01-19  Pádraig Brady  <P@draigBrady.com>
136         gettext: support disabling use of VLAs
137         * lib/gettext.h: Disable use of VLAs if GNULIB_NO_VLA is defined
139 2019-01-17  KO Myung-Hun  <komh78@gmail.com>
141         sys_stat: Fix 'implicit declaration of function' warning on OS/2 kLIBC.
142         * lib/sys_stat.in.h [kLIBC]: Include <unistd.h>.
144 2019-01-17  KO Myung-Hun  <komh78@gmail.com>
146         fcntl: Fix syntax error (regression from 2018-10-05).
147         * lib/fcntl.c (klibc_fcntl): Remove mis-placed ';'.
149 2019-01-13  Akim Demaille  <akim@lrde.epita.fr>
151         relocatable: improve documentation.
152         * doc/relocatable-maint.texi (Supporting Relocation): For
153         substitutions performed by config.status, we need more variables
154         (for instance datarootdir defaults to '${prefix}/share' so we need
155         prefix).
157 2019-01-13  Akim Demaille  <akim@lrde.epita.fr>
159         backup: update dependencies
160         * modules/backup-rename (Depends-on): It now depends on opendirat
161         instead of opendir.  It also uses stdint, and xalloc-oversized.
162         But no longer dirfd.
163         * modules/backupfile (Depends-on): Add xalloc-oversized.
165 2019-01-13  Bruno Haible  <bruno@clisp.org>
167         getcwd: Fix test failure when building on a Linux 9p file system.
168         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): On Linux, treat error
169         EINVAL from mkdir like ENAMETOOLONG.
170         * tests/test-getcwd.c (test_long_name): Likewise.
172 2019-01-12  Tim Rühsen  <tim.ruehsen@gmx.de>
174         Fix typos found by codespell.
175         * lib/*.[hc]: Fix typos in comments.
176         * pygnulib/*.py: Fix typos in error messages and comments.
178 2019-01-12  Bruno Haible  <bruno@clisp.org>
180         doc: Fix documentation about container data types.
181         Reported by Werner Lemberg <wl@gnu.org>.
182         * doc/containers.texi (Container data types): Fix typo.
184 2019-01-10  Bruno Haible  <bruno@clisp.org>
186         verify: Enable _GL_HAVE_STATIC_ASSERT for recent G++ versions.
187         Reported by Reuben Thomas <rrt@sc3d.org>.
188         * lib/verify.h (_GL_HAVE_STATIC_ASSERT): Define for g++ versions >= 6.
190 2019-01-06  Bruno Haible  <bruno@clisp.org>
192         maintainer-makefile: Make the configure.ac section optional.
193         * top/maint.mk (GREP, SED): Define if not defined.
195 2019-01-06  Bruno Haible  <bruno@clisp.org>
197         localename: Assume setlocale function.
198         * lib/localename.c (gl_locale_name_posix): Assume setlocale exists.
199         * m4/localename.m4 (gl_LOCALENAME): Don't test whether setlocale exists.
201 2019-01-06  Bruno Haible  <bruno@clisp.org>
203         doc: Add documentation about container data types.
204         * doc/containers.texi: New file.
205         * doc/gnulib.texi (Particular Modules): Include it.
207 2019-01-06  Bruno Haible  <bruno@clisp.org>
209         doc: Update documentation about 'progname' module.
210         * doc/progname.texi: Rename from doc/error.texi. Change node name and
211         title. Rewrite.
212         * doc/gnulib.texi (Particular Modules): Update.
214 2019-01-06  Bruno Haible  <bruno@clisp.org>
216         doc: Document the xstdopen and *-safer modules.
217         * doc/xstdopen.texi: New file.
218         * doc/gnulib.texi (Particular Modules): Include it.
220 2019-01-06  Bruno Haible  <bruno@clisp.org>
222         xstdopen: Add tests.
223         * tests/test-xstdopen.c: New file.
224         * tests/test-xstdopen.sh: New file.
225         * modules/xstdopen-tests: New file.
227         xstdopen: New module.
228         * lib/xstdopen.h: New file.
229         * lib/xstdopen.c: New file.
230         * modules/xstdopen: New file.
232 2019-01-06  Bruno Haible  <bruno@clisp.org>
234         stdopen: Fix compilation error with IRIX cc.
235         * lib/stdopen.c (stdopen): Do not use C99-style decl in loop.
237 2019-01-05  Paul Eggert  <eggert@cs.ucla.edu>
239         xfreopen need not include stdio--.h
240         * lib/xfreopen.c: Do not include stdio--.h.
242         xfreopen need not depend on freopen-safer
243         * modules/xfreopen (Depends-on):
244         Depend on freopen, not freopen-safer.
246         stdopen: modernize and simplify
247         * lib/stdopen.c: Update copyright date
248         Do not include sys/types.h; no longer needed these days.
249         (stdopen): Use C99-style decl in loop.  Return int errno
250         value, rather than just a bool.  Do not worry about fd mismatches,
251         since the caller cares only if 0, 1, 2 are occupied.
252         * lib/stdopen.h: No need to include <stdbool.h>.
253         * m4/stdopen.m4: Remove.
254         * modules/stdopen: New file.
256         stdopen: copy from last use in coreutils
257         * lib/stdopen.c, lib/stdopen.h, m4/stdopen.m4:
258         New files, taken from their last commit in coreutils
259         2007-07-23T12:35:58Z!jim@meyering.net
260         71aa3ea88084d17bcb4fc1031ad7b66f8647115e.
262 2019-01-05  Bruno Haible  <bruno@clisp.org>
264         argp: Don't pass an invalid argument to dgettext().
265         Reported by He X <xw897002528@gmail.com>.
266         * lib/argp-help.c (print_header, argp_doc): Don't pass a NULL doc to
267         dgettext().
269 2019-01-05  Bruno Haible  <bruno@clisp.org>
271         argp: Don't pass an invalid argument to dgettext().
272         Reported by He X <xw897002528@gmail.com>.
273         * lib/argp.h (struct argp): Clarify that the args_doc field may be NULL.
274         * lib/argp-help.c (argp_args_usage): Don't pass a NULL args_doc to
275         dgettext().
277 2018-12-22  Paul Eggert  <eggert@cs.ucla.edu>
279         stdioext: port to newer 32-bit Android
280         Problem reported by Tom Yan in:
281         https://lists.gnu.org/archive/html/bug-gnulib/2018-07/msg00014.html
282         * lib/stdio-impl.h (_gl_FILE_flags_t) [__ANDROID__]: New macro.
283         (fp_) [__ANDROID__]: Use it.
285 2019-01-04  Bruno Haible  <bruno@clisp.org>
287         lock: Fix link error with --enable-threads=pth.
288         * lib/glthread/lock.h (pth_cond_init, pth_cond_await, pth_cond_notify):
289         Mark as weak.
291 2019-01-04  Bruno Haible  <bruno@clisp.org>
293         Fix link errors in unit tests.
294         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
295         * modules/bitset-tests (Makefile.am): Link test-bitset against libintl.
296         * modules/array-map-tests (Makefile.am): Link test-array_map against
297         libintl.
298         * modules/array-set-tests (Makefile.am): Link test-array_set against
299         libintl.
300         * modules/hash-map-tests (Makefile.am): Link test-hash_map against
301         libintl.
302         * modules/hash-set-tests (Makefile.am): Link test-hash_set against
303         libintl.
304         * modules/linkedhash-map-tests (Makefile.am): Link test-linkedhash_map
305         against libintl.
306         * modules/linkedhash-set-tests (Makefile.am): Link test-linkedhash_set
307         against libintl.
309 2019-01-04  Bruno Haible  <bruno@clisp.org>
311         Fix incorrect 'Link' sections.
312         * modules/regex (Link): Mention the link requirement of module 'lock'.
313         * modules/regex-tests (Makefile.am): Don't use LIB_PTHREAD.
315 2019-01-04  Bruno Haible  <bruno@clisp.org>
317         Fix some 'Link' sections.
318         * modules/c-stack (Link): Add link directive from the 'gettext-h'
319         dependency.
320         * modules/getaddrinfo (Link): Likewise.
322 2019-01-04  Bruno Haible  <bruno@clisp.org>
324         Remove redundant 'Link' sections.
325         * modules/canon-host (Link): Remove section.
326         * modules/timevar (Link): Likewise.
328 2019-01-04  Bruno Haible  <bruno@clisp.org>
330         Remove incorrect 'Link' sections.
331         * modules/acl (Link): Remove section. Use combined 'Link' sections from
332         the dependencies instead.
333         * modules/crypto/md5 (Link): Likewise.
334         * modules/crypto/sha1 (Link): Likewise.
335         * modules/crypto/sha256 (Link): Likewise.
336         * modules/crypto/sha512 (Link): Likewise.
337         * modules/faccessat (Link): Likewise.
338         * modules/fdutimensat (Link): Likewise.
339         * modules/iconv_open-utf (Link): Likewise.
340         * modules/propername (Link): Likewise.
341         * modules/qacl (Link): Likewise.
342         * modules/unicodeio (Link): Likewise.
343         * modules/utimecmp (Link): Likewise.
344         * modules/utimensat (Link): Likewise.
345         * modules/xstriconv (Link): Likewise.
346         * modules/xstriconveh (Link): Likewise.
348 2019-01-04  Bruno Haible  <bruno@clisp.org>
350         gnulib-tool: New option --extract-recursive-link-directive.
351         * gnulib-tool (func_usage): Document the new options
352         --extract-recursive-dependencies, --extract-recursive-link-directive.
353         (func_verify_module): Document output variables.
354         (func_get_dependencies_recursively): New function.
355         (func_get_link_directive_recursively): New function.
356         Use them to implement the new options
357         --extract-recursive-dependencies, --extract-recursive-link-directive.
358         * doc/gnulib-tool.texi (Link-time requirements): New section.
360 2019-01-04  Bruno Haible  <bruno@clisp.org>
362         Clarify meaning of 'Link' section in module description.
363         * doc/gnulib.texi (Module description): Clarify the meaning of the
364         'Link' section versus the one of the dependencies.
365         * NEWS: Mention the change.
367 2019-01-04  Bruno Haible  <bruno@clisp.org>
369         pselect: Fix module description.
370         * modules/pselect (Link): Put one link option per line.
372 2019-01-04  Bruno Haible  <bruno@clisp.org>
374         cosl: Fix module description.
375         * modules/cosl (Link): Fix typo.
376         * modules/mathl (configure.ac): Likewise.
378 2019-01-04  Bruno Haible  <bruno@clisp.org>
380         c-xvasprintf: Fix module dependencies.
381         * modules/c-xvasprintf (Depends-on): Add 'xalloc-die'.
383 2019-01-04  Akim Demaille  <akim@lrde.epita.fr>
385         bootstrap: die when some submodules are not initialized
386         * build-aux/bootstrap: Make sure all submodules are initialized.
388 2019-01-04  Bruno Haible  <bruno@clisp.org>
390         bitsetv: Fix module dependencies.
391         * lib/bitsetv.c: Include xalloc.h.
392         * modules/bitsetv (Depends-on): Add 'xalloc'.
394 2019-01-04  Bruno Haible  <bruno@clisp.org>
396         xmemdup0: Remove redundant code.
397         * lib/xmemdup0.h (xalloc_die): Remove declaration.
399 2019-01-04  Bruno Haible  <bruno@clisp.org>
401         backupfile: Fix module dependencies.
402         * modules/backupfile (Depends-on): Add 'xalloc'.
404 2019-01-03  Paul Eggert  <eggert@cs.ucla.edu>
406         bitset, crypto/gc: fix conflicts with Solaris 11
407         * lib/bitset.h (_GL_BITSET_H): Rename from _BITSET_H, to
408         avoid clash with Solaris 11 <sys/bitset.h>.
409         * lib/gc.h (_GL_GC_H): Rename from GC_H, to avoid clash
410         with Solaris 11 <xorg/gc.h>.
412 2019-01-04  Bruno Haible  <bruno@clisp.org>
414         safe-read, safe-write: Fix conflict with Illumos-Joyent <sys/limits.h>.
415         Reported by Andy Fiddaman <andy@omniosce.org>.
416         * lib/sys-limits.h: Add a '_GL' prefix to the guard symbol.
418 2019-01-03  Eric Blake  <eblake@redhat.com>
420         maintainer-makefile: fix typo in previous patch
421         * top/maint.mk (_sc_search_regexp): Fix my accidental corruption
422         of Roman's work.
424 2019-01-02  Roman Bolshakov <r.bolshakov@yadro.com>  (tiny change)
426         maintainer-makefile: prefer $(GREP) over grep
427         * modules/maintainer-makefile (configure.ac): Ensure $(GREP) is
428         defined.
429         * top/maint.mk: Use it everywhere.
431         maintainer-makefile: split long argument lines
432         * top/maint.mk: Use xargs to split $(VC_LIST_EXCEPT) usage where
433         it would be too long for exec limits on BSD.
435 2018-12-27  Paul Eggert  <eggert@cs.ucla.edu>
437         mkfifo: bring back HAVE_MKFIFO macro
438         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): #define HAVE_MKFIFO as needed.
439         Problem reported by Andrew Janke in:
440         https://lists.gnu.org/r/bug-gnulib/2018-12/msg00147.html
442 2018-12-21  Bruno Haible  <bruno@clisp.org>
444         Assume Autoconf >= 2.63.
445         * modules/stdarg (configure.ac-early): Remove comment about Autoconf
446         versions < 2.60.
448 2018-12-21  Bruno Haible  <bruno@clisp.org>
450         memcmp: Mention the clang bug.
451         * tests/test-memcmp.c: Add comment about a known test failure.
452         * doc/posix-functions/memcmp.texi: Mention the clang bug.
454 2018-12-20  Jim Meyering  <meyering@fb.com>
456         revert v0.1-2213-gae4b73e28 and part of v0.1-2281-g95cd86dd7
457         v0.1-2213-gae4b73e28 caused a regression in grep-3.2 (no match):
458           echo '123-x'|LC_ALL=C grep -E '.\bx'
459         The goal is to revert the first, but reverting it requires to restore
460         the function deleted in the second. I ran this to restore the deleted
461         function:
462           git show v0.1-2281-g95cd86dd7 lib/dfa.c \
463             | perl -0777 -pe 's/^@@[^\n]*dfaan.*//ms' \
464             | patch -R -p1
465         * lib/dfa.c (charclass_context): Restore deleted function.
466         Reverting the primary commit removes this change:
467         dfa: Simplify a building state
468         * lib/dfa.c (build_state): Simplify a building state.
470 2018-12-20  Paul Eggert  <eggert@cs.ucla.edu>
472         version-etc: allow zero authors
473         * lib/version-etc.c (version_etc_arn): If no authors are given,
474         omit authorship info instead of dumping core.
476 2018-12-19  Bruno Haible  <bruno@clisp.org>
478         lchown tests: Be more permissive regarding errno values.
479         Reported by Ivan Zakharyaschev <imz@altlinux.org>.
480         * tests/test-lchown.h (test_lchown): Recognize EOPNOTSUPP as an
481         alternative to ENOSYS.
482         * modules/lchown-tests (Depends-on): Add 'errno'.
483         * modules/fchownat-tests (Depends-on): Likewise.
485 2018-12-18  Bruno Haible  <bruno@clisp.org>
487         duplocale: Avoid test failure on AIX 7.
488         * modules/duplocale-tests (Files): Add m4/intl-thread-locale.m4.
489         (configure.ac): Invoke gt_FUNC_USELOCALE.
490         * tests/test-duplocale.c: Test HAVE_WORKING_USELOCALE instead of
491         HAVE_USELOCALE. Assume that nl_langinfo_l only works when uselocale
492         works.
494 2018-12-18  Bruno Haible  <bruno@clisp.org>
496         localename: Fix test failure on AIX 7.
497         Reported by Assaf Gordon in
498         <https://lists.gnu.org/archive/html/sed-devel/2018-12/msg00019.html>.
499         * m4/intl-thread-locale.m4 (gt_FUNC_USELOCALE): New macro.
500         (gt_INTL_THREAD_LOCALE_NAME): Invoke it. Test gt_cv_func_uselocale_works
501         instead of ac_cv_func_uselocale.
502         * lib/localename.c: Test HAVE_WORKING_USELOCALE instead of
503         HAVE_USELOCALE.
504         * lib/localename-table.h: Likewise.
505         * lib/localename-table.c: Likewise.
506         * tests/test-localename.c: Likewise.
507         * doc/posix-functions/uselocale.texi: Mention the AIX problem.
509 2018-12-18  Bruno Haible  <bruno@clisp.org>
511         localename: Update comments regarding Cygwin.
512         * lib/localename.c: Update comment.
513         * doc/posix-functions/uselocale.texi: Update platforms list.
514         * doc/posix-functions/newlocale.texi: Likewise.
515         * doc/posix-functions/duplocale.texi: Likewise.
516         * doc/posix-functions/freelocale.texi: Likewise.
518 2018-12-16  Bruno Haible  <bruno@clisp.org>
520         c-stack: Fix for Linux/sparc.
521         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Set
522         ac_cv_sys_xsi_stack_overflow_heuristic to 'no' on Linux/sparc.
524 2018-12-16  Bruno Haible  <bruno@clisp.org>
526         localename: Avoid test failure on some glibc systems.
527         * tests/test-localename.c (test_locale_name, test_locale_name_posix):
528         Unset environment variables that might disturb the first setlocale call,
529         and verify that this setlocale call succeeds.
531 2018-12-16  Assaf Gordon  <assafgordon@gmail.com>
533         random: Fix build error on native Windows (regression from 2018-06-21).
534         * lib/random.c (__srandom, __initstate, __setstate, __random,
535         __srandom_r, __initstate_r, __setstate_r, __random_r) [!_LIBC]: Redirect
536         to the symbols without '__' prefix.
538 2018-12-16  Bruno Haible  <bruno@clisp.org>
540         obstack, libc-config: Support HP-UX cc in C99 mode.
541         * lib/obstack.h (__FLEXIBLE_ARRAY_MEMBER): Treat HP-UX cc as a pre-C99
542         compiler, even when in C99 mode.
543         * lib/cdefs.h (__flexarr): Likewise.
544         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Update comment.
546 2018-12-16  Bruno Haible  <bruno@clisp.org>
548         localename: Fix test failure on OpenBSD >= 6.2.
549         * m4/intl-thread-locale.m4 (gt_INTL_THREAD_LOCALE_NAME): Test for fake
550         locale system. Define HAVE_FAKE_LOCALES in this case.
551         * lib/localename.c (HAVE_GOOD_USELOCALE): New macro. Use it instead of
552         HAVE_USELOCALE.
553         * tests/test-localename.c (HAVE_GOOD_USELOCALE): New macro. Use it
554         instead of HAVE_NEWLOCALE && HAVE_USELOCALE.
555         * doc/posix-functions/uselocale.texi: Mention OpenBSD problem. Update
556         platforms list.
557         * doc/posix-functions/newlocale.texi: Likewise.
558         * doc/posix-functions/duplocale.texi: Update platforms list.
559         * doc/posix-functions/freelocale.texi: Likewise.
561 2018-12-16  Bruno Haible  <bruno@clisp.org>
563         duplocale tests: Re-enable the test on platforms without <monetary.h>.
564         * tests/test-duplocale.c: Use more fine-grained #ifs to re-enable most
565         of the test, on platforms without <monetary.h>.
567 2018-12-16  Bruno Haible  <bruno@clisp.org>
569         localename: Update comments.
570         * lib/localename.c (HAVE_USELOCALE): Update list of platforms.
572 2018-12-15  Jim Meyering  <meyering@fb.com>
574         regex: fix indentation
575         * m4/regex.m4 (gl_REGEX): Indent with spaces, not TABs.
577 2018-12-15  Bruno Haible  <bruno@clisp.org>
579         openat-safer tests: Avoid test failure on NetBSD 8.
580         * tests/test-openat-safer.c (main): Execute a Linux specific test only
581         on Linux.
583 2018-12-15  Jim Meyering  <meyering@fb.com>
585         regex: work around a bug in glibc-2.27 and prior
586         * m4/regex.m4 (gl_REGEX): Reject any system regexp that gets a failed
587         assertion for /0|()0|\1|0/.
588         * tests/test-regex.c (main): Add the same test here.
590 2018-12-15  Bruno Haible  <bruno@clisp.org>
592         localename: Fix use of uninitialized shell variable.
593         * m4/intl-thread-locale.m4 (gt_INTL_THREAD_LOCALE_NAME): Initialize
594         gt_cv_locale_solaris114 always before use. Remove assignment without
595         effect.
597 2018-12-15  Bruno Haible  <bruno@clisp.org>
599         dfa tests: Avoid test failure on Alpine Linux.
600         * tests/dfa-match.sh (timeout_10): Accommodate the BusyBox 'timeout'
601         command found on Alpine Linux.
603 2018-12-15  Jim Meyering  <meyering@fb.com>
605         dfa: avoid new warnings from gcc
606         These would prevent building with -Werror and a Dec snapshot of gcc.
607         * lib/dfa.c (dfaanalyze): Avoid shadowing warnings for "pos".
608         Rename each inner instance to "p".
609         (charclass_context): Remove unused static function.
611 2018-12-14  Paul Eggert  <eggert@cs.ucla.edu>
613         mkdir-p: improve diagnostic for FUSE mounts
614         Problem reported by Niklas Hambüchen in:
615         https://lists.gnu.org/r/bug-gnulib/2018-12/msg00074.html
616         * lib/mkdir-p.c (make_dir_parents): In diagnostic, prefer stat
617         errno to mkdir errno if the stat errno is likely more interesting.
619 2018-12-14  Bruno Haible  <bruno@clisp.org>
621         hash-map: Add tests.
622         * tests/test-hash_map.c: New file.
623         * modules/hash-map-tests: New file.
625         linkedhash-map: Add tests.
626         * tests/test-linkedhash_map.c: New file.
627         * modules/linkedhash-map-tests: New file.
629         array-map: Add tests.
630         * tests/test-array_map.c: New file.
631         * modules/array-map-tests: New file.
633         xmap: New module.
634         * lib/gl_xmap.h: New file.
635         * lib/gl_xmap.c: New file.
636         * modules/xmap: New file.
638         hash-map: New module.
639         * lib/gl_hash_map.h: New file.
640         * lib/gl_hash_map.c: New file.
641         * modules/hash-map: New file.
643         linkedhash-map: New module.
644         * lib/gl_linkedhash_map.h: New file.
645         * lib/gl_linkedhash_map.c: New file.
646         * lib/gl_anyhash1.h: Update comments.
647         * lib/gl_anyhash2.h: Likewise.
648         * modules/linkedhash-map: New file.
650         array-map: New module.
651         * lib/gl_array_map.h: New file.
652         * lib/gl_array_map.c: New file.
653         * modules/array-map: New file.
655         map: New module.
656         * lib/gl_map.h: New file.
657         * lib/gl_map.c: New file.
658         * lib/gl_omap.h (gl_mapkey_dispose_fn, gl_mapvalue_dispose_fn): Avoid
659         conflict with gl_map.h.
660         * modules/map: New file.
662 2018-12-13  Bruno Haible  <bruno@clisp.org>
664         select tests: Avoid test failure on Cygwin.
665         * tests/test-select.h (test_bad_fd): Use an fd < FD_SETSIZE.
667 2018-12-13  Bruno Haible  <bruno@clisp.org>
669         localtime-buffer: Avoid endless recursion in localtime and gmtime.
670         * lib/localtime-buffer.c: Undefine localtime and gmtime before use.
672 2018-12-13  Bruno Haible  <bruno@clisp.org>
674         localeconv tests: Avoid test failure on Cygwin.
675         * tests/test-localeconv.c (main): On Cygwin, skip the 'grouping' and
676         'mon_grouping' tests.
678 2018-12-11  Bruno Haible  <bruno@clisp.org>
680         omap: Don't dispose the old value when the function returns it.
681         * lib/gl_array_omap.c (gl_array_remove_at): Don't invoke the vdispose_fn
682         here.
683         * lib/gl_avltree_omap.c (NODE_PAYLOAD_DISPOSE): Likewise.
684         * lib/gl_rbtree_omap.c (NODE_PAYLOAD_DISPOSE): Likewise.
685         * lib/gl_omap.h (gl_omap_nx_put, gl_omap_remove): Invoke the vdispose_fn
686         here.
688         array-omap, avltree-omap, rbtree-omap: Tweak style.
689         * lib/gl_anytree_omap.h (gl_tree_nx_getput): Return 1 or 0, not true or
690         false.
691         * lib/gl_array_omap.c (gl_array_nx_getput): Likewise.
693         rbtree-omap: Add tests.
694         * tests/test-rbtree_omap.c: New file.
695         * modules/rbtree-omap-tests: New file.
697         avltree-omap: Add tests.
698         * tests/test-avltree_omap.c: New file.
699         * modules/avltree-omap-tests: New file.
701         array-omap: Add tests.
702         * tests/test-array_omap.c: New file.
703         * modules/array-omap-tests: New file.
705         xomap: New module.
706         * lib/gl_xomap.h: New file.
707         * lib/gl_xomap.c: New file.
708         * modules/xomap: New file.
710         rbtree-omap: New module.
711         * lib/gl_rbtree_omap.h: New file.
712         * lib/gl_rbtree_omap.c: New file.
713         * lib/gl_rbtree_ordered.h: Code moved to here from lib/gl_rbtree_oset.c.
714         Parameterize.
715         * lib/gl_rbtree_oset.c: Include gl_rbtree_ordered.h.
716         * modules/rbtree-omap: New file.
717         * modules/rbtree-oset (Files): Add lib/gl_rbtree_ordered.h.
718         (Makefile.am): Add gl_rbtree_ordered.h to lib_SOURCES.
720         avltree-omap: New module.
721         * lib/gl_avltree_omap.h: New file.
722         * lib/gl_avltree_omap.c: New file.
723         * lib/gl_avltree_ordered.h: Code moved to here from
724         lib/gl_avltree_oset.c. Parameterize.
725         * lib/gl_avltree_oset.c: Include gl_avltree_ordered.h.
726         * lib/gl_anytree_omap.h: New file.
727         * modules/avltree-omap: New file.
728         * modules/avltree-oset (Files): Add lib/gl_avltree_ordered.h.
729         (Makefile.am): Add gl_avltree_ordered.h to lib_SOURCES.
731         array-omap: New module.
732         * lib/gl_array_omap.h: New file.
733         * lib/gl_array_omap.c: New file.
734         * modules/array-omap: New file.
736         omap: New module.
737         * lib/gl_omap.h: New file.
738         * lib/gl_omap.c: New file.
739         * modules/omap: New file.
741 2018-12-11  Bruno Haible  <bruno@clisp.org>
743         hash-set, linkedhash-set: Reduce code duplication.
744         * lib/gl_anyhash1.h: Rename from lib/gl_anyhash_list1.h and
745         lib/gl_anyhash_set1.h.
746         * lib/gl_anyhash2.h: Rename from lib/gl_anyhash_list2.h and
747         lib/gl_anyhash_set2.h. Parameterize.
748         (hash_resize_after_add): New function, from lib/gl_anyhash_set2.h.
749         * lib/gl_anytreehash_list1.h (hash_resize_after_add): Remove function.
750         * lib/gl_avltreehash_list.c: Include gl_anyhash1.h instead of
751         gl_anyhash_list1.h. Include gl_anyhash2.h instead of gl_anyhash_list2.h.
752         * lib/gl_rbtreehash_list.c: Likewise.
753         * lib/gl_linkedhash_list.c: Likewise.
754         (hash_resize_after_add): Remove function.
755         * lib/gl_linkedhash_set.c: Include gl_anyhash1.h instead of
756         gl_anyhash_set1.h. Include gl_anyhash2.h instead of gl_anyhash_set2.h.
757         * gl_hash_set.c: Likewise.
758         * modules/avltreehash-list (Files, Makefile.am): Update file list.
759         * modules/rbtreehash-list (Files, Makefile.am): Likewise.
760         * modules/linkedhash-list (Files, Makefile.am): Likewise.
761         * modules/linkedhash-set (Files, Makefile.am): Likewise.
762         * modules/hash-set (Files, Makefile.am): Likewise.
764 2018-12-11  Bruno Haible  <bruno@clisp.org>
766         array-set: Optimize.
767         * lib/gl_array_set.c (gl_array_search, gl_array_remove): Test equals_fn
768         outside the loop, not inside the loop.
770 2018-12-11  Bruno Haible  <bruno@clisp.org>
772         times: Fix tests.
773         * tests/test-times.c (doublecmp): Implement a total order.
775 2018-12-11  Bruno Haible  <bruno@clisp.org>
777         array-set, linkedhash-set, hash-set: Fix tests.
778         * tests/test-array_set.c (cmp_objects_in_array): New function.
779         (check_equals): Use it.
780         * tests/test-hash_set.c: Likewise.
781         * tests/test-linkedhash_set.c: Likewise.
783 2018-12-08  Bruno Haible  <bruno@clisp.org>
785         Fix comments.
786         * lib/gl_list.h (gl_list_free): Clarify what it does.
787         * lib/gl_oset.h (gl_oset_free): Likewise.
788         * lib/gl_set.h (gl_set_free): Likewise.
789         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Fix typo in comment.
790         * lib/gl_array_oset.c (gl_array_search_atleast): Likewise.
791         * lib/gl_anyavltree_list1.h (MAXHEIGHT): Likewise.
792         * lib/gl_avltree_oset.c (MAXHEIGHT): Likewise.
794 2018-12-03  Bruno Haible  <bruno@clisp.org>
796         hash-set: Add tests.
797         * tests/test-hash_set.c: New file.
798         * modules/hash-set-tests: New file.
800         linkedhash-set: Add tests.
801         * tests/test-linkedhash_set.c: New file.
802         * modules/linkedhash-set-tests: New file.
804         array-set: Add tests.
805         * tests/test-array_set.c: New file.
806         * modules/array-set-tests: New file.
808         xset: New module.
809         * lib/gl_xset.h: New file.
810         * lib/gl_xset.c: New file.
811         * modules/xset: New file.
813         hash-set: New module.
814         * lib/gl_hash_set.h: New file.
815         * lib/gl_hash_set.c: New file.
816         * modules/hash-set: New file.
818         linkedhash-set: New module.
819         * lib/gl_linkedhash_set.h: New file.
820         * lib/gl_linkedhash_set.c: New file.
821         * lib/gl_anyhash_set1.h: New file, based on lib/gl_anyhash_list1.h.
822         * lib/gl_anyhash_set2.h: New file, based on lib/gl_anyhash_list2.h.
823         * lib/gl_anyhash_primes.h: New file, extracted from
824         lib/gl_anyhash_list2.h.
825         * lib/gl_anyhash_list2.h: Include it.
826         (primes, next_prime): Remove definitions.
827         * modules/linkedhash-set: New file.
828         * modules/avltreehash-list (Files): Add lib/gl_anyhash_primes.h.
829         (Makefile.am): Add gl_anyhash_primes.h to lib_SOURCES.
830         * modules/linkedhash-list (Files): Add lib/gl_anyhash_primes.h.
831         (Makefile.am): Add gl_anyhash_primes.h to lib_SOURCES.
832         * modules/rbtreehash-list (Files): Add lib/gl_anyhash_primes.h.
833         (Makefile.am): Add gl_anyhash_primes.h to lib_SOURCES.
835         array-set: New module.
836         * lib/gl_array_set.h: New file.
837         * lib/gl_array_set.c: New file.
838         * modules/array-set: New file.
840         set: New module.
841         * lib/gl_set.h: New file.
842         * lib/gl_set.c: New file.
843         * lib/gl_oset.h (gl_setelement_dispose_fn): Avoid conflict with
844         gl_set.h.
845         * modules/set: New file.
847 2018-12-07  Akim Demaille  <akim@lrde.epita.fr>
849         bison: don't force the Yacc mode
850         Passing -y forces Bison into POSIX YACC mode.  This includes reporting
851         errors when Bison features are used in the grammar file.  Some of
852         these features (such as %expect) were flagged non-yacc recently.  Most
853         of the time, -y is actually used to please Automake's ylwrap which
854         expects the output to be y.tab.c.
855         * m4/bison.m4 (gl_BISON): Use `-o y.tab.c` rather than `-y`.
857 2018-12-01  Bruno Haible  <bruno@clisp.org>
859         gnupload: Document short options.
860         * build-aux/gnupload (usage): Document the short options.
862 2018-11-28  Ben Elliston  <bje@gnu.org>
864         gnupload: Support option -h as alias of --help.
865         * build-aux/gnupload: Support -h.
867 2018-11-30  Paul Eggert  <eggert@cs.ucla.edu>
869         memrchr: port better to clang
870         * lib/memrchr.c (__memrchr): Cast to void * instead of to
871         longword *, to pacify clang -Wcast-align (Bug#33544).
873 2018-11-29  Eric Blake  <eblake@redhat.com>
875         docs: mention printf %m considerations
876         * doc/glibc-functions/asprintf.texi (asprintf): Document that %m
877         is not portable, and is easy enough to work around.
878         * doc/glibc-functions/obstack_printf.texi (obstack_printf): Likewise.
879         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf): Likewise.
880         * doc/glibc-functions/vasprintf.texi (vasprintf): Likewise.
881         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
882         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
883         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
884         * doc/posix-functions/printf.texi (printf): Likewise.
885         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
886         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
887         * doc/posix-functions/swprintf.texi (swprintf): Likewise.
888         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
889         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
890         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
891         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
892         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
893         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
894         * doc/posix-functions/vswprintf.texi (vswprintf): Likewise.
895         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
896         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
898 2018-11-29  Akim Demaille  <akim@lrde.epita.fr>
900         bitset: rename ebitset/expandable.* as tbitset/table.*
901         See
902         https://lists.gnu.org/archive/html/bug-gnulib/2018-11/msg00096.html.
903         * lib/bitset/expandable.h, lib/bitset/expandable.c: Rename as...
904         * lib/bitset/table.h, lib/bitset/table.c: these.
905         Rename all the ebitset* symbols as tbitset*.
906         Adjust dependencies.
908 2018-11-28  Akim Demaille  <akim@lrde.epita.fr>
910         bitset: check the operations
911         * tests/test-bitset.c (bitset_random): New.
912         Use it.
913         * lib/bitset/expandable.c (ebitset_not): Fix typo.
915 2018-11-28  Akim Demaille  <akim@lrde.epita.fr>
917         bitset: properly use false/true instead of 0/1 for Booleans
918         * lib/bitset/expandable.c, lib/bitset/vector.c: Use false/true, not
919         0/1, as Booleans.
921 2018-11-28  Akim Demaille  <akim@lrde.epita.fr>
923         bitset: rename BITSET_VARRAY as BITSET_VECTOR
924         For consistency with the name of the file.
925         * doc/bitset.texi, lib/bitset.c, lib/bitset/base.h,
926         * lib/bitset/stats.c, lib/bitset/vector.c
927         (BITSET_VARRAY): Rename as...
928         (BITSET_VECTOR): this.
930 2018-11-28  Paul Eggert  <eggert@cs.ucla.edu>
932         strerror_r-posix: memmove, not memcpy
933         * lib/strerror_r.c (safe_copy): Use memmove, not memcpy,
934         since the source and destination might overlap in the call
935         ‘safe_copy (buf, buflen, strerror_r (errnum, buf, buflen))’.
936         Simplify.
938 2018-11-25  Akim Demaille  <akim@lrde.epita.fr>
940         bitsetv: new module
941         * lib/bitsetv.c, lib/bitsetv.h, modules/bitsetv: New.
943 2018-11-25  Akim Demaille  <akim@lrde.epita.fr>
945         bitset: add tests and doc
946         First stabs at providing a documentation and test for the bitset
947         module.
948         * doc/bitset.texi, modules/test-bitset, tests/bitset-tests.c: New.
950 2018-11-25  Akim Demaille  <akim@lrde.epita.fr>
952         bitset: new module
953         * lib/bitset.c, lib/bitset.h, lib/bitset/array.c,
954         * lib/bitset/array.h, lib/bitset/base.h, lib/bitset/expandable.c,
955         * lib/bitset/expandable.h, lib/bitset/list.c, lib/bitset/list.h,
956         * lib/bitset/stats.c, lib/bitset/stats.h, lib/bitset/vector.c,
957         * lib/bitset/vector.h, modules/bitset:
958         New.
960 2018-11-23  Bruno Haible  <bruno@clisp.org>
962         localename: Fix gettext test failures on mingw.
963         * lib/localename.c (gl_locale_name_posix): Convert the result of
964         gl_locale_name_environ to XPG syntax.
966 2018-11-23  Karl Berry  <karl@freefriends.org>
968         * config/srclistvars.txt,
969         * config/srclist.txt: remove all gettext references;
970         the gettext maintainers will sync as needed.
972 2018-11-21  Paul Eggert  <eggert@cs.ucla.edu>
974         mktime: add libc-config dependency
975         I missed this when we synced from glibc.
976         * modules/mktime (Depends-on): Add libc-config.
978 2018-11-13  Paul Eggert  <eggert@cs.ucla.edu>
980         longlong: fix comment typo
981         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Fix typo.
983 2018-11-11  Bruno Haible  <bruno@clisp.org>
985         havelib: Remove the need to include asm-underscore.m4.
986         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI_32BIT): New macro.
987         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Use it instead of
988         gl_HOST_CPU_C_ABI.
989         * modules/havelib (Files): Add host-cpu-c-abi.m4.
990         (Depends-on): Remove host-cpu-c-abi.
992 2018-11-03  Paul Eggert  <eggert@cs.ucla.edu>
994         parse-datetime: simplify test for mktime failure
995         * lib/parse-datetime.y (mktime_ok): Simplify.
996         Remove args TZ and T; no longer needed.  Callers changed.
998         posixtm: simplify test for mktime failure
999         * lib/posixtm.c (posixtime): Simplify.
1001         nstrftime: simplify test for mktime failure
1002         * lib/nstrftime.c (__strftime_internal): Simplify.
1004 2018-11-02  Paul Eggert  <eggert@cs.ucla.edu>
1006         gnulib-common.m4: port _Noreturn to C++
1007         Problem reported by Akim Demaille in:
1008         https://lists.gnu.org/r/bug-bison/2018-10/msg00067.html
1009         * m4/gnulib-common.m4 (gl_COMMON_BODY): If C++, use [[noreturn]].
1010         Merge adjustments from _Noreturn.h and from glibc into the non-C++
1011         version.
1012         * lib/_Noreturn.h: Match gnulib-common.
1014 2018-10-30  Bruno Haible  <bruno@clisp.org>
1016         gnu-make: Fix for NetBSD 8 'make'.
1017         Reported by Reuben Thomas in
1018         <https://lists.gnu.org/archive/html/bug-gnulib/2018-10/msg00135.html>.
1019         * m4/gnu-make.m4 (gl_GNU_MAKE): Use a heuristic based on the --version
1020         output, ignoring exit codes.
1022 2018-10-28  Bernhard Voelker  <mail@bernhard-voelker.de>
1024         maintainer-makefile: fix syntax-check rule for "same.h"
1025         * top/maint.mk (sc_prohibit_same_without_use): Adjust regex to check
1026         for 'same_nameat', too.
1028 2018-10-25  Paul Eggert  <eggert@cs.ucla.edu>
1030         havelib: fix nested ‘configure’ chatter
1031         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Don’t nest
1032         AC_CACHE_CHECK calls, which resulted in confusing output like
1033         “checking for the common suffixes of directories in the library
1034         search path... checking for 64-bit host... no lib,lib”.
1036         backupfile: tweak for better code
1037         * lib/backupfile.c: Sort include directives, and remove
1038         unnecessary <limits.h> include.
1039         (FALLTHROUGH): New macro, copied from other modules.
1040         (backupfile_internal): Use it to avoid code duplication.
1041         This lets GCC 8.2.1 generate better code by inlining the
1042         call to check_extension.
1044 2018-10-23  Paul Eggert  <eggert@cs.ucla.edu>
1046         backupfile: new dir_fd args
1047         New module opendirat with code taken from fts.
1048         Use this module to let backupfile use a directory file descriptor.
1049         * NEWS: Document the incompatible change.
1050         * lib/backup-find.c (find_backup_file_name):
1051         * lib/backup-rename.c (backup_file_rename):
1052         New arg DIR_FD.
1053         * lib/backupfile.c: Include stdint.h, for SIZE_MAX.
1054         (SIZE_MAX): Remove.
1055         Include opendirat.h rather than dirent--.h.
1056         (check_extension): New args DIR_FD and BASE_MAX.  All callers changed.
1057         (numbered_backup): New args DIR_FD and PNEW_FD.  All callers changed.
1058         (backupfile_internal): New arg DIR_FD.  All callers changed.
1059         * lib/fts.c: Include opendirat.h.
1060         (opendirat): Move to opendirat.c.
1061         * lib/opendirat.c, lib/opendirat.h, modules/opendirat: New files.
1062         * modules/backupfile (Depends-on): Remove dirfd, opendir.
1063         Add opendirat.
1064         * modules/fts (Depends-on): Remove fdopendir, openat-safer.
1065         Add opendirat.
1067 2018-10-23  Bruno Haible  <bruno@clisp.org>
1069         localename: Simplify support for per-thread locales on Solaris 11.4.
1070         * m4/intl-thread-locale.m4: Renamed from m4/intlsolaris.m4.
1071         (gt_INTL_THREAD_LOCALE_NAME): Renamed from gt_INTL_SOLARIS. Define
1072         HAVE_SOLARIS114_LOCALES instead of HAVE_NAMELESS_LOCALES.
1073         * lib/localename.c: Handle HAVE_SOLARIS114_LOCALES through Solaris
1074         specific code.
1075         * lib/localename-table.h: Update comments.
1076         * lib/localename-table.c: Update comments.
1077         * m4/localename.m4 (gl_LOCALENAME): Require gt_INTL_THREAD_LOCALE_NAME.
1078         Test for 'uselocale'. Don't invoke gt_INTL_SOLARIS.
1079         * m4/intl.m4 (AM_INTL_SUBDIR): Require gt_INTL_THREAD_LOCALE_NAME. Test
1080         for 'uselocale'. Set HAVE_NAMELESS_LOCALES.
1081         (gt_INTL_SUBDIR_CORE): Don't invoke gt_INTL_SOLARIS. Don't set
1082         HAVE_NAMELESS_LOCALES here.
1083         * modules/localename (Files): Add m4/intl-thread-locale.m4. Remove
1084         m4/intlsolaris.m4.
1085         * modules/gettext (Files): Likewise.
1087 2018-10-22  Bruno Haible  <bruno@clisp.org>
1089         std-gnu11: Support Autoconf versions < 2.64.
1090         * m4/std-gnu11.m4 (AC_PROG_CC, AC_PROG_CXX): Use _AC_DO as fallback
1091         when _AC_DO_LIMIT does not exist.
1093 2018-10-22  Bruno Haible  <bruno@clisp.org>
1095         Assume Autoconf >= 2.63.
1096         * DEPENDENCIES: Mention the requirement.
1098         * gnulib-tool (DEFAULT_AUTOCONF_MINVERSION): Bump to 2.63.
1099         (func_get_filelist): Don't list m4/onceonly.m4 any more.
1100         * pygnulib/GLModuleSystem.py (getFiles): Likewise.
1101         * m4/onceonly.m4: Remove file.
1103         * m4/openmp.m4: Remove file.
1104         * modules/openmp (Files): Remove m4/openmp.m4.
1106         * m4/configmake.m4 (gl_CONFIGMAKE_PREP): Don't set datarootdir, docdir,
1107         htmldir, dvidir, pdfdir, psdir, localedir.
1108         * m4/po.m4 (AM_PO_SUBDIRS): Don't set localedir.
1110         * m4/gnulib-common.m4 (m4_foreach_w): Remove fallback for
1111         Autoconf < 2.60.
1112         (AC_PROG_MKDIR_P): Remove definition for Autoconf < 2.62.
1113         (AC_PROG_SED): Remove fallback for Autoconf < 2.60.
1115         * m4/errno_h.m4 (AC_COMPUTE_INT): Remove fallback for Autoconf < 2.61.
1116         * m4/size_max.m4 (AC_COMPUTE_INT): Likewise.
1117         * m4/stdint.m4 (AC_COMPUTE_INT): Likewise.
1119         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Assume AC_USE_SYSTEM_EXTENSIONS
1120         exists.
1121         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Likewise,
1123         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Remove workaround for
1124         Autoconf < 2.61.
1126         * m4/lib-prefix.m4 (AC_LIB_ARG_WITH): Remove macro.
1127         (AC_LIB_PREFIX): Use AC_ARG_WITH, assuming semantics of
1128         Autoconf >= 2.52.
1130         * m4/longlong.m4: Require Autoconf >= 2.62. Update comments.
1131         * m4/ls-mntd-fs.m4: Require Autoconf >= 2.60. Update comments.
1132         * m4/gettext.m4 (AM_GNU_GETTEXT): Update comment.
1134 2018-10-22  Bruno Haible  <bruno@clisp.org>
1136         Assume Automake >= 1.11.
1137         * m4/configmake.m4: Update comments.
1138         * m4/lib-link.m4 (AC_LIB_RPATH): Assume AC_REQUIRE_AUX_FILE exists.
1139         * m4/po.m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Eliminate uses
1140         of 'eval'.
1141         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am,
1142         func_create_testdir, func_create_megatestdir): Emit a Makefile.am that
1143         requires Automake >= 1.11.
1145 2018-10-22  Bruno Haible  <bruno@clisp.org>
1147         localename: Fix typo in comment.
1148         * tests/test-locale-c++.cc (newlocale): Fix typo in comment.
1150 2018-10-22  Bruno Haible  <bruno@clisp.org>
1152         Fix failure of 'gnulib-tool --create-testdir' with all modules.
1153         * gnulib-tool (func_create_testdir): Exclude 'timevar' module.
1155 2018-10-21  Bruno Haible  <bruno@clisp.org>
1157         locale: Ease integration with GNU libintl.
1158         * lib/locale.in.h (GNULIB_defined_newlocale, GNULIB_defined_duplocale,
1159         GNULIB_defined_freelocale): New macros.
1161 2018-10-21  Bruno Haible  <bruno@clisp.org>
1163         localename: Fine-tune support for per-thread locales on Solaris 11.4.
1164         * lib/localename-table.h: New file, extracted from lib/localename.c.
1165         * lib/localename-table.c: Likewise.
1166         * lib/localename.c: Include localename-table.h.
1167         (get_locale_t_name, newlocale, duplocale, freelocale): Invoke
1168         locale_hash_function instead of pointer_hash.
1169         * modules/localename (Files): Add lib/localename-table.h,
1170         lib/localename-table.c.
1171         (lib_SOURCES): Add localename-table.c.
1172         * m4/intlsolaris.m4 (gt_INTL_SOLARIS): Require AC_CANONICAL_HOST. Test
1173         for Solaris 11.4 locale system only on Solaris. Test for it
1174         independently whether getlocalename_l exists.
1175         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Don't test for 'uselocale' and
1176         'getlocalename_l'. Instead, invoke gt_INTL_SOLARIS. Set
1177         HAVE_NAMELESS_LOCALES.
1178         * modules/gettext (Files): Add m4/intlsolaris.m4.
1180 2018-10-21  Bruno Haible  <bruno@clisp.org>
1182         Small update from gettext.
1183         * m4/intl.m4: Update from gettext:
1184         - 2018-01-02: Fix 'ar' invocation when cross-compiling and in 64-bit
1185         mode on AIX.
1186         - 2018-01-02: Don't use -lc explicitly when linking with libtool.
1187         - 2017-05-19: (AM_INTL_SUBDIR): Require AC_C_FLEXIBLE_ARRAY_MEMBER.
1189 2018-10-16  Bruno Haible  <bruno@clisp.org>
1191         mountlist: Remove support for Cray with UNICOS 9.
1192         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't define
1193         MOUNTED_LISTMNTENT.
1194         * lib/mountlist.c: Remove MOUNTED_LISTMNTENT case.
1196 2018-10-16  Bruno Haible  <bruno@clisp.org>
1198         fsusage, mountlist, getloadavg, getgroups: Remove support for Ultrix.
1199         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't define
1200         STAT_STATFS2_FS_DATA.
1201         * lib/fsusage.c: Remove STAT_STATFS2_FS_DATA case.
1202         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't define
1203         MOUNTED_GETMNT.
1204         * lib/mountlist.c: Remove MOUNTED_GETMNT case.
1205         * lib/getloadavg.c (decstation): Remove definition and case.
1206         * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Mention NeXTstep, not Ultrix.
1207         * lib/getgroups.c: Likewise.
1208         * doc/posix-functions/getgroups.texi: Likewise.
1209         * lib/time.in.h: Update comments.
1211 2018-10-16  Bruno Haible  <bruno@clisp.org>
1213         getloadavg: Remove support for ConvexOS.
1214         * lib/getloadavg.c: Remove convex case.
1216 2018-10-16  Bruno Haible  <bruno@clisp.org>
1218         getloadavg: Remove support for Sony NEWS.
1219         * lib/getloadavg.c: Remove sony_news case.
1221 2018-10-16  Bruno Haible  <bruno@clisp.org>
1223         fsusage, mountlist, getloadavg: Remove support for Dynix/ptx.
1224         * lib/fsusage.c: Remove _SEQUENT_ case.
1225         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Update comments.
1226         * lib/mountlist.c: Don't test for MNTTABNAME.
1227         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Don't test for libseq.
1228         (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't test for MNTTABNAME.
1229         * lib/getloadavg.c: Remove _SEQUENT_ and sequent cases.
1230         * lib/stat-size.h: Don't mention the Sequent bug.
1231         * doc/posix-functions/utime.texi: Don't mention the Dynix bug.
1233 2018-10-16  Bruno Haible  <bruno@clisp.org>
1235         fsusage: Remove support for AIX 3.
1236         * lib/fsusage.c: Remove code for AIX 3.
1237         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Update comments.
1239 2018-10-16  Bruno Haible  <bruno@clisp.org>
1241         fsusage, stat-size, getloadavg: Remove support for AIX PS/2.
1242         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for dustat.h.
1243         * lib/fsusage.c: Remove code for AIX PS/2.
1244         * lib/stat-size.h (ST_NBLOCKSIZE): Likewise.
1245         * lib/getloadavg.c: Likewise.
1247 2018-10-16  Bruno Haible  <bruno@clisp.org>
1249         getloadavg: Remove support for HP-UX on m68k.
1250         * lib/getloadavg.c: Remove hp9000s300 case.
1252 2018-10-16  Bruno Haible  <bruno@clisp.org>
1254         fsusage, mountlist: Remove support for DolphinOS (an SVR3 variant).
1255         * lib/fsusage.c: Remove DOLPHIN case.
1256         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Update comments.
1257         * lib/mountlist.c: Remove MOUNTED_GETMNTTBL case.
1259 2018-10-16  Bruno Haible  <bruno@clisp.org>
1261         getloadavg: Remove support for Alliant FX/2800.
1262         * lib/getloadavg.c: Remove alliant case.
1264 2018-10-16  Bruno Haible  <bruno@clisp.org>
1266         getloadavg: Remove support for tek4300.
1267         * lib/getloadavg.c: Remove tek4300 case.
1269 2018-10-16  Bruno Haible  <bruno@clisp.org>
1271         getloadavg: Remove support for Ardent.
1272         * lib/getloadavg.c: Remove ardent case.
1274 2018-10-16  Bruno Haible  <bruno@clisp.org>
1276         mountlist: Remove support for SVR2.
1277         Reported by Andrew Borodin <aborodin@vmail.ru> in
1278         <https://lists.gnu.org/archive/html/bug-gnulib/2018-10/msg00101.html>.
1279         * lib/mountlist.c: Remove MOUNTED_FREAD case.
1280         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't define
1281         MOUNTED_FREAD.
1283 2018-10-15  Paul Eggert  <eggert@cs.ucla.edu>
1285         libc-config: merge from glibc
1286         * lib/cdefs.h (__glibc_has_attribute): New macro.
1288         regex: depend on libc-config
1289         * modules/regex (Depends-on): Add libc-config.
1290         This is needed after the recent autoupdate from glibc.
1292 2018-10-14  Bruno Haible  <bruno@clisp.org>
1294         localename: Add support for per-thread locales on Solaris 11.4.
1295         * lib/locale.in.h (newlocale, freelocale): New declarations.
1296         (duplocale): Declare also when the 'localename' module requests it.
1297         * lib/localename.c (struniq_hash_node): Renamed from hash_node.
1298         (STRUNIQ_HASH_TABLE_SIZE): Renamed from HASH_TABLE_SIZE.
1299         (struniq): Update.
1300         (struct locale_categories_names, struct locale_hash_node): New types.
1301         (LOCALE_HASH_TABLE_SIZE): New constant.
1302         (locale_hash_table, locale_lock): New variables.
1303         (pointer_hash, get_locale_t_name): New functions.
1304         (newlocale, duplocale, freelocale): New overridden functions.
1305         (gl_locale_name_thread_unsafe): Use get_locale_t_name.
1306         * m4/intlsolaris.m4: New file.
1307         * m4/localename.m4 (gl_LOCALENAME): Require gl_LOCALE_H_DEFAULTS. Invoke
1308         gt_INTL_SOLARIS. Set HAVE_NEWLOCALE, HAVE_DUPLOCALE, HAVE_FREELOCALE,
1309         REPLACE_NEWLOCALE, REPLACE_DUPLOCALE, REPLACE_FREELOCALE.
1310         * m4/locale_h.m4 (gl_LOCALE_H): Test whether newlocale, freelocale are
1311         declared.
1312         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_LOCALENAME, HAVE_NEWLOCALE,
1313         HAVE_FREELOCALE, REPLACE_NEWLOCALE, REPLACE_FREELOCALE.
1314         * modules/locale (Makefile.am): Substitute GNULIB_LOCALENAME,
1315         HAVE_NEWLOCALE, HAVE_FREELOCALE, REPLACE_NEWLOCALE, REPLACE_FREELOCALE.
1316         * modules/localename (Files): Add intlsolaris.m4.
1317         (Depends-on): Add 'locale'.
1318         (configure.ac): Invoke gl_LOCALE_MODULE_INDICATOR.
1319         * tests/test-locale-c++.cc (newlocale, freelocale): Prepare for checking
1320         the signatures.
1322 2018-10-14  Akim Demaille  <akim@lrde.epita.fr>
1324         timevar: use gethrxtime to get wall clock time
1325         clock_gettime is not portable.  gethrxtime takes the best available
1326         option to get the wall clock time, including clock_gettime (monotonic
1327         clock), and gettime (non monotonic).
1328         Also, using xtime_t instead of float preserves the precision.
1329         Suggested by Bruno Haible.
1330         * lib/xtime.h (xtime_make): Handle overflows of nanoseconds.
1331         * modules/timevar (Depends-on): We need gethrxtime.
1332         We no longer use times().
1333         (Link): Update.
1334         * lib/timevar.h (timevar_time_def): Use xtime_t.
1335         * lib/timevar.c (set_to_current_time): Use gethrxtime.
1336         (timevar_print): Instead of checking whether the timings themselves
1337         are large enough for the timevar to be printed, check the percentages.
1339 2018-10-14  Bruno Haible  <bruno@clisp.org>
1341         wcsnrtombs: Work around Solaris 11.4 bug.
1342         * m4/wcsnrtombs.m4 (gl_WCSNRTOMBS_WORKS_IN_TRADITIONAL_LOCALE): New
1343         macro.
1344         (gl_FUNC_WCSNRTOMBS): Invoke it.
1345         * doc/posix-functions/wcsnrtombs.texi: Mention the Solaris bug.
1347 2018-10-14  Bruno Haible  <bruno@clisp.org>
1349         mbsnrtowcs: Work around Solaris 11.4 bug.
1350         * m4/mbsnrtowcs.m4 (gl_MBSNRTOWCS_WORKS_IN_TRADITIONAL_LOCALE): New
1351         macro.
1352         (gl_FUNC_MBSNRTOWCS): Invoke it.
1353         * doc/posix-functions/mbsnrtowcs.texi: Mention the Solaris bug.
1355 2018-10-14  Bruno Haible  <bruno@clisp.org>
1357         doc: Update for Solaris 11.4.
1358         * doc/**/*.texi: For bugs that exist in both Solaris 11.3 and 11.4,
1359         mention Solaris 11.4.
1360         * m4/printf.m4: Update comments about Solaris.
1361         * m4/log.m4: Likewise.
1362         * m4/log10.m4: Likewise.
1363         * m4/logb.m4: Likewise.
1364         * m4/logbf.m4: Likewise.
1365         * m4/logbl.m4: Likewise.
1366         * m4/rename.m4: Likewise.
1367         * m4/wcrtomb.m4: Likewise.
1368         * m4/hostent.m4: Likewise.
1369         * m4/servent.m4: Likewise.
1371 2018-10-14  Bruno Haible  <bruno@clisp.org>
1373         floor, ceil, trunc, truncf, truncl: Defeat GCC optimizations.
1374         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Use 'floor' also through a function
1375         pointer.
1376         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use 'ceil' also through a function
1377         pointer.
1378         * m4/trunc.m4 (gl_FUNC_TRUNC): Use 'trunc' also through a function
1379         pointer.
1380         * m4/truncf.m4 (gl_FUNC_TRUNCF): Use 'truncf' also through a function
1381         pointer.
1382         * m4/truncl.m4 (gl_FUNC_TRUNCL): Use 'truncl' also through a function
1383         pointer.
1385 2018-10-13  Akim Demaille  <akim@lrde.epita.fr>
1387         bootstrap: fix wget command for po files.
1388         * build-aux/bootstrap (po_download_command_format): Fix comment,
1389         and adjust callers.
1391 2018-10-13  Akim Demaille  <akim@lrde.epita.fr>
1393         timevar: improve the output format
1394         Suggested by Bruno Haible.
1395         See https://lists.gnu.org/archive/html/bug-gnulib/2018-10/msg00040.html.
1396         * lib/timevar.c (timevar_print): Use %7.3f for usr/sys and %11.6f for
1397         wall, since its resolution is much higher.
1399 2018-10-13  Akim Demaille  <akim@lrde.epita.fr>
1401         timevar: expect that getrusage is available.
1402         Don't keep both times and getrusage as backend: both are guaranteed by
1403         gnulib, a single one suffices.  Using getrusage is open to possibly
1404         tracking other types of resources in the future.
1405         * modules/timevar (Depends-on): Add getrusage.
1406         (configure.ac): Remove gl_TIMEVAR.
1407         (Files): Remove m4/timevar.m4.
1408         * m4/timevar.m4: Remove, rely on gnulib for getrusage.
1409         * lib/timevar.h (timevar_enabled): Clarify documentation.
1410         * lib/timevar.c: Remove all the code about times.
1411         Remove all the CPP guards about getrusage: expect it to be present
1412         (courtesy of gnulib).
1414 2018-10-12  Bruno Haible  <bruno@clisp.org>
1416         mountlist: Improve support for Solaris in 64-bit mode.
1417         Reported by David Wood <David.Wood@deshaw.com> in
1418         <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=6816>.
1419         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): On Solaris 8 or
1420         newer, define MOUNTED_GETEXTMNTENT instead of MOUNTED_GETMNTENT2.
1421         * lib/mountlist.c: Add code for MOUNTED_GETEXTMNTENT case.
1423 2018-10-12  Bruno Haible  <bruno@clisp.org>
1425         mountlist: Add support for Minix.
1426         Reported by Assaf Gordon in
1427         <https://lists.gnu.org/archive/html/bug-gnulib/2014-09/msg00074.html>.
1428         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use
1429         AC_CHECK_FUNCS to check for 'getmntinfo'.
1430         * lib/mountlist.c: Update comments.
1432 2018-10-12  Bruno Haible  <bruno@clisp.org>
1434         Make better use of Autoconf.
1435         * m4/environ.m4: Use AC_CACHE_CHECK where possible.
1436         * m4/manywarnings.m4: Likewise.
1437         * m4/manywarnings-c++.m4: Likewise.
1438         * m4/socklen.m4: Likewise.
1439         * m4/sockpfaf.m4: Likewise.
1440         * m4/stdarg.m4: Likewise.
1441         * m4/visibility.m4: Likewise.
1442         * m4/fsusage.m4: Use AC_CACHE_CHECK where possible. Modernize
1443         indentation.
1444         * m4/ls-mntd-fs.m4: Likewise.
1446 2018-10-11  Bruno Haible  <bruno@clisp.org>
1448         mountlist: Modernize platform lists.
1449         * m4/ls-mntd-fs.m4: Clarify which MOUNTED_* symbol applies to which
1450         platforms, deemphasizing the obsolete ones.
1451         * lib/mountlist.c: Likewise.
1453 2018-10-11  Bruno Haible  <bruno@clisp.org>
1455         getprogname: Add support for 32-bit programs on HP-UX.
1456         * lib/getprogname.c (getprogname) [HP-UX]: If pstat_getproc fails,
1457         try the similar functions 32-bit programs on 64-bit HP-UX.
1459 2018-10-11  Bruno Haible  <bruno@clisp.org>
1461         getprogname: Work around program name truncation when possible.
1462         * lib/getprogname.c (getprogname) [HP-UX]: When pst_ucomm is truncated,
1463         possibly use pst_cmd instead.
1465 2018-10-08  Paul Eggert  <eggert@cs.ucla.edu>
1467         fts: cleanup after FTS_NOATIME removal
1468         * lib/fts_.h (FTS_VERBATIM, FTS_OPTIONMASK, FTS_NAMEONLY)
1469         (FTS_STOP): Shrink to minimal values.  We don’t need to
1470         worry about binary compatibility in Gnulib, and the old way
1471         of doing things had a hole in the user options that caused
1472         FTS_OPTIONMASK to not work as desired.
1474 2018-10-08  Bernhard Voelker  <mail@bernhard-voelker.de>
1476         fts: remove FTS_NOATIME
1477         This reverts commit da4d6974013c822af1498941e32db774b2031765.
1478         We cannot guarantee that O_NOATIME works: e.g. openat fails
1479         with EPERM if the effective user ID of the caller does not match
1480         the owner of the file and the caller is not privileged.
1481         Downstream findutils has never picked up FTS_NOATIME.  Discussed at
1482         <https://lists.gnu.org/r/bug-gnulib/2018-09/msg00122.html>.
1483         * lib/fts_.h (FTS_NOATIME): Remove bit flag.
1484         (FTS_OPTIONMASK): Adjust.
1485         * lib/fts.c (diropen, fts_open, fts_build): Likewise.
1486         (fd_ring_check): Likewise.
1488 2018-10-08  Bruno Haible  <bruno@clisp.org>
1490         csharpcomp*, csharpexec*: Remove support for pnet.
1491         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Don't test for cscc. Don't set
1492         HAVE_CSCC.
1493         * build-aux/csharpcomp.sh.in (options_cscc): Remove variable.
1494         Don't test HAVE_CSCC.
1495         * lib/csharpcomp.c (compile_csharp_using_pnet): Remove function.
1496         (compile_csharp_class): Don't invoke it.
1497         * m4/csharpexec.m4 (gt_CSHARPEXEC): Don't test for ilrun. Don't set
1498         HAVE_ILRUN.
1499         * build-aux/csharpexec.sh.in (options_ilrun): Remove variable.
1500         Don't test HAVE_ILRUN.
1501         * lib/csharpexec.c (execute_csharp_using_pnet): Remove function.
1502         (execute_csharp_program): Don't invoke it.
1503         * m4/csharp.m4 (gt_CSHARP_CHOICE): Don't recognize --enable-csharp=pnet
1504         any more.
1506 2018-10-07  Andreas Henriksson  <andreas@fatal.se>  (tiny change)
1508         renameatu: prefer renameat2 to syscall
1509         * lib/renameatu.c (renameatu) [HAVE_RENAMEAT2]:
1510         Use renameat2 instead of syscall (Bug#32796).
1511         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Check for renameat2.
1513 2018-10-07  Benno Schulenberg  <bensberg@telfort.nl>
1515         bootstrap, gnulib-tool: use https instead of insecure rsync
1516         * build-aux/bootstrap (download_po_files, po_download_command_format):
1517         Don't try using rsync; always use wget over https to fetch PO files.
1518         * gnulib-tool (func_import): Likewise.
1519         * pygnulib/GLImport.py (GLImport.execute): Likewise.
1521 2018-10-07  Benno Schulenberg  <bensberg@telfort.nl>
1523         bootstrap, gnulib-tool: correct the translations wget command
1524         * build-aux/bootstrap (po_download_command_format2): Restrict
1525         recursion to a single level.
1526         * gnulib-tool (func_import): Likewise.
1527         * pygnulib/GLImport.py (GLImport.execute): Likewise.
1529 2018-10-07  Akim Demaille  <akim@lrde.epita.fr>
1531         doc: the gnulib snapshots are not maintained
1532         * doc/gnulib-intro.texi (Steady Development): Don't mention them.
1534 2018-10-07  Akim Demaille  <akim@lrde.epita.fr>
1536         timevar: add to lib_SOURCES
1537         * modules/timevar (lib_SOURCES): Add timevar.c and timevar.def.
1539 2018-10-07  Bruno Haible  <bruno@clisp.org>
1541         dirent: Update documentation.
1542         * doc/posix-headers/dirent.texi: The MSVC issue is fixed by Gnulib.
1544 2018-10-05  Bruno Haible  <bruno@clisp.org>
1546         strpbrk: Make it possible to namespace the defined symbol.
1547         * lib/strpbrk.c (strpbrk): Don't undefine outside of glibc.
1549 2018-10-05  Bruno Haible  <bruno@clisp.org>
1551         strcspn: Make it possible to namespace the defined symbol.
1552         * lib/strcspn.c (strcspn): Don't undefine outside of glibc.
1554 2018-10-05  Bruno Haible  <bruno@clisp.org>
1556         raise: Make it possible to namespace the defined symbol.
1557         * lib/raise.c (raise): Undefine only after the replacement function has
1558         been defined.
1559         (raise): Renamed from rpl_raise.
1560         (raise_nothrow): Move to the end of the compilation unit.
1562 2018-10-05  Bruno Haible  <bruno@clisp.org>
1564         memcmp: Make it possible to namespace the defined symbol.
1565         * lib/memcmp.c (memcmp): Don't undefine outside of glibc.
1567 2018-10-05  Bruno Haible  <bruno@clisp.org>
1569         explicit_bzero: Make it possible to namespace the defined symbol.
1570         * lib/explicit_bzero.c (explicit_bzero): Don't undefine outside of
1571         glibc.
1573 2018-10-05  Bruno Haible  <bruno@clisp.org>
1575         mkdir-p: Depend on 'mkdir'.
1576         * modules/mkdir-p (Depends-on): Add 'mkdir'.
1578 2018-10-05  Bruno Haible  <bruno@clisp.org>
1580         tempname: Depend on 'mkdir'.
1581         Reported by Maarten Bosmans <mkbosmans@gmail.com>
1582         at <https://savannah.gnu.org/bugs/?33379>.
1583         * modules/tempname (Depends-on): Add 'mkdir'.
1585 2018-10-05  Akim Demaille  <akim@lrde.epita.fr>
1587         timevar: rely on gnulib modules for time portability.
1588         * modules/timevar (Depends-on): Add sys_time, sys_times, and times.
1589         * m4/timevar.m4: Don't check for clock_t and struct tms,
1590         guaranteed by gnulib.
1591         * lib/timevar.h: Use extern "C" protection.
1592         Include <stdio.h> for FILE.
1593         * lib/timevar.c: Include sys/time.h, sys/times.h unconditionally,
1594         they are guaranteed by gnulib.
1595         Remove uses of clock as (now useless) fallback.
1597 2018-10-04  Bruno Haible  <bruno@clisp.org>
1599         sh-filename: New module.
1600         * m4/sh-filename.m4: New file.
1601         * modules/sh-filename: New file.
1602         * lib/spawni.c (_PATH_BSHELL): Use BOURNE_SHELL instead of hardcoding
1603         "/bin/sh".
1604         * tests/test-posix_spawn1.c (main): Likewise.
1605         * tests/test-posix_spawn2.c (main): Likewise.
1606         * lib/javacomp.c (compile_using_envjavac, is_envjavac_gcj,
1607         is_envjavac_gcj43): Likewise.
1608         * lib/javaexec.c (execute_java_class): Likewise.
1609         * modules/posix_spawn-internal (Depends-on): Add sh-filename.
1610         * modules/posix_spawnp-tests (Depends-on): Likewise.
1611         * modules/javacomp (Depends-on): Likewise.
1612         * modules/javaexec (Depends-on): Likewise.
1614 2018-10-04  Bruno Haible  <bruno@clisp.org>
1616         spawn-pipe tests: Avoid test failure on native Windows.
1617         * tests/test-spawn-pipe-child.c (main): On native Windows, don't expect
1618         that fd 2 is closed.
1620 2018-10-04  Bruno Haible  <bruno@clisp.org>
1622         fcntl: Make it possible to namespace the defined symbol.
1623         * lib/fcntl.c (fcntl): Undefine only after the replacement function has
1624         been defined.
1625         (fcntl): Renamed from rpl_fcntl.
1626         (rpl_fcntl_DUPFD, rpl_fcntl_DUPFD_CLOEXEC): New functions, extracted
1627         from fcntl.
1628         (klibc_fcntl): Move to the end of the compilation unit.
1630 2018-10-02  Bruno Haible  <bruno@clisp.org>
1632         vasnprintf tests: Avoid test failure on HP-UX/hppa and IRIX.
1633         * tests/test-vasnprintf.c (test_function): Change the test added on
1634         2018-09-23 to check only the 18 most significant digits.
1636         vasnprintf tests: Avoid test failure on Cygwin.
1637         * tests/test-vasnprintf.c (test_function): Change the test added on
1638         2018-09-23 to check only the 42 most significant digits.
1640 2018-10-01  Bruno Haible  <bruno@clisp.org>
1642         mkostemp, mkostemps: Update documentation.
1643         * doc/glibc-functions/mkostemp.texi: Mention the Mac OS X issue.
1644         * doc/glibc-functions/mkostemps.texi: Likewise.
1646 2018-10-01  Tom Tromey  <tom@tromey.com>
1648         mkostemp, mkostemps: Fix compilation error in C++ mode on Mac OS X.
1649         * lib/stdlib.in.h: Include <unistd.h> for mkostemp and mkostemps
1650         on OS X.
1652 2018-09-30  Pádraig Brady  <P@draigBrady.com>
1654         hmac-*: refactor to remove repetitive code
1655         * lib/hmac.c: A new parameterized single implementation.
1656         * lib/hmac-md5.c: Define parameters and include implementation.
1657         * lib/hmac-sha1.c: Likewise.
1658         * lib/hmac-sha256.c: Likewise.
1659         * lib/hmac-sha512.c: Likewise.
1660         * modules/crypto/hmac-md5: Reference the new implementation file.
1661         * modules/crypto/hmac-sha1: Likewise.
1662         * modules/crypto/hmac-sha256: Likewise.
1663         * modules/crypto/hmac-sha512: Likewise.
1664         * tests/test-hmac-md5.c: Refactor common code to a single function.
1665         * tests/test-hmac-sha1.c: Likewise.
1666         * tests/test-hmac-sha256.c: Likewise.
1667         * tests/test-hmac-sha512.c: Likewise.
1669 2018-09-30  Zhang Qing  <zhangqingl@126.com>
1671         hmac-sha512: fix hash for keys > blocksize (128 bytes)
1672         * lib/hmac-sha512.c (hmac_sha512): Set the computed/shortened
1673         key length to that output by sha512, not the blocksize.
1674         Otherwise uninitialized data from the stack
1675         is used when computing the hash.
1676         * tests/test-hmac-sha512.c: Add a shortened key test case.
1677         Reported at https://github.com/coreutils/gnulib/pull/5
1679 2018-09-30  Bruno Haible  <bruno@clisp.org>
1681         vasnprintf: Avoid warnings from GCC's -Wsign-compare.
1682         Reported by Bjarni Ingi Gislason <bjarniig@rhi.hi.is> in
1683         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00105.html>.
1684         * lib/vasnprintf.c (VASNPRINTF): Cast 'count' from 'int' to
1685         'unsigned int' before comparison with an unsigned value.
1687 2018-09-30  Bruno Haible  <bruno@clisp.org>
1689         grantpt: Remove unnecessary dependency.
1690         * modules/grantpt (Depends-on): Remove 'builtin-expect'.
1692 2018-09-30  Bruno Haible  <bruno@clisp.org>
1694         timevar: Small tweaks.
1695         * lib/timevar.h: Fix comments. Add parameter names to function
1696         declarations.
1697         * lib/timevar.c: Include timevar.h immediately after config.h.
1698         * lib/timevar.def: Fix comments.
1699         * modules/timevar (Maintainer): List Akim Demaille.
1701 2018-09-30  Bruno Haible  <bruno@clisp.org>
1703         timevar: Include documentation in gnulib manual.
1704         * doc/timevar.texi: Change node and section name to 'Profiling of
1705         program phases'.
1706         In the code snippets, tweak the #includes and use GNU coding style.
1707         * doc/gnulib.texi: Include timevar.texi.
1709 2018-09-27  Akim Demaille  <akim@lrde.epita.fr>
1711         timevar: import from Bison.
1712         * m4/timevar.m4, modules/timevar, lib/timevar.h, lib/timevar.c:
1713         New files.
1714         * lib/timevar.def: New file.
1715         * doc/timevar.texi: New file.
1717 2018-09-26  Bruno Haible  <bruno@clisp.org>
1719         javacomp-script, javacomp: Add preliminary support for Java 12..17.
1720         * m4/javacomp.m4 (gt_JAVACOMP): Treat Java versions 12..17 like 11.
1721         * lib/javacomp.c (default_target_version): Likewise.
1723 2018-09-26  Bruno Haible  <bruno@clisp.org>
1725         javacomp-script, javacomp: Add support for Java 11.
1726         * m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 11 and
1727         target-version 11.
1728         * lib/javaversion.h: Update comments.
1729         * lib/javacomp.c (default_target_version, SOURCE_VERSION_BOUND,
1730         source_version_index, get_goodcode_snippet, get_failcode_snippet,
1731         TARGET_VERSION_BOUND, target_version_index,
1732         corresponding_classfile_version): Accept source_version 11 and
1733         target_version 11.
1734         * lib/javacomp.h: Update comments accordingly.
1736 2018-09-23  Bruno Haible  <bruno@clisp.org>
1738         vasnprintf: Fix heap memory overrun bug.
1739         Reported by Ben Pfaff <blp@cs.stanford.edu> in
1740         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00107.html>.
1741         * lib/vasnprintf.c (convert_to_decimal): Allocate one more byte of
1742         memory.
1743         * tests/test-vasnprintf.c (test_function): Add another test.
1745 2018-09-19  Paul Eggert  <eggert@cs.ucla.edu>
1747         maint: mktime.c now shared with glibc
1748         * config/srclist.txt: intprops.h, timegm.c and mktime.c
1749         are now the same in Gnulib and glibc.
1751         mktime: fix _LIBC typo
1752         * lib/mktime.c (mktime): Fix typo (misspelled "_LIBC").
1754 2018-09-19  Norihiro Tanaka  <noritnk@kcn.ne.jp>
1756         dfa: optimization for state merge
1757         * lib/dfa.c (merge2): New function.
1758         (merge_nfa_state): Use it.
1760 2018-09-18  Jim Meyering  <meyering@fb.com>
1762         dfa: trivial comment fix: s/is/if/
1763         * lib/dfa.c (maybe_disable_superset_dfa): Fix comment typo.
1765 2018-09-18  Paul Eggert  <eggert@cs.ucla.edu>
1767         dfa: use more-informative function name
1768         * lib/dfa.c (maybe_disable_superset_dfa):
1769         Rename from dfautf8noss.  Use change.
1771         dfa: tweak allocation performance
1772         * lib/dfa.c (merge_nfa_state, dfaoptimize):
1773         Prefer ptrdiff_t for indexes some more.
1774         Use char for flags, as it’s wide enough.
1775         Allocate queue and flags together, with one malloc call.
1776         No need to use xnmalloc since the multiplication and
1777         addition cannot overflow (it’s already been checked by
1778         earlier allocation).  Prefer memset to open-coding.
1780         dfa: prune states as we go
1781         * lib/dfa.c (prune): Remove.
1782         dfa: reorder enum for efficiency
1783         (merge_nfa_state): Prune as we go instead of at the end.
1784         Prefer ptrdiff_t for indexes, as this helps the compiler a bit.
1786         * lib/dfa.c (END): Now -1 again.  Reorder other elements
1787         of the enumeration to make it easier for GCC to generate
1788         efficient code by using fewer comparisons to check for
1789         ranges of values.
1790         (atom): Take advantage of the reordering.
1792 2018-09-18  Norihiro Tanaka  <noritnk@kcn.ne.jp>
1794         dfa: optimize alternation in NFA
1795         Even when similar states exist in alternation, the DFA treats them
1796         as separate items, which may complicate the transition in NFA and
1797         cause slowdown.  This change assembles the states into one.  For
1798         example, ab|ac is changed into a(b|c).  This change speeds-up
1799         matching for many branched patterns.  For example, grep speeds up
1800         more than 30× in:
1802           seq 10000 | sed 's/$/ abcdefghijklmnopqrstuvwxyz/; s/$/./' >in
1803           time -p env LC_ALL=C grep -vf in in
1805         * lib/dfa.c (prune): New function.
1806         (merge_nfa_state): New function.  It merges similar NFA states.
1807         (dfaoptimize): New function.  It seeks merged and removed nodes.
1808         (dfaanalyze): Call new function.
1809         (dfautf8noss): Change name from dfaoptimize because of addition of new
1810         function.
1811         (dfacomp): Update caller.
1813         dfa: simplify initial state
1814         Simplifying the initial state enables easier optimization of the NFA.
1815         * lib/dfa.c (enum token): Add new element BEG.
1816         (prtok): Adjust due to adding element BEG.
1817         (dfaparse): Put BEG at a head of tokens.
1818         (state_index): Adjust due to adding element BEG.
1819         (dfaanalyze): Concatenate BEG to other tokens, and simplify to
1820         build initial state.
1821         (dfamust): Adjust due to adding element BEG.  DFAMUST ignores it.
1823 2018-09-18  Bruno Haible  <bruno@clisp.org>
1825         file-has-acl: Fix test failure on Cygwin 2.9.
1826         * m4/acl.m4 (gl_FUNC_ACL): Update comments regarding Cygwin.
1827         * lib/acl-internal.h: Likewise.
1828         (HAVE_ACL_EXTENDED_FILE): Undefine on Cygwin.
1829         * lib/acl-internal.c: Update comments regarding Cygwin.
1830         * lib/acl_entries.c: Likewise.
1831         * lib/file-has-acl.c: Likewise.
1832         (file_has_acl): For Cygwin, use a different way to determine whether
1833         the "default" ACL of a directory is nontrivial.
1834         * lib/get-permissions.c: Update comments regarding Cygwin.
1835         * lib/set-permissions.c: Likewise.
1837 2018-09-18  Bruno Haible  <bruno@clisp.org>
1839         stat-time tests: Fix test failure on Cygwin.
1840         * tests/nap.h (nap_get_stat): Treat Cygwin like native Windows.
1842 2018-09-18  Paul Eggert  <eggert@cs.ucla.edu>
1844         doc: OS X 10.11 lacked ns time functions
1845         According to <https://github.com/zeromq/libzmq/issues/2175>,
1846         nanosecond-resolution timestamp functions were introduced
1847         in macOS 10.12, so document the last version (OS X 10.11)
1848         where they were absent.
1850         gettime: nanotime never existed
1851         Problem reported by Bruno Haible in:
1852         https://lists.gnu.org/r/bug-gnulib/2018-09/msg00082.html
1853         * lib/gettime.c (gettime) [HAVE_NANOTIME]: Remove unused code.
1854         * m4/gettime.m4 (gl_GETTIME): Don’t check for nanotime.
1856 2018-09-18  Bruno Haible  <bruno@clisp.org>
1858         doc: Update statement about target platforms.
1859         Reported by Simon Sobisch.
1860         * doc/gnulib-intro.texi (Target Platforms): Update. Mention
1861         restrictions on MSVC versions.
1863 2018-09-18  Bruno Haible  <bruno@clisp.org>
1865         posix_spawn tests: Fix link error on 64-bit Cygwin.
1866         * tests/test-posix_spawn1.c (environ): Remove declaration.
1867         * tests/test-posix_spawn2.c (environ): Likewise.
1868         * tests/test-posix_spawn3.c (environ): Likewise.
1869         * tests/test-posix_spawn4.c (environ): Likewise.
1870         * modules/posix_spawn-tests (Depends-on): Add 'environ'.
1871         * modules/posix_spawnp-tests (Depends-on): Likewise.
1873 2018-09-16  Paul Eggert  <eggert@cs.ucla.edu>
1875         timespec: new function current_timespec
1876         * lib/gettime.c (gettime): Prefer clock_gettime to nanotime,
1877         and don’t worry about it failing on a CLOCK_REALTIME arg.
1878         POSIX requires it to succeed and I don’t know of any
1879         counterexamples where the fallbacks would work.
1880         (current_timespec): New function, taken from Emacs.  It is more
1881         convenient than gettime, and can help register allocation.
1882         * lib/timespec.h: Include arg-nonnull.h.
1883         (current_timespec): New declaration.
1884         (gettime, settime): Declare args to be nonnull.
1885         * modules/timespec (Depends-on): Add snippet/arg-nonnull.
1887 2018-09-16  Bruno Haible  <bruno@clisp.org>
1889         setlocale: Improve locale handling on macOS 10.12 or newer.
1890         * lib/setlocale.c: Include header files for CoreFoundation. Declare
1891         gl_locale_name_canonicalize.
1892         (libintl_setlocale): Try harder to set a locale for categories LC_CTYPE
1893         and LC_MESSAGES.
1894         * m4/setlocale.m4 (gl_PREREQ_SETLOCALE): Add comment.
1896 2018-09-16  Bruno Haible  <bruno@clisp.org>
1898         Update list of locale names with scripts on macOS.
1899         * lib/localename.c (gl_locale_name_canonicalize): Update tables to
1900         match Mac OS X 10.13 and recent glibc.
1902 2018-09-16  Bruno Haible  <bruno@clisp.org>
1904         gettext: Use newer macOS APIs when possible.
1905         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Check for
1906         CFLocaleCopyPreferredLanguages.
1908 2018-09-16  Bruno Haible  <bruno@clisp.org>
1910         localename: Revisit macOS specific code.
1911         * lib/localename.c (gl_locale_name_default): Reduce code duplication.
1912         Fix comments about Mac OS X versions.
1914 2018-09-15  Bruno Haible  <bruno@clisp.org>
1916         setlocale: Improve support for locales not supported by libc.
1917         Reported by Dapeng Gao <peter@dpgao.cc> at
1918         <https://savannah.gnu.org/bugs/?54479>.
1919         * gettext-runtime/intl/setlocale.c: Include <stdio.h>.
1920         (libintl_setlocale): Use a more error-tolerant strategy when the locale
1921         to be set is not supported by libc: Emit warnings instead of failing.
1923 2018-09-15  Bruno Haible  <bruno@clisp.org>
1925         strstr, strcasestr: Add workaround against glibc-2.28 bug.
1926         Reported by Michael Brunnbauer via Siddhesh Poyarekar and Eric Blake.
1927         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Set
1928         gl_cv_func_strstr_works_always to 'no' on glibc 2.28.
1929         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Set
1930         gl_cv_func_strcasestr_works_always to 'no' on glibc 2.28.
1931         * doc/posix-functions/strstr.texi: Document the glibc 2.28 bug.
1932         * doc/glibc-functions/strcasestr.texi: Likewise.
1934 2018-09-14  Bruno Haible  <bruno@clisp.org>
1936         doc: Fix bottom of top-level page.
1937         Reported by Akim Demaille <akim.demaille@gmail.com> in
1938         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00072.html>.
1939         * doc/pastposix-functions/index.texi: Rename node to '_index' in HTML
1940         mode.
1941         * doc/gnulib.texi (Legacy Function Substitutes): Update menu
1942         accordingly.
1944 2018-09-12  Bruno Haible  <bruno@clisp.org>
1946         Add test case from a recent glibc bug.
1947         * tests/test-strstr.c (main): Add test of long needle.
1948         * tests/test-strcasestr.c (main): Likewise.
1949         * tests/test-c-strstr.c (main): Likewise.
1950         * tests/test-c-strcasestr.c (main): Likewise.
1951         * tests/test-memmem.c (main): Likewise.
1953 2018-09-12  Bruno Haible  <bruno@clisp.org>
1955         Apply Eric Blake's improvements from 2011-02-25 to more tests.
1956         * tests/test-c-strstr.c (main): Add the same tests here as well.
1958 2018-09-12  Bruno Haible  <bruno@clisp.org>
1960         Apply Jim Meyering's fix from 2015-01-11 to more tests.
1961         * tests/test-memmem.c (main): Free haystack.
1962         * tests/test-strcasestr.c (main): Likewise.
1963         * tests/test-c-strcasestr.c (main): Likewise.
1965 2018-09-11  Paul Eggert  <eggert@cs.ucla.edu>
1967         xstrtol: fix missing-TYPE_SIGNED typo
1968         * lib/xstrtol.c (TYPE_SIGNED): New macro, duplicating intprops.h.
1970 2018-09-10  Paul Eggert  <eggert@cs.ucla.edu>
1972         timespec: fix resolution confusion
1973         In normal usage, clock resolution is given in seconds, but the
1974         code was mistakenly using inverse seconds and calling it
1975         “resolution”.  Fix this, partly by renaming two identifiers.
1976         The old names will be kept for a bit, to ease transition.
1977         * lib/timespec.h (TIMESPEC_HZ, LOG10_TIMESPEC_HZ):
1978         New constants, replacing TIMESPEC_RESOLUTION and
1979         LOG10_TIMESPEC_RESOLUTION, which are now obsolescent.
1980         All uses changed.
1982 2018-09-09  Paul Eggert  <eggert@cs.ucla.edu>
1984         mktime: simplify in prep for glibc merge
1985         * lib/mktime.c, lib/timegm.c [_LIBC]:
1986         Include mktime-internal.h (a small file just for glibc)
1987         instead of using a typedef.
1989 2018-09-07  Paul Eggert  <eggert@cs.ucla.edu>
1991         intprops: minor clarification of code
1992         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW):
1993         Use _GL_INT_CONVERT rather than reinventing it.
1995 2018-09-07  Bruno Haible  <bruno@clisp.org>
1997         Fix a comment.
1998         * tests/test-posix_spawn3.c (parent_main): Fix typo in comment.
2000 2018-09-07  Bruno Haible  <bruno@clisp.org>
2002         posix_spawn_file_actions_addchdir: Add tests.
2003         * tests/test-posix_spawn_file_actions_addchdir.c: New file.
2004         * tests/test-posix_spawn4.c: New file.
2005         * modules/posix_spawn_file_actions_addchdir-tests: New file.
2007 2018-09-07  Bruno Haible  <bruno@clisp.org>
2009         posix_spawn_file_actions_addchdir: New module.
2010         Suggested by Eric Blake in
2011         <https://lists.gnu.org/archive/html/bug-findutils/2018-09/msg00007.html>.
2012         * lib/spawn.in.h (posix_spawn_file_actions_addchdir): New declaration.
2013         * lib/spawn_int.h (struct __spawn_action): Add tag 'spawn_do_chdir' and
2014         union member 'chdir_action'.
2015         * lib/spawn_faction_addchdir.c: New file.
2016         * lib/spawni.c (__spawni): Implement the spawn_do_chdir action.
2017         * lib/spawn_faction_addclose.c: Test REPLACE_POSIX_SPAWN instead of
2018         HAVE_WORKING_POSIX_SPAWN.
2019         * lib/spawn_faction_adddup2.c: Likewise.
2020         * lib/spawn_faction_addopen.c: Likewise.
2021         * m4/posix_spawn_faction_addchdir.m4: New file.
2022         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether module
2023         'posix_spawn_file_actions_addchdir' is present and whether
2024         posix_spawn_file_actions_addchdir_np exists. Define REPLACE_POSIX_SPAWN
2025         instead of HAVE_WORKING_POSIX_SPAWN.
2026         * m4/spawn_h.m4 (gl_SPAWN_H): Test whether
2027         posix_spawn_file_actions_addchdir is declared.
2028         (gl_SPAWN_H_DEFAULTS): Initialize
2029         GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR,
2030         HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR,
2031         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR.
2032         * modules/spawn (Makefile.am): Substitute
2033         GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR,
2034         HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR,
2035         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR.
2036         * modules/posix_spawn_file_actions_addchdir: New file.
2037         * modules/posix_spawn_file_actions_addclose (Depends-on,
2038         configure.ac): Test also REPLACE_POSIX_SPAWN.
2039         * modules/posix_spawn_file_actions_adddup2 (Depends-on,
2040         configure.ac): Likewise.
2041         * modules/posix_spawn_file_actions_addopen (Depends-on,
2042         configure.ac): Likewise.
2043         * tests/test-spawn-c++.cc (posix_spawn_file_actions_addchdir): Check
2044         signature.
2045         * doc/posix-functions/posix_spawn.texi: Mention the new module.
2046         * doc/posix-functions/posix_spawnp.texi: Likewise.
2048 2018-09-06  Bruno Haible  <bruno@clisp.org>
2050         stddef: Override max_align_t on NetBSD 8.0/x86.
2051         * m4/stddef_h.m4 (gl_STDDEF_H): When testing for max_align_t, test also
2052         the value of __alignof__ (max_align_t).
2053         * doc/posix-headers/stddef.texi: Mention the issue.
2055 2018-09-06  Bruno Haible  <bruno@clisp.org>
2057         fcntl: Fix F_DUPFD_CLOEXEC behaviour on Haiku.
2058         * lib/fcntl.c (rpl_fcntl): For F_DUPFD_CLOEXEC, don't even try the
2059         system fcntl.
2060         * doc/posix-functions/fcntl.texi: Document the issue.
2062 2018-09-06  Bruno Haible  <bruno@clisp.org>
2064         count-trailing-zeros tests: Rely on limits-h module.
2065         * tests/test-count-trailing-zeros.c (ULLONG_MAX): Remove fallback
2066         definition.
2067         * modules/count-trailing-zeros-tests (Depends-on): Add 'limits-h'.
2069 2018-09-06  Bruno Haible  <bruno@clisp.org>
2071         count-leading-zeros tests: Rely on limits-h module.
2072         * tests/test-count-leading-zeros.c (ULLONG_MAX): Remove fallback
2073         definition.
2074         * modules/count-leading-zeros-tests (Depends-on): Add 'limits-h'.
2076 2018-09-06  Bruno Haible  <bruno@clisp.org>
2078         count-one-bits tests: Rely on limits-h module.
2079         * tests/test-count-one-bits.c (ULLONG_MAX): Remove fallback definition.
2080         * modules/count-one-bits-tests (Depends-on): Add 'limits-h'.
2082 2018-09-06  Bruno Haible  <bruno@clisp.org>
2084         xstrtoll: Rely on limits-h module.
2085         * lib/xstrtol.c: Don't include intprops.h.
2086         (ULLONG_MAX, LLONG_MAX, LLONG_MIN): Remove fallback definitions.
2087         * modules/xstrtol (Depends-on): Remove 'intprops'.
2088         * modules/xstrtoll (Depends-on): Add 'limits-h'.
2090 2018-09-06  Bruno Haible  <bruno@clisp.org>
2092         strtoll, strtoull: Rely on limits-h module.
2093         * lib/strtol.c (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove macros.
2094         (ULLONG_MAX, LLONG_MAX, LLONG_MIN): Remove fallback definitions.
2095         * modules/strtoll (Depends-on): Add limits-h.
2096         * modules/strtoull (Depends-on): Likewise.
2098 2018-09-06  Bruno Haible  <bruno@clisp.org>
2100         intprops tests: Fix compilation error with pre-C99 compiler.
2101         * tests/test-intprops.c (verify_stmt): New macro.
2102         (VERIFY, main): Use it.
2104 2018-09-06  Bruno Haible  <bruno@clisp.org>
2106         limits-h: Provide numerical limits macros.
2107         * lib/limits.in.h (LLONG_MIN, LLONG_MAX, ULLONG_MAX): Define also for
2108         IRIX and for GCC.
2109         (WORD_BIT, LONG_BIT): Define.
2110         * m4/limits-h.m4 (gl_LIMITS_H): Set LIMITS_H to non-empty also when
2111         <limits.h> does not define LLONG_MAX or WORD_BIT.
2112         * tests/test-limits-h.c (TYPE_SIGNED, TYPE_WIDTH, TYPE_MINIMUM,
2113         TYPE_MAXIMUM): New macros, from intprops.h.
2114         Add tests for CHAR_BIT, WORD_BIT, LONG_BIT, <type>_MIN, and <type>_MAX.
2115         * doc/posix-headers/limits.texi: Document what the 'limits-h' module
2116         provides.
2118 2018-09-05  Bruno Haible  <bruno@clisp.org>
2120         fcntl: Don't access nonexistent optional argument.
2121         Reported by Frank Busse <f.busse@imperial.ac.uk> in
2122         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00018.html>.
2123         * lib/fcntl.c (rpl_fcntl): For actions that don't take an argument,
2124         don't consume an argument. For actions that take an 'int' argument,
2125         consume an 'int' argument.
2127 2018-09-05  Eric Blake  <eblake@redhat.com>
2129         doc: mention environ pitfall
2130         * doc/posix-functions/environ.texi (environ): Assigning NULL to
2131         environ is a glibc extension.
2133 2018-09-03  Bruno Haible  <bruno@clisp.org>
2135         gnulib-tool: Fix build order when $testsbase is a subdir of $sourcebase.
2136         Reported by Antoine Luong <antoine.luong@c-s.fr> in
2137         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00008.html>.
2138         * gnulib-tool (func_import): For the tests, set a dotfirst flag.
2139         (func_emit_lib_Makefile_am): Consider the dotfirst flag.
2140         (func_emit_tests_Makefile_am): Don't consider the dotfirst flag.
2142 2018-09-02  Paul Eggert  <eggert@cs.ucla.edu>
2144         mktime: fix unlikely race+overflow bug
2145         Problem reported by Alexandre Oliva in:
2146         https://sourceware.org/bugzilla/show_bug.cgi?id=16346
2147         * lib/mktime.c (__mktime_internal): Access *OFFSET only once,
2148         to avoid an unlikely race if the compiler delays a load and
2149         if this cascades into a signed integer overflow.
2151 2018-08-31  Paul Eggert  <eggert@cs.ucla.edu>
2153         mktime, timegm: simplify glibc time64_t
2154         * lib/mktime.c, lib/timegm.c (mktime_offset_t) [_LIBC]:
2155         Now long int, not time_t, since long int is the longstanding type
2156         for this in glibc and there is no need to change it even if time_t
2157         becomes 64 bits - even int would do, though this would be a change
2158         to the glibc generated code.  When this change is merged into
2159         glibc, it should simplify the time_t vs time64_t situation.
2161         mktime, timegm: simplify merge to glibc
2162         Move code around to make a merge to glibc easier to audit.
2163         This should not change behavior.
2164         * lib/mktime.c (NEED_MKTIME_INTERNAL, NEED_MKTIME_WINDOWS)
2165         (NEED_MKTIME_WORKING): Give default values to pacify -Wundef,
2166         which glibc uses.  Default NEED_MKTIME_WORKING to DEBUG_MKTIME, to
2167         simplify later conditionals; default the others to zero.  In uses
2168         of these conditionals, explicitly spell out how _LIBC affects
2169         things, so it’s easier to review from a glibc viewpoint.
2170         (my_tzset, __tzset) [!_LIBC]: New function and macro, to better
2171         compartmentalize tzset issues.  Move system-dependent tzsettish
2172         code here from mktime.
2173         (mktime): Move tzsettish code to my_tzset, and move
2174         localtime_offset to within mktime so that it doesn’t
2175         need a separate ifdef.
2177 2018-08-27  Paul Eggert  <eggert@cs.ucla.edu>
2179         intprops: avoid evaluation of some expressions
2180         This makes EXPR_SIGNED (e) easier to use, as it no longer
2181         evaluates the expression E.  Formerly, E was required to be free
2182         of side effects.
2183         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT)
2184         (EXPR_SIGNED, TYPE_WIDTH, _GL_INT_MINIMUM, _GL_INT_MAXIMUM)
2185         (_GL_SIGNED_INT_MAXIMUM): Do not evaluate the expression arg.
2187 2018-08-23  Bruno Haible  <bruno@clisp.org>
2189         getcwd: Add cross-compilation guesses.
2190         Reported by Sergio Durigan Junior <sergiodj@redhat.com> in
2191         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00130.html>.
2192         Based on a patch by Paul Eggert.
2193         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Add cross-compilation
2194         guesses for all GNU systems.
2196 2018-08-19  Bruno Haible  <bruno@clisp.org>
2198         glob-h: Formalize side effects from other modules.
2199         * m4/glob_h.m4 (gl_REPLACE_GLOB_H): New macro.
2200         * m4/glob.m4 (gl_GLOB): Invoke it.
2202         fnmatch-h: Formalize side effects from other modules.
2203         * m4/fnmatch_h.m4 (gl_REPLACE_FNMATCH_H): New macro.
2204         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Invoke it.
2206         limits-h: Formalize side effects from other modules.
2207         * m4/limits-h.m4 (gl_REPLACE_LIMITS_H): New macro.
2208         * m4/stdint.m4 (gl_STDINT_H): Invoke it.
2210 2018-08-19  Bruno Haible  <bruno@clisp.org>
2212         getpass: Move declaration to <unistd.h>.
2213         * lib/unistd.in.h (getpass): New declaration.
2214         * lib/getpass.h: Replace with a stub that just includes <unistd.h>.
2215         * m4/getpass.m4 (gl_FUNC_GETPASS): Declare through AC_DEFUN_ONCE.
2216         Require gl_UNISTD_H_DEFAULTS. Don't test whether getpass is declared.
2217         (gl_FUNC_GETPASS_GNU): Require gl_UNISTD_H_DEFAULTS and gl_FUNC_GETPASS.
2218         On glibc systems, don't set REPLACE_GETPASS to 1.
2219         * modules/getpass (Depends-on): Add 'unistd'.
2220         (configure.ac): Test also REPLACE_GETPASS. Define a module indicator.
2221         (Include): Specify <unistd.h> instead of "getpass.h".
2222         * modules/getpass-gnu (Depends-on): Merely depend on 'getpass'.
2223         (configure.ac): Sync with the configure.ac section of modules/getpass.
2224         (Include): Specify <unistd.h> instead of "getpass.h".
2225         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether getpass is declared.
2226         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPASS, HAVE_GETPASS,
2227         REPLACE_GETPASS.
2228         * modules/unistd (Makefile.am): Substitute GNULIB_GETPASS, HAVE_GETPASS,
2229         REPLACE_GETPASS.
2230         * tests/test-unistd-c++.cc: Test also the declaration of 'getpass'.
2231         * doc/glibc-functions/getpass.texi: A length limit exists also on uClibc
2232         and musl.
2233         * NEWS: Mention the change.
2235 2018-08-19  Bruno Haible  <bruno@clisp.org>
2237         glob: Fix over-optimization due to attribute __nonnull__.
2238         * lib/glob.c (_GL_ARG_NONNULL): Define to empty.
2240 2018-08-19  Bruno Haible  <bruno@clisp.org>
2242         glob: Fix another compilation error when glob.h is not replaced.
2243         Reported by Reuben Thomas <rrt@sc3d.org> in
2244         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00112.html>.
2245         * m4/glob.m4 (gl_GLOB): Set GLOB_H to non-empty when needed.
2246         * m4/glob_h.m4 (gl_GLOB_H): Define through AC_DEFUN_ONCE.
2248 2018-08-18  Bruno Haible  <bruno@clisp.org>
2250         fnmatch: Avoid conflicting macro definitions of 'fnmatch'.
2251         Reported by Reuben Thomas <rrt@sc3d.org> in
2252         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00108.html>.
2253         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Don't define 'fnmatch' as a macro
2254         in config.h.
2256 2018-08-18  Bruno Haible  <bruno@clisp.org>
2258         Avoid -Wcast-function-type warnings from casts after GetProcAddress.
2259         Reported by Andy Moreton <andrewjmoreton@gmail.com> in
2260         <https://lists.gnu.org/archive/html/emacs-devel/2018-08/msg00468.html>.
2261         Solution proposed by Eli Zaretskii.
2262         * lib/getaddrinfo.c (GetProcAddress): Cast result to 'void *' first.
2263         * lib/gettimeofday.c (GetProcAddress): Likewise.
2264         * lib/link.c (GetProcAddress): Likewise.
2265         * lib/physmem.c (GetProcAddress): Likewise.
2266         * lib/poll.c (GetProcAddress): Likewise.
2267         * lib/select.c (GetProcAddress): Likewise.
2268         * lib/stat-w32.c (GetProcAddress): Likewise.
2270 2018-08-18  Bruno Haible  <bruno@clisp.org>
2272         glob: Fix another compilation error when glob.h is not replaced.
2273         Reported and fix proposed by Reuben Thomas <rrt@sc3d.org> again.
2274         * lib/globfree.c: Include <libc-config.h>.
2276 2018-08-18  Bruno Haible  <bruno@clisp.org>
2278         glob: Fix compilation error when glob.h is not replaced.
2279         Reported and fix proposed by Reuben Thomas <rrt@sc3d.org> in
2280         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00096.html>.
2281         * lib/glob_pattern_p.c: Include <libc-config.h>.
2282         * modules/glob (Depends-on): Add libc-config.
2284 2018-08-18  Bruno Haible  <bruno@clisp.org>
2286         scratch_buffer: Add tests.
2287         * tests/test-scratch-buffer.c: New file.
2288         * modules/scratch_buffer-tests: New file.
2290 2018-08-18  Bruno Haible  <bruno@clisp.org>
2292         scratch_buffer: Fix include file.
2293         Reported by Reuben Thomas <rrt@sc3d.org> in
2294         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00082.html>.
2295         * lib/scratch_buffer.h: Include <libc-config.h> first. Add
2296         double-inclusion guard.
2298 2018-08-18  Bruno Haible  <bruno@clisp.org>
2300         glob-h: Revert Paul Eggert's revert.
2301         * m4/glob_h.m4: Revert to previous state.
2302         * modules/glob-h: Likewise.
2304 2018-08-18  Paul Eggert  <eggert@cs.ucla.edu>
2306         glob-h: always build glob.h
2307         This works around a problem reported by Reuben Thomas in:
2308         http://lists.gnu.org/r/bug-gnulib/2018-08/msg00079.html
2309         This workaround always builds glob.h, even on platforms that
2310         do not need it; perhaps this could be improved someday.
2311         * m4/glob_h.m4 (gl_GLOB_H): Do not set or use GLOB_H, since glob.h
2312         is always created now.
2313         * modules/glob-h (BUILT_SOURCES, glob.h): Always build glob.h.
2315 2018-08-13  Bruno Haible  <bruno@clisp.org>
2317         monetary: Simplify m4 code.
2318         * m4/monetary_h.m4 (gl_MONETARY_H): Define through AC_DEFUN_ONCE.
2319         (gl_MONETARY_H_BODY): Inline into gl_MONETARY_H. Remove macro.
2321 2018-08-13  Bruno Haible  <bruno@clisp.org>
2323         fnmatch, fnmatch-gnu: Fix compilation error on Mac OS X.
2324         Reported by Jeroen Meijer <jjgmeijer@gmail.com> in
2325         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00046.html>
2326         and by Paul J. Lucas <paul@lucasmail.org> in
2327         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00069.html>.
2328         * m4/fnmatch_h.m4 (gl_FNMATCH_H): Define through AC_DEFUN_ONCE.
2330 2018-08-11  Bruno Haible  <bruno@clisp.org>
2332         setlocale: Trivial simplification.
2333         * lib/setlocale.c (setlocale_unixlike): Remove redundant #if.
2335 2018-08-11  Paul Eggert  <eggert@cs.ucla.edu>
2337         verify: port 'assume' to traditional tools
2338         * lib/verify.h (assume): Port better to Oracle Studio 12.6
2339         and other tools that use /*NOTREACHED*/ comments.
2341 2018-08-10  Bruno Haible  <bruno@clisp.org>
2343         fnmatch-gnu: Fix compilation error in C++ namespace mode on Mac OS X.
2344         * modules/fnmatch-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
2345         * lib/fnmatch.in.h (fnmatch): Skip _GL_CXXALIASWARN if module
2346         'fnmatch-gnu' is in use.
2348 2018-08-07  Bruno Haible  <bruno@clisp.org>
2350         glob-h: Add tests.
2351         * tests/test-glob-h.c: New file, partially based on tests/test-glob.c.
2352         * tests/test-glob.c: Reorder #includes. Remove tests that are moved to
2353         tests/test-glob-h.c.
2354         * modules/glob-h-tests: New file.
2355         * tests/test-glob-h-c++.cc: Renamed from tests/test-glob-c++.cc. Add
2356         conditions.
2357         * modules/glob-h-c++-tests: Renamed from modules/glob-c++-tests.
2358         * modules/glob-tests (Depends-on): Remove glob-c++-tests.
2360 2018-08-07  Bruno Haible  <bruno@clisp.org>
2362         glob-h: New module.
2363         * lib/glob.in.h: Use nearly the usual gnulib idioms for header file
2364         replacements.
2365         * lib/glob.c: Include <config.h>.
2366         * m4/glob_h.m4: New file.
2367         * m4/glob.m4 (gl_GLOB): Require gl_GLOB_H. Remove code that is moved to
2368         glob_h.m4. Set HAVE_GLOB, REPLACE_GLOB, HAVE_GLOB_PATTERN_P,
2369         REPLACE_GLOB_PATTERN_P as appropriate.
2370         (gl_PREREQ_GLOB): Don't require AC_C_RESTRICT and
2371         AC_USE_SYSTEM_EXTENSIONS, now done through module 'glob-h'.
2372         * modules/glob-h: New file.
2373         * modules/glob (Files): Remove lib/glob.in.h, lib/glob-libc.h.
2374         (Dependencies): Add glob-h. Remove extensions, snippet/*, libc-config,
2375         lstat, sys_stat. Change conditions.
2376         (configure.ac): Test HAVE_GLOB, REPLACE_GLOB, HAVE_GLOB_PATTERN_P,
2377         REPLACE_GLOB_PATTERN_P. Set module indicator.
2378         (Makefile.am): Remove code that is moved to glob-h.
2379         * doc/posix-headers/glob.texi: Mention the 'glob-h' module.
2380         * modules/posixcheck (Depends-on): Add glob-h.
2382 2018-08-06  Bruno Haible  <bruno@clisp.org>
2384         Force generation of substitute .h file when C++ support is enabled.
2385         * m4/ansi-c++.m4 (gl_ANSI_CXX): New macro.
2386         * modules/ansi-c++-opt (configure.ac): Just require gl_ANSI_CXX.
2387         * m4/fnmatch_h.m4 (gl_FNMATCH_H): If C++ support is enabled, set
2388         FNMATCH_H to non-empty.
2389         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): If C++ support is enabled, set
2390         ICONV_H to non-empty.
2391         * m4/monetary_h.m4 (gl_MONETARY_H_BODY): If C++ support is enabled, set
2392         MONETARY_H to non-empty.
2393         * m4/utime_h.m4 (gl_UTIME_H): If C++ support is enabled, set UTIME_H to
2394         non-empty.
2396 2018-08-06  Bruno Haible  <bruno@clisp.org>
2398         fnmatch-h: Fix test compilation error on mingw (regression from today).
2399         * lib/fnmatch.in.h: Fix conditions.
2401 2018-08-06  Bruno Haible  <bruno@clisp.org>
2403         sys_resource: Relicense under LGPLv2+.
2404         John Malmberg's approval is in
2405         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00031.html>.
2406         * modules/sys_resource (License): Change to LGPLv2+.
2408 2018-08-06  Bruno Haible  <bruno@clisp.org>
2410         fnmatch-h: Add tests.
2411         * tests/test-fnmatch-h.c: New file.
2412         * modules/fnmatch-h-tests: New file.
2413         * tests/test-fnmatch-h-c++.cc: New file.
2414         * modules/fnmatch-h-c++-tests: New file.
2416 2018-08-06  Bruno Haible  <bruno@clisp.org>
2418         fnmatch-h: New module.
2419         * lib/fnmatch.in.h: Use the usual gnulib idioms for header file
2420         replacements.
2421         (FNM_*): Don't redefine if fnmatch exists and we are not overriding it.
2422         (fnmatch): Use the usual gnulib idiom for function declarations. Enable
2423         'posixcheck' warning.
2424         * m4/fnmatch_h.m4: New file.
2425         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Require gl_FNMATCH_H. Remove
2426         code that is moved to fnmatch_h.m4. When fnmatch does not exist, don't
2427         bother testing whether it is working. Set HAVE_FNMATCH, REPLACE_FNMATCH
2428         as appropriate.
2429         * modules/fnmatch-h: New file.
2430         * modules/fnmatch (Files): Remove lib/fnmatch.in.h.
2431         (Dependencies): Add fnmatch-h. Remove extensions, snippet/*. Change
2432         conditions.
2433         (configure.ac): Test HAVE_FNMATCH and REPLACE_FNMATCH. Set module
2434         indicator.
2435         (Makefile.am): Remove code that is moved to fnmatch-h.
2436         * modules/fnmatch-gnu (configure.ac): Test HAVE_FNMATCH and
2437         REPLACE_FNMATCH.
2438         * doc/posix-headers/fnmatch.texi: Mention the 'fnmatch-h' module.
2439         * modules/posixcheck (Depends-on): Add fnmatch-h.
2441 2018-08-06  Bruno Haible  <bruno@clisp.org>
2443         Enable more C++ tests.
2444         * modules/inttypes-tests (Depends-on): Add inttypes-c++-tests.
2445         * modules/monetary-tests (Depends-on): Add monetary-c++-tests.
2446         * modules/strings-tests (Depends-on): Add strings-c++-tests.
2447         * modules/sys_resource-tests (Depends-on): Add sys_resource-c++-tests.
2448         * modules/utime-h-tests (Depends-on): Add utime-h-c++-tests.
2450 2018-08-06  Bruno Haible  <bruno@clisp.org>
2452         getopt-posix, utime-h: Ensure the .h file gets regenerated when needed.
2453         * modules/getopt-posix (Makefile.am): Add Makefile dependency for
2454         getopt.h.
2455         * modules/utime-h (Makefile.am): Add Makefile dependency for utime.h.
2457 2018-08-05  Bruno Haible  <bruno@clisp.org>
2459         utime-h: Generate header file when module 'posixcheck' is in use.
2460         * m4/utime_h.m4 (gl_UTIME_H): If module 'posixcheck' is in use, set
2461         UTIME_H to non-empty.
2463 2018-08-05  Bruno Haible  <bruno@clisp.org>
2465         monetary: Generate header file when module 'posixcheck' is in use.
2466         * m4/monetary_h.m4 (gl_MONETARY_H_BODY): If module 'posixcheck' is in
2467         use, set MONETARY_H to non-empty.
2469 2018-08-05  Bruno Haible  <bruno@clisp.org>
2471         iconv-h: Generate header file when module 'posixcheck' is in use.
2472         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): If module 'posixcheck' is in use,
2473         set ICONV_H to non-empty.
2475 2018-08-05  Bruno Haible  <bruno@clisp.org>
2477         Optimize the "checking whether ... is declared without a macro" checks.
2478         Suggested by Paul Eggert in
2479         <https://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00339.html>.
2480         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Expand to nothing if the
2481         Gnulib module 'posixcheck' is not in use.
2483 2018-08-05  Bruno Haible  <bruno@clisp.org>
2485         iconv-h: Enable 'posixcheck' warnings.
2486         * m4/iconv_h.m4 (gl_ICONV_H): Check for declarations of iconv and
2487         iconv_open.
2488         * lib/iconv.in.h (iconv_open, iconv): Use _GL_WARN_ON_USE.
2490 2018-08-05  Bruno Haible  <bruno@clisp.org>
2492         Fix link error regarding 'rpl_environ' (regression from 2012-11-21).
2493         * m4/extern-inline.m4: Add more comments.
2494         * lib/warn-on-use.h (_GL_WARN_ON_USE_ATTRIBUTE): New macro.
2495         * lib/unistd.in.h (rpl_environ): Use it instead of _GL_WARN_ON_USE.
2496         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL): Likewise.
2498 2018-08-04  Bruno Haible  <bruno@clisp.org>
2500         New module 'posixcheck'.
2501         * modules/posixcheck: New file.
2502         * m4/posixcheck.m4: New file.
2503         * doc/gnulib-tool.texi (Finding POSIX substitutes): New section.
2504         (Which modules?): Reference it.
2506 2018-08-01  Assaf Gordon  <assafgordon@gmail.com>
2508         dfa: fix memory leak
2509         * lib/dfa.c (dfafree): Add missing free() on dfa->superset.
2511 2018-08-01  Paul Eggert  <eggert@cs.ucla.edu>
2513         ieee754-h: new module
2514         It looks like Emacs can use this for some NaN processing.
2515         Emacs uses it only on double NaNs so it should be safe.
2516         * MODULES.html.sh (func_all_modules): Add ieee754-h.
2517         * config/srclist.txt: Mention ieee754.h in a comment.
2518         * doc/glibc-headers/ieee754.texi (ieee754.h):
2519         Gnulib now has a substitute that should work
2520         except for long double and for non-IEEE platforms.
2521         * lib/ieee754.in.h, m4/ieee754-h.m4, modules/ieee754-h:
2522         * modules/ieee754-h-tests, tests/test-ieee754-h.c: New files.
2524 2018-07-27  Bruno Haible  <bruno@clisp.org>
2526         iswcntrl: Mention minor problem on macOS.
2527         * doc/posix-functions/iswcntrl.texi: Mention oddity on macOS.
2529 2018-07-26  Colin Watson  <cjwatson@debian.org>
2531         bootstrap, gnulib-tool: fix translations rsync
2532         Previously, we created files such as $pobase/Makefile.in.in and then the
2533         subsequent rsync would immediately delete them.
2534         * build-aux/bootstrap (po_download_command_format): Avoid deleting
2535         non-.po files in target directory when rsyncing translations.
2536         * gnulib-tool (func_import): Likewise.
2537         * pygnulib/GLImport.py (GLImport.execute): Likewise.
2539 2018-07-25  Jim Meyering  <meyering@fb.com>
2541         bootstrap: reinstate definition fo gnulib_mk.
2542         That variable is used at least by cppi.
2543         * build-aux/bootstrap (gnulib_mk): Restore definition.
2544         This reverts the deletion from v0.1-1844-gc66dba9ba.
2546 2018-07-23  Bruno Haible  <bruno@clisp.org>
2548         doc: For module names, use texinfo markup @code{} or @samp{}.
2549         * doc/alloca.texi: Mark gnulib module names with @code.
2550         * doc/alloca-opt.texi: Likewise.
2551         * doc/quote.texi: Likewise.
2552         * doc/posix-functions/freopen.texi: Likewise.
2553         * doc/posix-functions/open.texi: Likewise.
2554         * doc/posix-functions/readlink.texi: Likewise.
2555         * doc/posix-functions/readlinkat.texi: Likewise.
2556         * doc/posix-functions/stdout.texi: Likewise.
2557         * doc/posix-functions/stderr.texi: Likewise.
2558         * doc/posix-functions/unlink.texi: Likewise.
2559         * doc/posix-functions/unlinkat.texi: Likewise.
2560         * doc/posix-functions/utime.texi: Likewise.
2561         * doc/posix-functions/utimensat.texi: Likewise.
2562         * doc/posix-functions/utimes.texi: Likewise.
2563         * doc/posix-headers/stdint.texi: Likewise.
2564         * doc/glibc-functions/futimesat.texi: Likewise.
2565         * doc/glibc-functions/lutimes.texi: Likewise.
2566         * doc/glibc-functions/memmem.texi: Likewise.
2568 2018-07-23  Werner LEMBERG  <wl@gnu.org>
2570         doc: Avoid some overfull lines in the TeX output.
2571         * doc/glibc-functions/futimesat.texi: Replace a long @code with a
2572         @example.
2573         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Insert a
2574         newline before the long URL.
2575         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Likewise.
2576         * doc/relocatable-maint.texi: Use @smallexample instead of @example.
2577         Add line breaks in code snippets.
2579 2018-07-17  Paul Eggert  <eggert@cs.ucla.edu>
2581         hard-locale: simplify by removing hard-locale.m4
2582         * m4/hard-locale.m4: Remove.
2583         * modules/hard-locale (Files): Remove m4/hard-locale.m4.
2584         (configure.ac): Do not call gl_HARD_LOCALE.
2586         gnulib-tool: limit line length for git send-email
2587         * gnulib-tool (func_import): Break actioncmd log line
2588         into multiple lines.
2590 2018-07-16  Bruno Haible  <bruno@clisp.org>
2592         ffs: Ensure declaration on mingw.
2593         Reported by Daniel P. Berrangé <berrange@redhat.com>
2594         in https://lists.gnu.org/archive/html/bug-gnulib/2018-07/msg00061.html.
2595         * m4/ffs.m4 (gl_FUNC_FFS): Check whether ffs() not only exists but is
2596         also declared.
2598 2018-07-13  Paul Eggert  <eggert@cs.ucla.edu>
2600         regex-tests: add dependency
2601         * modules/regex-tests (Depends-on): Add gettext-h.
2602         This is needed given the recent changes to regex,
2603         which no longer depends on gettext-h.
2605 2018-07-06  Paul Eggert  <eggert@cs.ucla.edu>
2607         regex: now in sync with glibc
2608         * config/srclist.txt: Gnulib and glibc regex code
2609         are synchronized again.
2611 2018-07-05  Paul Eggert  <eggert@cs.ucla.edu>
2613         renameatu: rename from renameat2
2614         It's looking like Glibc will add a renameat2 function
2615         that is incompatible with Gnulib renameat2; see:
2616         https://sourceware.org/ml/libc-alpha/2018-07/msg00064.html
2617         To help avoid future confusion, rename renameat2 to something else.
2618         Use the name 'renameatu', as the Gnulib function is close to the
2619         Glibc function.  Perhaps someday there will also be a renameat2
2620         Gnulib module, which mimicks the future glibc renameat2, but that
2621         can wait as nobody seems to need such a module now.
2622         * NEWS: Mention this.
2623         * lib/renameatu.c: Rename from lib/renameat2.c.
2624         * lib/renameatu.h: Rename from lib/renameat2.h.
2625         * modules/renameatu: Rename from modules/renameat2.
2626         * modules/renameatu-tests: Rename from modules/renameat2-tests.
2627         All uses of "renameat2" in identifiers or file name
2628         changed to "renameatu", except for two instances in
2629         lib/renameatu.c that deal with the Linux kernel's
2630         renameat2 syscall.
2632 2018-07-04  Paul Eggert  <eggert@cs.ucla.edu>
2634         gnulib-tool: minor tweaks for --gnu-make
2635         * gnulib-tool: Do not allow --gnu-make in test modes,
2636         since they all require automake.
2637         (func_emit_lib_Makefile_am): Don’t emit automake comment
2638         if --gnu-make.
2640         regex: work around conditional-dependencies glitch
2641         * modules/regex (Depends-on): Add langinfo.
2642         Without this change, I had problems building an experimental
2643         version of GNU Emacs.  The symptom of the bug was a message
2644         ‘./configure: line 12726: test: =: unary operator expected’.
2645         This was due to a line in gl_FUNC_NL_LANGINFO that invokes
2646         ‘test $HAVE_LANGINFO_CODESET = 1’ even though HAVE_LANGINFO_CODESET
2647         was unset.  Although gl_FUNC_NL_LANGINFO has
2648         ‘AC_REQUIRE([gl_LANGINFO_H])’ and gl_LANGINFO_H always sets
2649         HAVE_LANGINFO_CODESET to 0 or 1, gnulib-tool with
2650         --conditional-dependencies sometimes arranges for the
2651         gl_FUNC_NL_LANGINFO code to be executed before the gl_LANGINFO_H
2652         code.  Since the regex code includes <langinfo.h> it should be
2653         depending on the langinfo module anyway, and this happens to work
2654         around the bug, so install that as a workaround for now.  To
2655         reproduce the original problem, run the following shell script on
2656         the version of Gnulib just before this patch was installed.
2657                 rm -fr foo
2658                 mkdir foo
2659                 cat >foo/configure.ac <<'EOF'
2660                 AC_INIT(GNU Emacs, 27.0.50, bug-gnu-emacs@gnu.org, , https://www.gnu.org/software/emacs/)
2661                 gl_EARLY
2662                 gl_INIT
2663                 AC_OUTPUT
2664                 EOF
2665                 ./gnulib-tool --import --conditional-dependencies --gnu-make --dir foo regex
2666                 ./gnulib-tool --copy build-aux/install-sh foo/install-sh
2667                 ./gnulib-tool --copy build-aux/config.sub foo/config.sub
2668                 ./gnulib-tool --copy build-aux/config.guess foo/config.guess
2669                 cd foo
2670                 aclocal -I m4
2671                 autoconf
2672                 ./configure --with-included-regex
2674 2018-07-01  Paul Eggert  <eggert@cs.ucla.edu>
2676         wchar: fix bug when checking for ‘inline’
2677         I discovered this when looking into using the regex module
2678         with Emacs.
2679         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Fix bug introduced in
2680         2016-08-17T23:09:38Z!skunk@iSKUNK.ORG; the code compiled
2681         conftest1.c and conftest2.c but these files were not created.
2682         As far as I can see, this check never worked and nobody reported
2683         it until now, which is a bit worrisome.
2685 2018-06-30  Jim Meyering  <meyering@fb.com>
2687         bootstrap: s/--option val/--option=val/
2688         * build-aux/bootstrap (gnulib_tool_options): Change the
2689         spelling of "--option val" pairs to "--option=val", for
2690         aesthetics, and also so that this file no longer triggers
2691         a common help2man syntax-check warning when copied into
2692         projects like grep, gzip, etc.
2694 2018-07-01  Paul Eggert  <eggert@cs.ucla.edu>
2696         manywarnings: omit -Wswitch-default
2697         This should make things more consistent, as we already ignore
2698         -Wswitch-enum.  Problem reported by Reuben Thomas; see:
2699         https://lists.gnu.org/r/bug-gnulib/2018-05/msg00179.html
2700         * build-aux/g++-warning.spec, build-aux/gcc-warning.spec:
2701         Add -Wswitch-default.
2702         * m4/manywarnings-c++.m4 (gl_MANYWARN_ALL_GCC_CXX_IMPL):
2703         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
2704         Remove -Wswitch-default.
2706         regex: revert most trimming
2707         Problems reported by Bruno Haible in:
2708         https://lists.gnu.org/r/bug-gnulib/2018-07/msg00001.html
2709         * modules/regex (Depends-on): Add lock, memcmp, memmove,
2710         and wctype back in.  lock because regex users shouldn’t
2711         need to know that regex needs locking, and the rest because
2712         gnulib-tool should ordinarily ignore them anyway.
2714 2018-06-30  Paul Eggert  <eggert@cs.ucla.edu>
2716         regex: trim module dependencies
2717         * modules/regex (Depends-on): Remove gettext-h and lock,
2718         since the regex code should work OK without these modules,
2719         and Emacs uses it that way.  Also remove memcmp, memmove,
2720         and wctype, as these modules are obsolete and should not be
2721         needed any more.
2723 2018-06-29  Paul Eggert  <eggert@cs.ucla.edu>
2725         regex: glibc does not use intprops.h
2726         Maybe we can talk glibc into using intprops.h someday, but
2727         now doesn’t seem to be a good time.
2728         * lib/regcomp.c (TYPE_SIGNED): Remove; regex_internal.h now defines.
2729         * lib/regex_internal.h [_LIBC]: Do not include intprops.h.
2730         (TYPE_SIGNED, INT_ADD_WRAPV): New macros.
2732 2018-06-28  Paul Eggert  <eggert@cs.ucla.edu>
2734         regex: port to recently proposed glibc regex merge
2735         This patch is inspired by Adhemerval Zanella's recent proposal
2736         https://www.sourceware.org/ml/libc-alpha/2018-06/msg00905.html
2737         to merge glibc and Gnulib regex.  It aims to simplify the merge on
2738         the glibc side, without keeping Gnulib portable.
2739         * lib/regex.h: Fix a problem with glibc installed-header checking,
2740         as follows:
2741         (_Restrict_): Prefer __restrict if defined or if GCC 2.95 or later.
2742         (_Restrict_arr_): Prefer __restrict_arr if defined,
2743         otherwise prefer _Restrict_ if C99 or GCC 3.1 or later (but not C++).
2744         * lib/regex_internal.c (re_string_realloc_buffers, build_wcs_buffer)
2745         (build_wcs_upper_buffer, build_upper_buffer)
2746         (re_string_translate_buffer, re_string_context_at):
2747         Move decls here from lib/regex_internal.h, for glibc internal tests.
2748         (build_wcs_upper_buffer): Use __wcrtomb, not wcrtomb, fixing
2749         glibc BZ #18496.
2750         * lib/regex_internal.h (lock_fini) [_LIBC]: Cast to 0 to pacify
2751         -Wunused-value.
2752         (bitset_set, bitset_clear, bitset_contain, bitset_empty)
2753         (bitset_set_all, bitset_copy, bitset_not, bitset_merge)
2754         (bitset_mask): Now static inline, and without any __attribute__
2755         ((unused)) decoration, for glibc internal tests.
2757 2018-06-25  Bruno Haible  <bruno@clisp.org>
2759         threadlib: Fix LIBMULTITHREAD on platforms where --as-needed is enabled.
2760         Reported by Erik Auerswald <auerswal@unix-ag.uni-kl.de>
2761         in <https://lists.gnu.org/archive/html/coreutils/2018-06/msg00063.html>.
2762         * m4/threadlib.m4 (gl_THREADLIB_BODY): Check whether the linker supports
2763         --as-needed/--no-as-needed and --push-state/--pop-state. When defining
2764         USE_POSIX_THREADS_WEAK or USE_SOLARIS_THREADS_WEAK or
2765         USE_PTH_THREADS_WEAK, define LIBMULTITHREAD in such a way that -lpthread
2766         / -lthread / -lpth does not get optimized away by a preceding
2767         --as-needed option.
2769 2018-06-25  Bruno Haible  <bruno@clisp.org>
2771         Continue to use spaces for indentation, not tabs.
2772         * MODULES.html.sh: Untabify.
2773         * doc/regex.texi: Likewise.
2774         * lib/acl-internal.c: Likewise.
2775         * lib/dfa.c: Likewise.
2776         * lib/exclude.c: Likewise.
2777         * lib/exclude.h: Likewise.
2778         * lib/get-permissions.c: Likewise.
2779         * lib/gettimeofday.c: Likewise.
2780         * lib/parse-datetime.y: Likewise.
2781         * lib/pselect.c: Likewise.
2782         * lib/set-permissions.c: Likewise.
2783         * lib/time.in.h: Likewise.
2784         * m4/canonicalize.m4: Likewise.
2785         * m4/gc.m4: Likewise.
2786         * m4/gnulib-common.m4: Likewise.
2787         * m4/pthread_sigmask.m4: Likewise.
2788         * m4/vararrays.m4: Likewise.
2789         * tests/test-digest.h: Likewise.
2790         * tests/test-fcntl-h.c: Likewise.
2791         * tests/test-timespec.c: Likewise.
2792         * tests/uniwbrk/test-uc-wordbreaks.c: Likewise.
2794 2018-06-25  Bruno Haible  <bruno@clisp.org>
2796         manywarnings: Don't enable -Wjump-misses-init warnings by default.
2797         * build-aux/gcc-warning.spec: Add -Wjump-misses-init.
2798         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C)): Remove
2799         -Wjump-misses-init.
2801 2018-06-25  Jim Meyering  <meyering@fb.com>
2803         acl-internal.h: remove _GL_ATTRIBUTE_CONST on void function
2804         * lib/acl-internal.h (free_permission_context): Remove that
2805         attribute directive.  Otherwise, it would provoke this from GCC 9:
2806         lib/acl-internal.h:300:3: error: 'const' attribute on function \
2807           returning 'void' [-Werror=attributes]
2809 2018-06-24  Jim Meyering  <meyering@fb.com>
2811         parse-datetime: accommodate gcc-4.8.5
2812         Bruno Haible reported the build failure in
2813         https://lists.gnu.org/r/bug-gnulib/2018-06/msg00066.html
2814         * lib/parse-datetime.y (parse_datetime2): Remove leading "static"
2815         on declaration of new local.
2817 2018-06-24  Bruno Haible  <bruno@clisp.org>
2819         af_alg: Fail in continuable manner on Linux/powerpc64le.
2820         Reported by Assaf Gordon <assafgordon@gmail.com>
2821         in <https://lists.gnu.org/archive/html/coreutils/2018-06/msg00034.html>.
2822         * lib/af_alg.c (afalg_stream): On non-seekable streams, try a single-
2823         byte send() as the first round.
2825 2018-06-24  Bruno Haible  <bruno@clisp.org>
2827         af_alg: Fix state of stream after sendfile() succeeds.
2828         * lib/af_alg.c (afalg_stream): Invoke fflush and lseek, to ensure that
2829         the stream is correctly positioned afterwards.
2830         * modules/crypto/af_alg (Depends-on): Add fflush.
2831         * tests/test-digest.h (test_digest_on_files): Verify that after the
2832         operation the stream is positioned at end of file.
2834 2018-06-24  Jim Meyering  <meyering@fb.com>
2836         canon-host: take GCC9's advice rather than ignoring warning
2837         Pádraig Brady suggested not to ignore this GCC9 advice.
2838         * lib/canon-host.c: Undo preceding change.
2839         * lib/canon-host.h: Instead, declare with _GL_ATTRIBUTE_MALLOC.
2841         parse-datetime.y: avoid spurious GCC 9 warning
2842         * lib/parse-datetime.y (parse_datetime2): Save RELATIVE_TIME_0 into
2843         a function local prior to the first "goto fail".  The prior use would
2844         evoke this:
2845         parse-datetime.y: In function 'parse_datetime2':
2846         parse-datetime.y:1791:19: error: jump skips variable initialization \
2847           [-Werror=jump-misses-init]
2848         parse-datetime.y:2385:2: note: label 'fail' defined here
2849         parse-datetime.y:188:43: note: '({anonymous})' declared here
2850         parse-datetime.y:1841:12: note: in expansion of macro 'RELATIVE_TIME_0'
2852         canon-host.c: avoid spurious GCC 9 warning
2853         * lib/canon-host.c: Suppress GCC9's -Wsuggest-attribute=malloc.
2855         manywarnings: accommodate GCC 9.0-pre: remove -Wchkp and -Wabi
2856         * build-aux/gcc-warning.spec: Add them here, each with an explanation.
2857         * m4/manywarnings.m4: Remove them.
2858         Otherwise, building coreutils, I would see this:
2859         cc1: error: deprecated command line option '-Wchkp' [-Werror]
2860         cc1: error: -Wabi won't warn about anything [-Werror=abi]
2861         cc1: note: -Wabi warns about differences from the most up-to-date ABI,\
2862           which is also used by default
2863         cc1: note: use e.g. -Wabi=11 to warn about changes from GCC 7
2865 2018-06-24  Bruno Haible  <bruno@clisp.org>
2867         af_alg tests: Add another test.
2868         * tests/test-digest.h (test_digest_on_files): Also check a large file
2869         with a skipped header.
2870         * tests/test-md5.c: Include macros.h.
2871         * tests/test-sha1.c: Likewise.
2872         * tests/test-sha256.c: Likewise.
2873         * tests/test-sha512.c: Likewise.
2874         * modules/crypto/md5-tests (Files): Add tests/macros.h.
2875         * modules/crypto/sha1-tests (Files): Likewise.
2876         * modules/crypto/sha256-tests (Files): Likewise.
2877         * modules/crypto/sha512-tests (Files): Likewise.
2879 2018-06-24  Pádraig Brady  <P@draigBrady.com>
2881         maint: clarify comments about sticky EOF
2882         * lib/af_alg.c: Be more direct that we can't
2883         assume stickiness of EOF for portability reasons.
2884         * lib/md5.c: Clarify that this isn't just a glibc issue.
2885         * lib/sha1.c: Likewise.
2886         * lib/sha256.c: Likewise.
2887         * lib/sha512.c: Likewise.
2889 2018-06-24  Bruno Haible  <bruno@clisp.org>
2891         af_alg: Comment and style improvements.
2892         * lib/af_alg.c (alg_socket): Use 'size_t' as index into a string.
2893         (afalg_buffer, afalg_stream): Improve comments.
2895 2018-06-24  Pádraig Brady  <P@draigBrady.com>
2897         af_alg: disable kernel hash functions by default
2898         All the kernel routines were seen to be significantly slower
2899         with these relatively recent components on an i3-2310M system:
2900           kernel-4.10.6-200.fc25.x86_64
2901           openssl-1.0.2m-1.fc25.x86_64
2902         sha1 was nearly twice as slow in the kernel for example.
2903         Further considerations why this should not be the default, at:
2904         https://lists.gnu.org/r/coreutils/2018-06/msg00034.html
2906         * m4/af_alg.m4: Require --with-linux-crypto to enable.
2907         * m4/gl-openssl.m4: Tweak accordingly.
2909 2018-06-24  Pádraig Brady  <P@draigBrady.com>
2911         af_alg: avoid hangs when reading from streams
2912         * lib/af_alg.c (afalg_stream): Don't assume EOF is sticky,
2913         and thus avoid doing a fread() when feof() is set.
2914         * lib/md5.c: Ensure feof() is called before fread().
2915         * lib/sha1.c: Likewise.
2916         * lib/sha256.c: Likewise.
2917         * lib/sha512.c: Likewise.
2919 2018-06-24  Pádraig Brady  <P@draigBrady.com>
2921         af_alg: fix error handling when hash not returned
2922         * lib/af_alg.c (afalg_stream): Handle the case where we've
2923         successfully written data to the kernel in the read/write loop,
2924         but the kernel doesn't respond with the hash.
2926 2018-06-24  Paul Eggert  <eggert@cs.ucla.edu>
2928         libc-config: merge from glibc
2929         * lib/cdefs.h (__inline, __restrict):
2930         Copy from current glibc.  This fixes glibc bug 17721,
2931         which Gnulib had already fixed in a different way.
2932         (__nonnull): Lessen the distance from glibc by using the
2933         glibc definition inside an ‘#ifndef __nonnull’.
2934         (__attribute_nonstring__): New macro, copied from
2935         current glibc.
2936         * lib/libc-config.h (__attribute_nonstring__): New undef.
2937         (__restrict): Remove; workaround no longer needed.
2938         Keep the __inline workaround, though, as it uses HAVE___INLINE to
2939         support more compilers than the glibc __inline can.
2941 2018-06-24  Bruno Haible  <bruno@clisp.org>
2943         mbrtowc, wcwidth: Fix MT-safety bug (regression from 2018-06-23).
2944         * lib/mbrtowc.c (enc_t): New enum type.
2945         (locale_enc, locale_enc_cached): New functions.
2946         (mbrtowc): Eliminate static variables. Use locale_enc_cached instead.
2947         * lib/wcwidth.c (is_locale_utf8, is_locale_utf8_cached): New functions.
2948         (wcwidth): Eliminate static variables. Use is_locale_utf8_cached
2949         instead.
2950         * m4/mbrtowc.m4 (gl_PREREQ_MBRTOWC): Require AC_C_INLINE.
2951         * m4/wcwidth.m4 (gl_PREREQ_WCWIDTH): New macro.
2952         * modules/wcwidth (configure.ac): Invoke it.
2954 2018-06-24  Bruno Haible  <bruno@clisp.org>
2956         wchar-single: Fix test failure in wcwidth tests.
2957         * tests/test-wcwidth.c (main): If the wchar-single module is present,
2958         skip the tests in the C locale.
2960 2018-06-23  Pádraig Brady  <P@draigBrady.com>
2962         crypto: mention --without-linux-crypto in --with-openssl --help
2963         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK): Mention that linux crypto
2964         routines take precedence in --with-openssl help output.
2966 2018-06-23  Pádraig Brady  <P@draigBrady.com>
2968         wchar-single: a new module to enable optimizations in wchar replacements
2969         * lib/mbrtowc.c (mbrtowc): Only check locale_charset() once if
2970         GNULIB_WCHAR_SINGLE is enabled.
2971         * lib/wcwidth.c (wcwidth): Likewise.
2973 2018-06-23  Bruno Haible  <bruno@clisp.org>
2975         libc-config: Fix conflict with FreeBSD include files.
2976         * lib/cdefs.h (__nonnull): Remove definition.
2977         * lib/libc-config.h (__nonnull): Remove undefinition.
2979 2018-06-21  Paul Eggert  <eggert@cs.ucla.edu>
2981         random_r: do not crash if state is unaligned
2982         Problem reported by Bruce Korb in:
2983         https://lists.gnu.org/r/bug-gnulib/2018-06/msg00030.html
2984         I reproduced the crash on 32-bit sparc with Oracle Studio 12.6
2985         with 'cc -O2 -xmemalign=8s'.
2986         * lib/random_r.c: Include string.h, for memcpy.
2987         (get_int32, set_int32): New functions.
2988         (__srandom_r, __initstate_r, __setstate_r, __random_r):
2989         Use them to avoid assumption that state pointer is aligned.
2990         (__random_r): Avoid integer overflow if INT_MAX == UINT32_MAX.
2991         * tests/test-random_r.c (test_failed): New function.
2992         (main): Use it, to test for alignment bugs.
2994         random_r: omit unnecessary include
2995         * lib/random_r.c: Do not include limits.h.
2997         random, random_r: merge from glibc
2998         * lib/random.c, lib/random_r.c:
2999         Include libc-config.h if !_LIBC, not config.h unilaterally.
3000         * lib/random.c:
3001         Do not include stdint.h or time.h; not needed.
3002         Include libc-lock.h if _LIBC, and define substitute macros otherwise.
3003         (unsafe_state): Rename from generator.  All uses changed.
3004         Use C99-style initializers.
3005         (__random, __srandom, __initstate, __setstate): Rename from
3006         non-underscored version, but define it to non-underscored version
3007         on Gnulib.  Add a lock.
3008         * lib/random_r.c (__srandom_r, __initstate_r, __setstate_r, __random_r):
3009         Likewise.
3010         Do not include <stdint.h>; not needed since stdlib.h defines int32_t.
3011         (weak_alias, __set_errno) [!_LIBC]: Remove; now done by libc-config.
3012         (__srandom_r): Use int32_t instead of long int where int32_t will do.
3013         (__random_r): Use uint32 to fix glibc bug 17343.
3014         * modules/random, modules/random_r (Depends-on): Add libc-config.
3015         Depend on stdint only if $HAVE_RANDOM = 0.
3017 2018-06-19  Jim Meyering  <meyering@fb.com>
3019         README-release: also run any check-very-expensive tests
3020         * top/README-release: Adjust instructions so they run the
3021         check-very-expensive tests when there is such a target.
3023 2018-06-18  Bruno Haible  <bruno@clisp.org>
3025         pthread_rwlock_rdlock: Add comments regarding glibc behaviour.
3026         * m4/pthread_rwlock_rdlock.m4: Add comment.
3027         * doc/posix-functions/pthread_rwlock_rdlock.texi: Mention that rwlocks
3028         are reader-preferring in glibc.
3029         * doc/posix-functions/pthread_rwlock_tryrdlock.texi: Likwise.
3030         * doc/posix-functions/pthread_rwlock_timedrdlock.texi: Likewise.
3032 2018-06-17  Paul Eggert  <eggert@cs.ucla.edu>
3034         crypto: use byteswap
3035         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
3036         * lib/sm3.c: Include <byteswap.h>.
3037         (SWAP): Use its macros rather than reinventing the wheel.
3038         * modules/crypto/md4, modules/crypto/md5-buffer:
3039         * modules/crypto/sha1-buffer, modules/crypto/sha256-buffer:
3040         * modules/crypto/sha512-buffer, modules/crypto/sm3:
3041         (Depends-on): Add byteswap.
3043 2018-06-17  Pádraig Brady  <P@draigBrady.com>
3045         gendocs.sh: fix support for legacy --texi2html
3046         * build-aux/gendocs.sh: Restrict use of TOP_NODE_UP_URL
3047         to the default makeinfo invocation.
3048         Reported by Bruce Korb
3050 2018-06-17  Bruno Haible  <bruno@clisp.org>
3052         gettext po infrastructure: Update from current gettext git.
3053         Reported by Akim Demaille <akim@lrde.epita.fr>.
3054         * build-aux/po/Makefile.in.in: Update from current gettext git.
3055         * build-aux/po/remove-potcdate.sin: Likewise.
3056         * config/srclist.txt: Temporarily disable sync for these files.
3058 2018-06-17  Bruno Haible  <bruno@clisp.org>
3060         getloadavg: Return 0 on Windows without Cygwin.
3061         * lib/getloadavg.c: Don't assume that the symbol WINDOWS32 is defined.
3063 2018-06-17  Paul Smith  <psmith@gnu.org>
3065         getloadavg: Allow building on Windows without Cygwin
3066         * lib/getloadavg.c: Reinstate ifdef for HAVE_UNISTD_H.
3067         * m4/getloadavg.m4: Check for unistd.h.
3069 2018-06-03  Paul Eggert  <eggert@cs.ucla.edu>
3071         Port crypto/af_alg to GCC 4.8.4
3072         Problem reported by Peter Simons in:
3073         https://lists.gnu.org/r/bug-gnulib/2018-06/msg00002.html
3074         * modules/crypto/af_alg (Depends-on): Add c99 if USE_AF_ALG.
3076 2018-05-27  Colin Watson  <cjwatson@debian.org>
3078         bootstrap: document source fetching in --help
3079         * build-aux/bootstrap (usage): Document how Gnulib sources are fetched.
3081 2018-04-09  Colin Watson  <cjwatson@debian.org>
3083         bootstrap: allow non-submodule control of gnulib
3084         * build-aux/bootstrap: Honour GNULIB_URL and GNULIB_REVISION in
3085         bootstrap.conf when fetching gnulib using "git clone" or via
3086         GNULIB_SRCDIR.
3088 2018-05-21  Paul Eggert  <eggert@cs.ucla.edu>
3090         crypto: omit stream ops Emacs doesn’t need
3091         * lib/md5.c (md5_stream):
3092         * lib/sha1.c (sha1_stream):
3093         * lib/sha256.c (shaxxx_stream, sha256_stream, sha224_stream):
3094         * lib/sha512.c (shaxxx_stream, sha512_stream, sha384_stream):
3095         Compile stream functions only if GL_COMPILE_CRYPTO_STREAM is
3096         defined.  Emacs needs this, as it does not use the stream
3097         operations and doesn’t need all the af_alg stuff we’ve recently
3098         added.  Perhaps a similar change is needed to the other crypto
3099         modules, but this patch changes only those needed for Emacs.
3100         * modules/crypto/md5-buffer, modules/crypto/sha1-buffer:
3101         * modules/crypto/sha256-buffer, modules/crypto/sha512-buffer:
3102         New modules, used by Emacs.
3103         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
3104         * modules/crypto/sha512: Rewrite to depend on the new modules.
3106 2018-05-20  Pádraig Brady  <P@draigBrady.com>
3108         fts: avoid a memory leak edge case
3109         * lib/fts.c (fts_open): Set an appropriate fts_level
3110         so that an immediate fts_close() will free the allocation.
3111         * tests/test-fts.c (fts_dealloc): Add a test case which
3112         will trigger under valgrind or address sanitizer.
3113         Fixes https://bugs.gnu.org/31439
3115 2018-05-20  Bruno Haible  <bruno@clisp.org>
3117         wcwidth tests: Fix link error.
3118         * modules/wcwidth-tests (Makefile.am): Link test-wcwidth against
3119         $(LIBUNISTRING).
3121 2018-05-20  Bruno Haible  <bruno@clisp.org>
3123         regex: Fix "error: possibly undefined macro: gl_GLIBC21".
3124         * modules/regex (Files): Add m4/glibc21.m4.
3126 2018-05-20  Bruno Haible  <bruno@clisp.org>
3128         localcharset: Optimize.
3129         * lib/localcharset.c (alias_table): Comment out no-op mappings for
3130         platforms where these don't matter. This reduces the table size,
3131         which in turn reduces the lookup time.
3133 2018-05-19  Bruno Haible  <bruno@clisp.org>
3135         localcharset: Map the locale encodings found in newer OSes.
3136         * lib/localcharset.c (alias_table): Add mapping for locale encodings
3137         found in FreeBSD 11, NetBSD 7, Solaris 10, Openindiana, HP-UX 11.31,
3138         IRIX 6.5, Minix 3.3.
3139         * lib/localcharset.h: Update comments accordingly. Also for Cygwin 2.9.
3141 2018-05-19  Bruno Haible  <bruno@clisp.org>
3143         localcharset: Move mapping tables into the code. Use a binary search.
3144         * lib/localcharset.h: Document the GNU canonical names for character
3145         encodings here.
3146         * lib/localcharset.c: Don't include <fcntl.h>, <unistd.h>,
3147         relocatable.h, configmake.h.
3148         (O_NOFOLLOW, ISSLASH, DIRECTORY_SEPARATOR, getc, volatile): Remove
3149         macros.
3150         (charset_aliases): Remove variable.
3151         (get_charset_aliases): Remove function.
3152         (struct table_entry): New type.
3153         (alias_table, locale_table): New constants.
3154         (locale_charset): Use the alias_table or locale_table to get the
3155         canonicalized encoding name.
3156         * lib/config.charset: Remove file.
3157         * lib/ref-add.sin: Remove file.
3158         * lib/ref-del.sin: Remove file.
3159         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't require gl_FCNTL_O_FLAGS,
3160         AC_CANONICAL_HOST, gl_GLIBC21. Don't check for getc_unlocked.
3161         * modules/localcharset (Notice): Remove.
3162         (Files): Remove config.charset, ref-add.sin, ref-del.sin, fcntl-o.m4,
3163         glibc21.m4.
3164         (Depends-on): Remove configmake.
3165         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT to empty.
3166         (Makefile.am): Simplify.
3167         * build-aux/prefix-gnulib-mk: Remove special code for the removed files.
3169 2018-05-19  Bruno Haible  <bruno@clisp.org>
3171         localcharset: Add a manual test.
3172         * tests/test-localcharset.c: New file.
3173         * modules/localcharset-tests: New file.
3175 2018-05-19  Bruno Haible  <bruno@clisp.org>
3177         localcharset: Remove support for obsolete platforms.
3178         * lib/config.charset: Remove support for Linux/libc5, glibc-2.0.x, and
3179         Mac OS X 10.2. Comment out dubious entry for Solaris.
3181 2018-05-19  Jim Meyering  <meyering@fb.com>
3183         gnupload: adjust comment
3184         * build-aux/gnupload: Add FIXME-2020 comment, to make it slightly
3185         more likely we'll remove the just-added code in a year or two.
3187 2018-05-19  Bruno Haible  <bruno@clisp.org>
3189         gnupload: Fix "gpg-agent is not available in this session" error.
3190         * build-aux/gnupload (GPG): Pick the right GNUPG executable to use.
3192 2018-05-16  Paul Eggert  <eggert@cs.ucla.edu>
3194         crypto/af_alg: fix --help
3195         * m4/af_alg.m4: Avoid spurious newline in --help output.
3197 2018-05-13  Bruno Haible  <bruno@clisp.org>
3199         nl_langinfo: Fix compilation error on Android.
3200         * lib/nl_langinfo.c (nl_langinfo): Define values for the items GROUPING,
3201         INT_CURR_SYMBOL, etc. only if these items are defined.
3203 2018-05-13  Bruno Haible  <bruno@clisp.org>
3205         truncate: Fix compilation error on Android.
3206         * m4/truncate.m4 (gl_FUNC_TRUNCATE): Test also whether 'truncate' is
3207         declared. Set HAVE_DECL_TRUNCATE, not HAVE_TRUNCATE.
3208         * lib/unistd.in.h (truncate): Test HAVE_DECL_TRUNCATE, not
3209         HAVE_TRUNCATE.
3210         * modules/truncate: Likewise.
3211         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_TRUNCATE,
3212         not HAVE_TRUNCATE.
3213         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TRUNCATE, not
3214         HAVE_TRUNCATE.
3215         * doc/posix-functions/truncate.texi: Mention the issue.
3217 2018-05-13  Bruno Haible  <bruno@clisp.org>
3219         pthread: Fix compilation error on Android.
3220         * lib/pthread.in.h: Use _GL_ALREADY_INCLUDING_PTHREAD_H to shortcut
3221         recursive inclusion of this file.
3223 2018-05-13  Bruno Haible  <bruno@clisp.org>
3225         posix_spawn: Fix compilation error on Android.
3226         * lib/spawn.in.h (posix_spawnattr_t): Consider also the case
3227         HAVE_POSIX_SPAWNATTR_T = 1 && HAVE_POSIX_SPAWN = 0.
3228         (posix_spawn_file_actions_t): Consider also the case
3229         HAVE_POSIX_SPAWN_FILE_ACTIONS_T = 1 && HAVE_POSIX_SPAWN = 0.
3231 2018-05-13  Bruno Haible  <bruno@clisp.org>
3233         tsearch: Move from K&R C to ANSI C.
3234         * lib/tsearch.c (tfind): Convert definition to ANSI C.
3236 2018-05-13  Bruno Haible  <bruno@clisp.org>
3238         tsearch: Fix compilation error on Android.
3239         * lib/search.in.h (twalk): Declare when HAVE_TWALK, not HAVE_TSEARCH,
3240         is 0.
3241         (GNULIB_defined_tsearch, GNULIB_defined_twalk): New macros.
3242         * lib/tsearch.c (tsearch, tfind, tdelete): Define only if
3243         GNULIB_defined_tsearch is true.
3244         (twalk): Define only if GNULIB_defined_twalk is true.
3245         * modules/tsearch (configure.ac): Compile tsearch.c also if HAVE_TWALK
3246         is 0.
3247         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Set HAVE_TWALK.
3248         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize HAVE_TWALK.
3249         * modules/search (Makefile.am): Substitute HAVE_TWALK.
3251 2018-05-13  Bruno Haible  <bruno@clisp.org>
3253         imaxdiv: Fix compilation error on Android.
3254         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Set HAVE_IMAXDIV_T to 0 if imaxdiv_t
3255         is not defined.
3256         * lib/inttypes.in.h (imaxdiv_t): Define if HAVE_IMAXDIV_T, not
3257         HAVE_DECL_IMAXDIV, is 0.
3258         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize HAVE_IMAXDIV_T.
3259         * modules/inttypes-incomplete (Makefile.am): Substitute HAVE_IMAXDIV_T.
3261 2018-05-13  Bruno Haible  <bruno@clisp.org>
3263         Support selective inclusion mechanism of recent mingw.org header files.
3264         Reported by Eli Zaretskii <eliz@gnu.org>.
3265         * lib/sys_types.in.h: On mingw, when __need_off_t, __need___off64_t,
3266         __need_ssize_t, or __need_time_t is defined, just include the system's
3267         <sys/types.h>.
3268         * lib/locale.in.h: On mingw, when __need_locale_t is defined, just
3269         include the system's <locale.h>.
3271 2018-05-13  Bruno Haible  <bruno@clisp.org>
3273         Avoid compilation error due to 'mmap' on Android.
3274         * lib/vma-iter.c (_FILE_OFFSET_BITS): Undefine on Android.
3275         * lib/get-rusage-as.c (_FILE_OFFSET_BITS): Likewise.
3276         * tests/zerosize-ptr.h (_FILE_OFFSET_BITS, __USE_FILE_OFFSET64):
3277         Undefine on Android.
3279 2018-05-13  Bruno Haible  <bruno@clisp.org>
3281         Add cross-compilation guesses for Linux systems without glibc.
3282         * m4/chown.m4 (AC_FUNC_CHOWN): Add cross-compilation guess for Linux.
3283         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
3284         * m4/link.m4 (gl_FUNC_LINK): Likewise.
3285         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
3286         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Likewise.
3287         * m4/mkdir.m4 (gl_FUNC_MKDIR): Likewise.
3288         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
3289         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
3290         * m4/pselect.m4 (gl_FUNC_PSELECT): Likewise.
3291         * m4/readlink.m4 (gl_FUNC_READLINK): Likewise.
3292         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
3293         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
3294         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
3295         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
3296         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
3297         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
3298         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
3299         * m4/utimens.m4 (gl_UTIMENS): Likewise.
3301 2018-05-13  Bruno Haible  <bruno@clisp.org>
3303         getpagesize: Fix compilation error on Android.
3304         * m4/getpagesize.m4 (gl_CHECK_FUNC_GETPAGESIZE): New macro.
3305         (gl_FUNC_GETPAGESIZE): Invoke it instead of AC_CHECK_FUNC.
3306         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Don't invoke
3307         AC_CHECK_FUNC. Instead, invoke gl_CHECK_FUNC_GETPAGESIZE and define
3308         HAVE_GETPAGESIZE accordingly.
3309         * modules/getcwd (Files): Add m4/getpagesize.m4.
3311 2018-05-13  Bruno Haible  <bruno@clisp.org>
3313         tcgetsid: Fix compilation error on Android.
3314         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use AC_LINK_IFELSE instead of
3315         AC_CHECK_FUNC.
3317 2018-05-13  Bruno Haible  <bruno@clisp.org>
3319         getpass: Fix configure test for Android.
3320         * m4/getpass.m4 (gl_PREREQ_GETPASS): Use AC_LINK_IFELSE instead of
3321         AC_CHECK_FUNC.
3323 2018-05-13  Bruno Haible  <bruno@clisp.org>
3325         ffs: Fix compilation error on Android.
3326         * m4/ffs.m4 (gl_FUNC_FFS): Use AC_LINK_IFELSE instead of AC_CHECK_FUNC.
3328 2018-05-13  Bruno Haible  <bruno@clisp.org>
3330         mkfifo: Fix compilation error on Android.
3331         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Use AC_LINK_IFELSE instead of
3332         AC_CHECK_FUNC.
3334 2018-05-13  Bruno Haible  <bruno@clisp.org>
3336         c-strtod: Fix configure test for Android.
3337         * m4/c-strtod.m4 (gl_C_STRTOD): Use AC_LINK_IFELSE instead of
3338         AC_CHECK_FUNC.
3340 2018-05-13  Bruno Haible  <bruno@clisp.org>
3342         random: Fix compilation error on Android.
3343         * m4/random.m4 (gl_FUNC_RANDOM): Use AC_LINK_IFELSE instead of
3344         AC_CHECK_FUNC.
3346 2018-05-13  Bruno Haible  <bruno@clisp.org>
3348         grantpt: Fix compilation error on Android.
3349         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Use AC_LINK_IFELSE instead of
3350         AC_CHECK_FUNC.
3352 2018-05-13  Bruno Haible  <bruno@clisp.org>
3354         stdioext: Fix compilation errors with newer Android headers.
3355         * lib/stdio-impl.h (fp_, fp_ub): Define differently for Android.
3356         (__SLBF, __SNBF, __SRD, __SWR, __SRW, __SEOF, __SERR, __SOFF): Define
3357         fallbacks for Android.
3358         * lib/fpending.c: Update comments.
3359         * lib/fpurge.c: Likewise.
3360         * lib/freadable.h: Likewise.
3361         * lib/freadable.c: Likewise.
3362         * lib/freadahead.c: Likewise.
3363         * lib/freading.h: Likewise.
3364         * lib/freadptr.c: Likewise.
3365         * lib/fseterr.c: Likewise.
3366         * lib/fwritable.h: Likewise.
3367         * lib/fwritable.c: Likewise.
3368         * lib/fwriting.h: Likewise.
3369         * lib/fwriting.c: Likewise.
3371 2018-05-13  Bruno Haible  <bruno@clisp.org>
3373         doc: Add info about Android versions 2.0 to 8.1.
3374         * doc/**/*.texi: Add info about functions in all released versions of
3375         Bionic.
3377 2018-05-12  Bruno Haible  <bruno@clisp.org>
3379         fseeko: On mingw, don't use the hidden function _fseeki64.
3380         Reported by Eli Zaretskii <eliz@gnu.org>.
3381         * m4/fseeko.m4 (gl_PREREQ_FSEEKO): Test whether _fseeki64 is declared.
3382         * lib/fseeko.c (fseeko): Use _fseeki64 only if it is declared.
3384 2018-05-12  Bruno Haible  <bruno@clisp.org>
3386         glob: Choose 'dirent_type' in a way that works better on mingw.
3387         Reported and suggested by Eli Zaretskii <eliz@gnu.org>.
3388         * lib/glob.c (dirent_type): Define as uint_fast32_t.
3390 2018-05-12  Bruno Haible  <bruno@clisp.org>
3392         execute, spawn-pipe: Avoid warning about redefining 'close'.
3393         Reported by Eli Zaretskii <eliz@gnu.org>.
3394         * lib/execute.c: Undefine 'close' before redefining it.
3395         * lib/spawn-pipe.c: Likewise.
3397 2018-05-12  Bruno Haible  <bruno@clisp.org>
3399         nanosleep: Avoid test failure on mingw when it has nanosleep.
3400         Reported by Eli Zaretskii <eliz@gnu.org>.
3401         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check whether alarm() exists.
3402         If it does not exist, use a simpler test program that does not call
3403         alarm().
3405 2018-05-10  Bruno Haible  <bruno@clisp.org>
3407         lock, cond, thread, tls: Use a different symbol as libpthread witness.
3408         Reported by Devin Hussey <husseydevin@gmail.com>.
3409         Based on a patch by Paul Eggert.
3410         * lib/glthread/lock.h (pthread_in_use): Use 'pthread_mutexattr_gettype'
3411         as witness of libpthread.
3412         * lib/glthread/cond.h (pthread_in_use): Likewise.
3413         * lib/glthread/thread.h (pthread_in_use): Likewise.
3414         * lib/glthread/tls.h (pthread_in_use): Likewise.
3416 2018-05-10  Bruno Haible  <bruno@clisp.org>
3418         cond tests: Fix compilation error on Solaris.
3419         * tests/test-cond.c: Include <unistd.h> before defining 'yield' as a
3420         macro.
3422 2018-05-10  Bruno Haible  <bruno@clisp.org>
3424         doc: Add partial info about Android 4.3.
3425         * doc/*-functions/*.texi: Add info about functions that were added
3426         to Bionic between Android 4.3 and Android 9.0.
3428 2018-05-10  Bruno Haible  <bruno@clisp.org>
3430         doc: Add info about Android 9.0.
3431         * doc/**/*.texi: Add info about functions and headers in Bionic from
3432         Android 9.0.
3434 2018-05-09  Paul Eggert  <eggert@cs.ucla.edu>
3436         af_alg: fix my typo in afalg_buffer
3437         * lib/af_alg.c (afalg_buffer): Fix typo I recently introduced.
3438         (afalg_stream): Simplify and avoid the need for a runtime test
3439         at the end.
3441         af_alg: recover better from crypto failures
3442         * lib/af_alg.c (afalg_stream): Recover from crypto failures if the
3443         input stream is seekable, by repositioning the stream back to
3444         where it was, possibly by just calling sendfile with an offset
3445         arg.  This lets us return -EAFNOSUPPORT instead of -EIO in some
3446         cases, which lets our callers try again with user-mode code.
3447         * modules/crypto/af_alg (Depends-on): Depend on fseeko and ftello
3448         instead of on fflush and lseek.
3450         af_alg: distiguish I/O errors better
3451         * lib/af_alg.c (afalg_buffer, afalg_stream): Return -EAFNOSUPPORT,
3452         not -EIO, if it’s OK for the caller to try again with user-mode code.
3453         (afalg_stream) [!_WIN32 || __CYGWIN__]: Return -EIO (not possibly
3454         some other error number) if fflush fails, as the caller should not
3455         try again that case.
3457         af_alg: avoid gotos
3458         * lib/af_alg.c (afalg_buffer, afalg_stream): Rewrite to avoid
3459         gotos, as they were a source of unreliability and made the code a
3460         bit harder to follow.
3462         af_alg: don’t leak file descriptors into children
3463         * lib/af_alg.c (alg_socket): Use SOCK_CLOEXEC when creating sockets.
3464         This code should be compiled only on recent GNU/Linux platforms
3465         so we shouldn’t have to also depend on the accept4 module.
3467         af_alg: coalesce socket creation
3468         * lib/af_alg.c (alg_socket): New function.
3469         (afalg_buffer, afalg_stream): Use it.  This avoids some
3470         code duplication and gotos.
3472         af_alg: fix file descriptor leak
3473         * lib/af_alg.c (afalg_stream): Close leak.
3475         af_alg: Pacify --enable-gcc-warnings on GCC 8
3476         * lib/af_alg.c (afalg_buffer, afalg_stream): Reorder local decls
3477         and checking to pacify gcc -Wjump-misses-init on GCC 8.
3479 2018-05-07  Paul Eggert  <eggert@cs.ucla.edu>
3481         af_alg: Pacify --enable-gcc-warnings
3482         Problem reported by Assaf Gordon in:
3483         https://lists.gnu.org/r/bug-gnulib/2018-05/msg00041.html
3484         * lib/af_alg.c (afalg_buffer): Move local decls to pacify
3485         gcc -Wjump-misses-init.
3486         * lib/sha512.c (shaxxx_stream): Now static.
3488 2018-05-06  Bruno Haible  <bruno@clisp.org>
3490         af_alg: Add ability to use Linux kernel crypto API on data in memory.
3491         * lib/af_alg.h (afalg_buffer): New declaration.
3492         * lib/af_alg.c (afalg_buffer): New function.
3494 2018-05-06  Bruno Haible  <bruno@clisp.org>
3496         af_alg: Avoid warnings.
3497         * lib/af_alg.h (afalg_stream): Mark fallback declaration as inline.
3498         * m4/af_alg.m4 (gl_AF_ALG): Require AC_C_INLINE.
3500 2018-05-06  Bruno Haible  <bruno@clisp.org>
3502         crypto/{md5,sha1,sha256,sha512} tests: Add benchmarks.
3503         * tests/bench-digest.h: New file.
3504         * tests/bench-md5.c: New file.
3505         * tests/bench-sha1.c: New file.
3506         * tests/bench-sha224.c: New file.
3507         * tests/bench-sha256.c: New file.
3508         * tests/bench-sha384.c: New file.
3509         * tests/bench-sha512.c: New file.
3510         * modules/crypto/md5-tests (Files): Add tests/bench-md5.c,
3511         tests/bench-digest.h.
3512         (Depends-on): Add getrusage, gettimeofday.
3513         (Makefile.am): Add variables to build bench-md5.
3514         * modules/crypto/sha1-tests (Files): Add tests/bench-sha1.c,
3515         tests/bench-digest.h.
3516         (Depends-on): Add getrusage, gettimeofday.
3517         (Makefile.am): Add variables to build bench-sha1.
3518         * modules/crypto/sha256-tests (Files): Add tests/bench-sha224.c,
3519         tests/bench-sha256.c, tests/bench-digest.h.
3520         (Depends-on): Add getrusage, gettimeofday.
3521         (Makefile.am): Add variables to build bench-sha224, bench-sha256.
3522         * modules/crypto/sha512-tests (Files): Add tests/bench-sha384.c,
3523         tests/bench-sha512.c, tests/bench-digest.h.
3524         (Depends-on): Add getrusage, gettimeofday.
3525         (Makefile.am): Add variables to build bench-sha384, bench-sha512.
3527 2018-05-06  Bruno Haible  <bruno@clisp.org>
3529         af_alg: Fix a resource leak.
3530         * lib/af_alg.c (afalg_stream): Close socket before returning -EINVAL.
3531         New local variable 'result'.
3533 2018-05-06  Bruno Haible  <bruno@clisp.org>
3535         af_alg: Fix bug with streams that are not at position 0.
3536         * lib/af_alg.c (afalg_stream): Before sendfile, invoke fflush. Don't
3537         assume that the stream is positioned at position 0.
3538         * lib/af_alg.h (afalg_stream): Mention restriction regarding the state
3539         of the stream.
3540         * lib/md5.h (md5_stream): Likewise.
3541         * lib/sha1.h (sha1_stream): Likewise.
3542         * lib/sha256.h (sha256_stream, sha224_stream): Likewise.
3543         * lib/sha512.h (sha512_stream, sha384_stream): Likewise.
3544         * modules/crypto/af_alg (Depends-on): Add fflush, lseek.
3546         crypto/{md5,sha1,sha256,sha512} tests: Enhance test.
3547         * tests/test-digest.h (test_digest_on_files): Add a test with a FILE
3548         stream that is not positioned at the beginning.
3550 2018-05-06  Bruno Haible  <bruno@clisp.org>
3552         af_alg: Add configure option to enable/disable use of Linux crypto API.
3553         Suggested by Assaf Gordon <assafgordon@gmail.com>.
3554         * m4/af_alg.m4 (gl_AF_ALG): Add AC_ARG_WITH invocation. Define C macro
3555         USE_LINUX_CRYPTO_API.
3556         * lib/af_alg.h: Test USE_LINUX_CRYPTO_API, not HAVE_LINUX_IF_ALG_H.
3557         * lib/af_alg.c: Likewise.
3559 2018-05-06  Bruno Haible  <bruno@clisp.org>
3561         Followup to 'af_alg: New module.'.
3562         * modules/crypto/md5 (Depends-on): Remove sys_socket, sys_stat.
3563         * modules/crypto/sha1 (Depends-on): Likewise.
3564         * modules/crypto/sha256 (Depends-on): Likewise.
3565         * modules/crypto/sha512 (Depends-on): Likewise.
3567 2018-05-05  Paul Eggert  <eggert@cs.ucla.edu>
3569         crypto/{md5,sha1,sha256,sha512}: simplify
3570         * lib/md5.c (md5_stream):
3571         * lib/sha1.c (sha1_stream):
3572         * lib/sha256.c (shaxxx_stream):
3573         Simplify, partly by assuming C99.
3574         * lib/sha256.c (shaxxx_stream):
3575         New function, which implements both sha256 and sha224.
3576         Simplify, partly by assuming C99.
3577         (sha256_stream, sha224_stream):
3578         Use it to avoid code duplication, removing a FIXME.
3579         * lib/sha512.c (shaxxx_stream, sha512_stream, sha384_stream):
3580         Likewise.
3582         af_alg: Improve comments.
3583         * lib/af_alg.h: Use imperatives and tighten up wording.
3585 2018-05-05  Bruno Haible  <bruno@clisp.org>
3587         af_alg: Improve comments.
3588         * lib/af_alg.c (afalg_stream): Improve comment about kernel bug.
3590 2018-05-05  Bruno Haible  <bruno@clisp.org>
3592         af_alg: New module.
3593         * lib/af_alg.h: Test HAVE_* macro through '#if', not '#ifdef'.
3594         * lib/af_alg.c: Include "af_alg.h" before the other header files.
3595         * lib/md5.c: Include "af_alg.h" unconditionally.
3596         (md5_stream): Invoke afalg_stream unconditionally.
3597         * lib/sha1.c: Include "af_alg.h" unconditionally.
3598         (sha1_stream): Invoke afalg_stream unconditionally.
3599         * lib/sha256.c: Include "af_alg.h" unconditionally.
3600         (sha256_stream, sha224_stream): Invoke afalg_stream unconditionally.
3601         * lib/sha512.c: Include "af_alg.h" unconditionally.
3602         (sha512_stream, sha384_stream): Invoke afalg_stream unconditionally.
3603         * m4/af_alg.m4: Renamed from m4/linux-if-alg.m4.
3604         (gl_AF_ALG): Renamed from gl_LINUX_IF_ALG_H.
3605         * modules/crypto/af_alg: New file.
3606         * modules/crypto/md5 (Files): Remove files that are now in the
3607         'crypto/af_alg' module.
3608         (Depends-on): Add crypto/af_alg.
3609         (configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
3610         (Makefile.am): Don't mention af_alg.c here.
3611         * modules/crypto/sha1 (Files): Remove files that are now in the
3612         'crypto/af_alg' module.
3613         (Depends-on): Add crypto/af_alg.
3614         (configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
3615         (Makefile.am): Don't mention af_alg.c here.
3616         * modules/crypto/sha256 (Files): Remove files that are now in the
3617         'crypto/af_alg' module.
3618         (Depends-on): Add crypto/af_alg.
3619         (configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
3620         (Makefile.am): Don't mention af_alg.c here.
3621         * modules/crypto/sha512 (Files): Remove files that are now in the
3622         'crypto/af_alg' module.
3623         (Depends-on): Add crypto/af_alg.
3624         (configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
3625         (Makefile.am): Don't mention af_alg.c here.
3627 2018-05-05  Paul Eggert  <eggert@cs.ucla.edu>
3629         crypto tests: pacify GCC
3630         * tests/test-digest.h (test_digest_on_files):
3631         Don’t assume digest size fits in int (!).
3633         af_alg: minor style improvements
3634         * lib/af_alg.c (afalg_stream): Prefer C99 style
3635         decl-after-statement, since we’re already assuming C99.  Clarify
3636         by strengthening the bind test and omit unnecessary assignment.
3638 2018-05-05  Bruno Haible  <bruno@clisp.org>
3640         af_alg: Fix bug on empty files.
3641         * lib/af_alg.c (afalg_stream): Ignore the kernel's result if the input
3642         stream is empty.
3644 2018-05-05  Paul Eggert  <eggert@cs.ucla.edu>
3646         sys-limits.h: new file for crypto and safe I/O
3647         * lib/af_alg.c: Include sys-limits.h.
3648         (MAX_RW_COUNT): Remove.  Use replaced by SYS_BUFSIZE_MAX.
3649         (afalg_stream): Also reject negative sizes for sendfile; they
3650         should not happen and the code is a bit cleaner and faster this way.
3651         * lib/safe-read.c: Include sys-limits.h.
3652         (BUGGY_READ_MAXIMUM): Remove.  All uses replaced by SYS_BUFSIZE_MAX.
3653         * lib/sys-limits.h: New file, with values and commentary derived
3654         from the old safe-read.c and from GNU Emacs sysdep.c.
3655         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
3656         * modules/crypto/sha512, modules/safe-read, modules/safe-write:
3657         Add lib/sys-limits.h to Files section.
3659 2018-05-05  Bruno Haible  <bruno@clisp.org>
3661         af_alg: Improve function signature.
3662         * lib/af_alg.h (afalg_stream): Swap second and third argument.
3663         * lib/af_alg.c (afalg_stream): Likewise.
3664         * lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c: Callers changed.
3666 2018-05-05  Bruno Haible  <bruno@clisp.org>
3668         crypto/{md5,sha1,sha256,sha512}: Fix compilation error (S_TYPEISTMO).
3669         * modules/crypto/md5 (Depends-on): Add 'sys_stat'.
3670         * modules/crypto/sha1 (Depends-on): Likewise.
3671         * modules/crypto/sha256 (Depends-on): Likewise.
3672         * modules/crypto/sha512 (Depends-on): Likewise.
3674 2018-05-05  Bruno Haible  <bruno@clisp.org>
3676         crypto/{md5,sha1,sha256,sha512}: Fix module description.
3677         * modules/crypto/md5 (Depends-on): Add 'sys_socket'.
3678         * modules/crypto/sha1 (Depends-on): Likewise.
3679         * modules/crypto/sha256 (Depends-on): Likewise.
3680         * modules/crypto/sha512 (Depends-on): Likewise.
3682 2018-05-05  Bruno Haible  <bruno@clisp.org>
3684         af_alg: Add documentation.
3685         * lib/af_alg.h: Add comments.
3687 2018-05-05  Bruno Haible  <bruno@clisp.org>
3689         sha512: Add tests.
3690         * tests/test-sha512.c: New file.
3691         * modules/crypto/sha512-tests: New file.
3693 2018-05-05  Bruno Haible  <bruno@clisp.org>
3695         sha256: Add tests.
3696         * tests/test-sha256.c: New file.
3697         * modules/crypto/sha256-tests: New file.
3699 2018-05-05  Bruno Haible  <bruno@clisp.org>
3701         sha1 tests: Add test for sha1_stream.
3702         * tests/test-sha1.c: Include test-digest.h.
3703         (main): Invoke test_digest_on_files on 'sha1_stream'.
3704         * modules/crypto/sha1-tests (Files): Add tests/test-digest.h.
3706 2018-05-05  Bruno Haible  <bruno@clisp.org>
3708         md5 tests: Add test for md5_stream.
3709         * tests/test-digest.h: New file.
3710         * tests/test-md5.c: Include test-digest.h.
3711         (main): Invoke test_digest_on_files on 'md5_stream'.
3712         * modules/crypto/md5-tests (Files): Add tests/test-digest.h.
3714 2018-04-28  Matteo Croce  <mcroce@redhat.com>
3716         md5sum: Use AF_ALG when available.
3717         * lib/md5.c: Include af_alg.h.
3718         (md5_stream): Use afalg_stream when available.
3719         * modules/crypto/md5 (Files): Add the af_alg files.
3720         (configure.ac): Invoke gl_LINUX_IF_ALG_H.
3721         (Makefile.am): Add af_alg.c.
3723 2018-04-28  Matteo Croce  <mcroce@redhat.com>
3725         sha512sum: Use AF_ALG when available.
3726         * lib/sha512.c: Include af_alg.h.
3727         (sha512_stream, sha384_stream): Use afalg_stream when available.
3728         * modules/crypto/sha512 (Files): Add the af_alg files.
3729         (configure.ac): Invoke gl_LINUX_IF_ALG_H.
3730         (Makefile.am): Add af_alg.c.
3732 2018-04-28  Matteo Croce  <mcroce@redhat.com>
3734         sha256sum: Use AF_ALG when available.
3735         * lib/sha256.c: Include af_alg.h.
3736         (sha256_stream, sha224_stream): Use afalg_stream when available.
3737         * modules/crypto/sha256 (Files): Add the af_alg files.
3738         (configure.ac): Invoke gl_LINUX_IF_ALG_H.
3739         (Makefile.am): Add af_alg.c.
3741 2018-04-28  Matteo Croce  <mcroce@redhat.com>
3743         sha1sum: Use AF_ALG when available.
3744         * lib/af_alg.h: New file.
3745         * lib/af_alg.c: New file.
3746         * lib/sha1.c: Include af_alg.h.
3747         (sha1_stream): Use afalg_stream when available.
3748         * m4/linux-if-alg.m4: New file.
3749         * modules/crypto/sha1 (Files): Add the new files.
3750         (configure.ac): Invoke gl_LINUX_IF_ALG_H.
3751         (Makefile.am): Add af_alg.c.
3753 2018-05-05  Bruno Haible  <bruno@clisp.org>
3755         all: Replace more http URLs by https URLs.
3756         * lib/localename.c: Use https: URL.
3757         * lib/timespec.h: Likewise.
3759 2018-05-03  Paul Eggert  <eggert@cs.ucla.edu>
3761         maint: port more modules to GCC 8
3762         * lib/dirname.h (base_name):
3763         * lib/exclude.h (new_exclude):
3764         * lib/xstrndup.h (xstrndup):
3765         Add malloc attribute.
3766         * lib/readutmp.c: Pacify GCC 8 about safe use of strncpy.
3767         * lib/sig-handler.h (get_handler) [SA_SIGINFO]: Simplify.
3768         This pacifies GCC 8.
3769         * m4/gnulib-common.m4 (gl_COMMON_BODY):
3770         Define _GL_ATTRIBUTE_MALLOC here.  All other definitions removed.
3772 2018-05-03  Bruno Haible  <bruno@clisp.org>
3774         Simplify code. Drop support for Borland C++ on Windows.
3775         Reported by Gisle Vanem <gisle.vanem@gmail.com>.
3776         * lib/accept4.c: Simplify 'defined _WIN32 || defined __WIN32__' to just
3777         'defined _WIN32'.
3778         * lib/canonicalize-lgpl.c: Likewise.
3779         * lib/classpath.c: Likewise.
3780         * lib/clean-temp.c: Likewise.
3781         * lib/csharpexec.c: Likewise.
3782         * lib/ctime.c: Likewise.
3783         * lib/dosname.h: Likewise.
3784         * lib/dup2.c: Likewise.
3785         * lib/errno.in.h: Likewise.
3786         * lib/error.c: Likewise.
3787         * lib/euidaccess.c: Likewise.
3788         * lib/execute.c: Likewise.
3789         * lib/fcntl.in.h: Likewise.
3790         * lib/fcntl.c: Likewise.
3791         * lib/filename.h: Likewise.
3792         * lib/findprog.c: Likewise.
3793         * lib/flock.c: Likewise.
3794         * lib/fopen.c: Likewise.
3795         * lib/freopen.c: Likewise.
3796         * lib/fstat.c: Likewise.
3797         * lib/fsync.c: Likewise.
3798         * lib/gc-gnulib.c: Likewise.
3799         * lib/get-rusage-data.c: Likewise.
3800         * lib/getaddrinfo.c: Likewise.
3801         * lib/getdelim.c: Likewise.
3802         * lib/getdtablesize.c: Likewise.
3803         * lib/gethostname.c: Likewise.
3804         * lib/getlogin.c: Likewise.
3805         * lib/getlogin_r.c: Likewise.
3806         * lib/getopt.c: Likewise.
3807         * lib/getpagesize.c: Likewise.
3808         * lib/getpass.c: Likewise.
3809         * lib/getrusage.c: Likewise.
3810         * lib/gettimeofday.c: Likewise.
3811         * lib/glob.c: Likewise.
3812         * lib/inttypes.in.h: Likewise.
3813         * lib/isapipe.c: Likewise.
3814         * lib/javaexec.c: Likewise.
3815         * lib/link.c: Likewise.
3816         * lib/localcharset.c: Likewise.
3817         * lib/localename.h: Likewise.
3818         * lib/localename.c: Likewise.
3819         * lib/localtime.c: Likewise.
3820         * lib/lseek.c: Likewise.
3821         * lib/mbsinit.c: Likewise.
3822         * lib/mkdir.c: Likewise.
3823         * lib/msvc-nothrow.h: Likewise.
3824         * lib/nanosleep.c: Likewise.
3825         * lib/nl_langinfo.c: Likewise.
3826         * lib/nonblocking.c: Likewise.
3827         * lib/nproc.c: Likewise.
3828         * lib/open.c: Likewise.
3829         * lib/openpty.c: Likewise.
3830         * lib/pathmax.h: Likewise.
3831         * lib/pipe-filter-aux.c: Likewise.
3832         * lib/pipe-filter-gi.c: Likewise.
3833         * lib/pipe-filter-ii.c: Likewise.
3834         * lib/pipe.c: Likewise.
3835         * lib/pipe2.c: Likewise.
3836         * lib/poll.c: Likewise.
3837         * lib/popen.c: Likewise.
3838         * lib/posix_openpt.c: Likewise.
3839         * lib/printf-parse.c: Likewise.
3840         * lib/progreloc.c: Likewise.
3841         * lib/putenv.c: Likewise.
3842         * lib/read.c: Likewise.
3843         * lib/relocatable.c: Likewise.
3844         * lib/rename.c: Likewise.
3845         * lib/same-inode.h: Likewise.
3846         * lib/secure_getenv.c: Likewise.
3847         * lib/select.c: Likewise.
3848         * lib/sethostname.c: Likewise.
3849         * lib/setlocale.c: Likewise.
3850         * lib/sigaction.c: Likewise.
3851         * lib/sigprocmask.c: Likewise.
3852         * lib/sleep.c: Likewise.
3853         * lib/spawn-pipe.h: Likewise.
3854         * lib/spawn-pipe.c: Likewise.
3855         * lib/spawni.c: Likewise.
3856         * lib/stat-time.h: Likewise.
3857         * lib/stat-w32.c: Likewise.
3858         * lib/stat.c: Likewise.
3859         * lib/stdio.in.h: Likewise.
3860         * lib/stdio-impl.h: Likewise.
3861         * lib/stdio-read.c: Likewise.
3862         * lib/stdio-write.c: Likewise.
3863         * lib/stdlib.in.h: Likewise.
3864         * lib/strerror_r.c: Likewise.
3865         * lib/strftime-fixes.c: Likewise.
3866         * lib/sys_stat.in.h: Likewise.
3867         * lib/sys_types.in.h: Likewise.
3868         * lib/sys_wait.in.h : Likewise.
3869         * lib/system-quote.h: Likewise.
3870         * lib/system-quote.c: Likewise.
3871         * lib/tmpdir.c: Likewise.
3872         * lib/tzset.c: Likewise.
3873         * lib/uname.c: Likewise.
3874         * lib/unistd.in.h: Likewise.
3875         * lib/utime.in.h: Likewise.
3876         * lib/utime.c: Likewise.
3877         * lib/utimecmp.c: Likewise.
3878         * lib/utimens.c: Likewise.
3879         * lib/vasnprintf.c: Likewise.
3880         * lib/vma-iter.h: Likewise.
3881         * lib/vma-iter.c: Likewise.
3882         * lib/wait-process.c: Likewise.
3883         * lib/wcsftime.c: Likewise.
3884         * lib/wctype.in.h: Likewise.
3885         * lib/write.c: Likewise.
3886         * tests/nap.h: Likewise.
3887         * tests/test-cloexec.c: Likewise.
3888         * tests/test-dup-safer.c: Likewise.
3889         * tests/test-dup2.c: Likewise.
3890         * tests/test-dup3.c: Likewise.
3891         * tests/test-fcntl.c: Likewise.
3892         * tests/test-get-rusage-data.c: Likewise.
3893         * tests/test-getaddrinfo.c: Likewise.
3894         * tests/test-getlogin.h: Likewise.
3895         * tests/test-isatty.c: Likewise.
3896         * tests/test-localename.c: Likewise.
3897         * tests/test-mbrtowc-w32.c: Likewise.
3898         * tests/test-nonblocking.c: Likewise.
3899         * tests/test-nonblocking-pipe-main.c: Likewise.
3900         * tests/test-nonblocking-socket-main.c: Likewise.
3901         * tests/test-nonblocking-socket.h: Likewise.
3902         * tests/test-pipe.c: Likewise.
3903         * tests/test-pipe2.c: Likewise.
3904         * tests/test-poll.c: Likewise.
3905         * tests/test-pthread_sigmask1.c: Likewise.
3906         * tests/test-select.h: Likewise.
3907         * tests/test-sethostname2.c: Likewise.
3908         * tests/test-sigprocmask.c: Likewise.
3909         * tests/test-spawn-pipe-child.c: Likewise.
3910         * tests/test-stat-time.c: Likewise.
3911         * tests/test-system-quote-main.c: Likewise.
3912         * tests/test-utimens-common.h: Likewise.
3913         * tests/test-wcrtomb-w32.c: Likewise.
3914         * m4/csharpexec.m4 (gt_CSHARPEXEC): Likewise.
3915         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
3916         * m4/javacomp.m4 (gt_JAVACOMP): Likewise.
3917         * m4/javaexec.m4 (gt_JAVAEXEC): Likewise.
3918         * m4/locale-ar.m4 (gt_LOCALE_AR): Likewise.
3919         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
3920         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
3921         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
3922         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
3923         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
3924         * m4/nocrash.m4 (GL_NOCRASH): Likewise.
3925         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET): Likewise.
3926         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Likewise.
3927         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
3928         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Likewise.
3929         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
3931 2018-05-02  Bruno Haible  <bruno@clisp.org>
3933         localename: Fix test failures on mingw.
3934         * lib/localename.c (gl_locale_name_thread): Remove code specific to
3935         native Windows.
3936         (gl_locale_name_posix): Move code specific to native Windows here.
3937         * tests/test-localename.c (test_locale_name, test_locale_name_posix):
3938         Accept result without charset suffix, as it appears on mingw.
3940 2018-04-28  Paul Smith  <psmith@gnu.org>
3942         bootstrap: Avoid gnulib operations if not needed
3943         * build-aux/bootstrap: Remove unused variable gnulib_mk.
3944         Set $gnulib_extra_files early so it can be overridden in .conf.
3945         Remove redundant --import flag from $gnulib_tool_options.
3946         Set $use_gnulib to false if no gnulib modules or files are needed.
3947         If $use_gnulib is false, don't do anything related to gnulib.
3948         A lot of this is just whitespace (indentation) changes.
3950 2018-04-27  Paul Eggert  <eggert@cs.ucla.edu>
3952         manywarnings: port to GCC 8.0
3953         * build-aux/gcc-warning.spec: Add -Wcatch-value,
3954         -Wclass-memaccess, -Wdo-subscript, -Wextra-semi.  Adjust to the
3955         fact that the GCC help message now mentions operands for
3956         -Warray-bounds, -Wformat, -Wformat-overflow, -Wformat-truncation,
3957         -Wimplicit-fallthrough, -Wplacement-new, -Wshift-overflow,
3958         -Wstrict-aliasing, -Wstrict-overflow, -Wstringop-overflow,
3959         and -Wunused-const-variable.
3960         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wattribute-alias,
3961         -Wcast-align=strict, -Wcast-function-type, -Wif-not-aligned,
3962         -Wmissing-attributes, -Wmultistatement-macros,
3963         -Wpacked-not-aligned, -Wsizeof-pointer-div, -Wstringop-truncation,
3964         -Wsuggest-attribute=cold, -Wsuggest-attribute=malloc.
3966 2018-04-24  Bruno Haible  <bruno@clisp.org>
3968         sys_socket: Make SO_REUSEPORT available across platforms.
3969         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
3970         * lib/sys_socket.in.h (SO_REUSEPORT): New macro.
3971         * doc/posix-headers/sys_socket.texi: Mention the issue.
3972         * tests/test-poll.c (SO_REUSEPORT): Remove.
3973         * tests/test-select.h: Include <sys/socket.h>.
3974         (SO_REUSEPORT): Remove.
3975         * modules/select-tests (Depends-on): Add 'sys_socket'.
3977 2018-04-21  Benno Schulenberg  <bensberg@telfort.nl>  (tiny change)
3979         localcharset: short-circuit the search for an alias on a Mac
3980         * lib/localcharset.c (get_charset_aliases): Add a tautological
3981         UTF-8 entry to speed up the search for this case.
3982         Most machines default to a UTF-8 locale nowadays, so begin the
3983         list of aliases with a dummy UTF-8 entry so it will be found
3984         immediately and a time-consuming search through the rest of
3985         the list is avoided.
3987 2018-04-11  Paul Eggert  <eggert@cs.ucla.edu>
3989         fts: add comment
3990         * lib/fts.c (fts_build): Explain why ==, not >.
3991         See remark by Bernhard Voelker in:
3992         https://lists.gnu.org/r/bug-gnulib/2018-04/msg00041.html
3994         fts: fix bug in find across filesystems
3995         This fixes a bug I introduced last summer.
3996         Problem reported by Kamil Dudka in:
3997         https://lists.gnu.org/r/bug-gnulib/2018-04/msg00033.html
3998         * lib/fts.c (filesystem_type, dirent_inode_sort_may_be_useful)
3999         (leaf_optimization):
4000         New arg for file descriptor.  All callers changed.
4001         (fts_build): Check for whether inodes should be sorted
4002         before closing the directory.
4004 2018-04-07  Bruno Haible  <bruno@clisp.org>
4006         unicase/u*-context: Fix link errors with libunistring <= 0.9.9.
4007         Reported by Genki Sky <sky@genki.is>.
4008         * modules/unicase/u8-prefix-context (configure.ac): Require libunistring
4009         version 0.9.10 or newer.
4010         * modules/unicase/u8-suffix-context (configure.ac): Likewise.
4011         * modules/unicase/u16-prefix-context (configure.ac): Likewise.
4012         * modules/unicase/u16-suffix-context (configure.ac): Likewise.
4013         * modules/unicase/u32-prefix-context (configure.ac): Likewise.
4014         * modules/unicase/u32-suffix-context (configure.ac): Likewise.
4016 2018-04-07  Bruno Haible  <bruno@clisp.org>
4018         execute: Update comment.
4019         * lib/execute.h (execute): Refer to spawn-pipe.h, not pipe.h.
4021 2018-04-05  Paul Eggert  <eggert@cs.ucla.edu>
4023         fts: treat CIFS like NFS
4024         Problem reported by Kamil Dudka in:
4025         https://lists.gnu.org/r/bug-gnulib/2018-04/msg00015.html
4026         * lib/fts.c (S_MAGIC_CIFS): New macro.
4027         (dirent_inode_sort_may_be_useful, leaf_optimization):
4028         Treat CIFS like NFS.
4030 2018-03-28  Bruno Haible  <bruno@clisp.org>
4032         c-stack: Fix possible build failure on some platforms.
4033         * lib/c-stack.c (die): Define whenever this function is referenced.
4035 2018-03-28  Paul Eggert  <eggert@cs.ucla.edu>
4037         time_rz: fix workaround for Mac OS X 10.6 infloop
4038         Problems reported by Charles A. Roelli (Bug#27736#117).
4039         * m4/time_rz.m4 (gl_TIME_RZ): Use a slightly different timestamp.
4040         Also, discard output, which clutters the 'configure' log.
4042 2018-03-27  Paul Eggert  <eggert@cs.ucla.edu>
4044         havelib: port to Solaris 10 /bin/sh
4045         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Use 'test ! EXPR'
4046         instead of '! test EXPR'.
4048 2018-03-26  Paul Eggert  <eggert@cs.ucla.edu>
4050         time_rz: work around Mac OS X 10.6 infloop
4051         * doc/posix-functions/localtime.texi:
4052         * doc/posix-functions/localtime_r.texi: Mention the bug.
4053         * lib/time_rz.c (localtime_rz): Work around the bug.  It’d be
4054         better to fix localtime and localtime_r instead, but that would be
4055         more work and is not needed to fix the Emacs problem.
4056         * m4/time_rz.m4 (gl_TIME_RZ): Detect the bug.
4058 2018-03-24  Jim Meyering  <meyering@fb.com>
4060         test-version-etc.sh: don't use diff directly: use init.sh's compare
4061         We'd rather not sacrifice readable "diff -u" output even for
4062         "diff -c" output (not supported by busybox) or for even less
4063         readable ed-style "diff" output.  So use init.sh's compare function
4064         * tests/test-version-etc.sh: Source init.sh and add "." to path.
4065         Remove "./" from invocation of test-version-etc, so we use path.
4066         And s/diff/compare/.
4067         * modules/version-etc-tests (Depends-on): Add test-framework-sh,
4068         to get init.sh.
4069         Prompted by Eric Blake's comments in
4070         https://lists.gnu.org/r/sed-devel/2018-03/msg00015.html
4072 2018-03-24  Bruno Haible  <bruno@clisp.org>
4074         javacomp-script, javacomp: Add support for Java 10.
4075         * m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 10 and
4076         target-version 10.
4077         * lib/javaversion.h: Update comments.
4078         * lib/javacomp.c (default_target_version, SOURCE_VERSION_BOUND,
4079         source_version_index, get_goodcode_snippet, get_failcode_snippet,
4080         TARGET_VERSION_BOUND, target_version_index,
4081         corresponding_classfile_version): Accept source_version 10 and
4082         target_version 10.
4083         * lib/javacomp.h: Update comments accordingly.
4085 2018-03-24  Bruno Haible  <bruno@clisp.org>
4087         javacomp-script, javacomp: Update comments.
4088         * m4/javacomp.m4: Update comments regarding gcj.
4089         * lib/javacomp.h: Likewise.
4091 2018-03-24  Bruno Haible  <bruno@clisp.org>
4093         javacomp-script, javacomp: Fix support for Java 7, 8, 9.
4094         * lib/javaversion.h: Update comments.
4095         * lib/javacomp.h: Likewise.
4096         * lib/javacomp.c (default_target_version, source_version_index,
4097         get_goodcode_snippet, get_failcode_snippet): Recognize "9" instead of
4098         "1.9".
4099         (TARGET_VERSION_BOUND): Bump to 9.
4100         (target_version_index, corresponding_classfile_version): Recognize "9"
4101         instead of "1.9".
4102         (get_source_version_for_javac): New function.
4103         (is_envjavac_nongcj_usable, is_javac_usable): Add
4104         source_version_for_javac argument.
4105         (compile_java_class): Determine and pass source_version_for_javac.
4106         * m4/javacomp.m4: Recognize version '9' instead of '1.9'. When invoking
4107         $JAVAC or javac, pass '-source 1.6' instead of '-source 1.5' when
4108         appropriate.
4110 2018-03-23  Jim Meyering  <meyering@fb.com>
4112         test-version-etc.sh: port to diff without -c
4113         * tests/test-version-etc.sh: Don't use diff's -c option.
4114         This caused spurious test failure on Alpine Linux, which
4115         uses busybox's diff. Reported by Assaf Gordon in
4116         https://lists.gnu.org/r/sed-devel/2018-03/msg00013.html
4118 2018-03-23  Paul Eggert  <eggert@cs.ucla.edu>
4120         c-stack: port to recent GCC build
4121         Problem reported by The Fireplace (Bug#30913).
4122         * lib/c-stack.c (die): Define only if used.
4124 2018-03-20  Bruno Haible  <bruno@clisp.org>
4126         euidaccess: Port to native Windows.
4127         * lib/euidaccess.c (euidaccess): On native Windows, just use _access().
4128         * posix-modules (exclude_for_mingw): Remove 'euidaccess'.
4130 2018-03-19  Bruno Haible  <bruno@clisp.org>
4132         javacomp: Add support for Java 7, 8, 9.
4133         * lib/javacomp.c (default_target_version, SOURCE_VERSION_BOUND,
4134         source_version_index, get_goodcode_snippet, get_failcode_snippet,
4135         corresponding_classfile_version): Accept source_version 1,7, 1.8, 1.9
4136         and target_version 1,7, 1.8, 1.9.
4137         * lib/javacomp.h: Update comments accordingly.
4139 2018-03-19  Bruno Haible  <bruno@clisp.org>
4141         javacomp-script: Add support for Java 9.
4142         * m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 1.9 and
4143         target-version 1.9.
4145 2018-03-16  Bruno Haible  <bruno@clisp.org>
4147         glob: Don't compile replacements on recent glibc systems.
4148         * lib/glob.in.h: Use the usual idiom for the double-inclusion guard. If
4149         REPLACE_GLOB is 0, include the system's <glob.h> and use
4150         _GL_CXXALIAS_SYS.
4151         * m4/glob.m4 (gl_GLOB): Set REPLACE_GLOB instead of GLOB_H. Accept
4152         _GNU_GLOB_INTERFACE_VERSION 2 as well. Delete the file conf$$-globtest
4153         inside the AC_RUN_IFELSE block. Remove GL_GENERATE_GLOB_H conditional.
4154         * modules/glob (Dependencies): Test REPLACE_GLOB instead of GLOB_H.
4155         Remove snippet/warn-on-use.
4156         (configure.ac): Test REPLACE_GLOB instead of GLOB_H.
4157         (Makefile.am): Create glob.h always. Update list of substitutions in
4158         glob.h. Don't depend on $(WARN_ON_USE_H).
4160 2018-03-16  Bruno Haible  <bruno@clisp.org>
4162         glob: Fix link error on native Windows.
4163         * modules/glob (Depends-on): Add 'lstat'.
4165 2018-03-15  Bruno Haible  <bruno@clisp.org>
4167         glob: Fix compilation error in C++ mode.
4168         * lib/glob.in.h (_Restrict_): Define, like in regex.h and spawn.in.h.
4170 2018-03-15  Bruno Haible  <bruno@clisp.org>
4172         host-cpu-c-abi: Support for RISC-V CPU.
4173         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Recognize the various
4174         riscv32 and riscv64 ABIs.
4175         References:
4176         https://github.com/riscv/riscv-toolchain-conventions
4177         https://gcc.gnu.org/onlinedocs/gcc-7.3.0/gcc/RISC-V-Options.html
4178         https://gnu-mcu-eclipse.github.io/toolchain/riscv/
4180 2018-03-08  Paul Eggert  <eggert@cs.ucla.edu>
4182         fflush: be more paranoid about libio.h change
4183         Suggested by Eli Zaretskii in:
4184         https://lists.gnu.org/r/emacs-devel/2018-03/msg00270.html
4185         * lib/fbufmode.c (fbufmode):
4186         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
4187         (disable_seek_optimization, rpl_fflush):
4188         * lib/fpending.c (__fpending):
4189         * lib/fpurge.c (fpurge):
4190         * lib/freadable.c (freadable):
4191         * lib/freadahead.c (freadahead):
4192         * lib/freading.c (freading):
4193         * lib/freadptr.c (freadptr):
4194         * lib/freadseek.c (freadptrinc):
4195         * lib/fseeko.c (fseeko):
4196         * lib/fseterr.c (fseterr):
4197         * lib/fwritable.c (fwritable):
4198         * lib/fwriting.c (fwriting):
4199         Look at _IO_ftrylockfile as well as at _IO_EOF_SEEN.
4201 2018-03-07  Paul Eggert  <eggert@cs.ucla.edu>
4203         maint: write-file-hooks -> before-save-hook
4204         write-file-hooks is obsolete since Emacs 22.1 (released June 2007) and
4205         it's time to use the recommended replacement.
4206         Problem reported by Glenn Morris in:
4207         https://lists.gnu.org/r/bug-gnulib/2018-03/msg00008.html
4208         * build-aux/announce-gen, build-aux/bootstrap:
4209         * build-aux/do-release-commit-and-tag, build-aux/gendocs.sh:
4210         * build-aux/git-version-gen, build-aux/gitlog-to-changelog:
4211         * build-aux/gnu-web-doc-update, build-aux/gnupload:
4212         * build-aux/move-if-change, build-aux/prefix-gnulib-mk:
4213         * build-aux/update-copyright, build-aux/useless-if-before-free:
4214         * build-aux/vc-list-files:
4215         Update hook usage for files where Gnulib is the canonical source.
4217 2018-03-05  Paul Eggert  <eggert@cs.ucla.edu>
4219         binary-io: pacify gcc -Wunused-parameter
4220         Problem reported by Reuben Thomas in:
4221         https://lists.gnu.org/r/bug-gnulib/2018-03/msg00005.html
4222         * lib/binary-io.h (__gl_setmode, __gl_setmode_check):
4223         Use _GL_UNUSED where appropriate.
4225         fflush: adjust to glibc 2.28 libio.h removal
4226         Problem reported by Daniel P. Berrangé in:
4227         https://lists.gnu.org/r/bug-gnulib/2018-03/msg00000.html
4228         * lib/fbufmode.c (fbufmode):
4229         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
4230         (disable_seek_optimization, rpl_fflush):
4231         * lib/fpending.c (__fpending):
4232         * lib/fpurge.c (fpurge):
4233         * lib/freadable.c (freadable):
4234         * lib/freadahead.c (freadahead):
4235         * lib/freading.c (freading):
4236         * lib/freadptr.c (freadptr):
4237         * lib/freadseek.c (freadptrinc):
4238         * lib/fseeko.c (fseeko):
4239         * lib/fseterr.c (fseterr):
4240         * lib/fwritable.c (fwritable):
4241         * lib/fwriting.c (fwriting):
4242         Check _IO_EOF_SEEN instead of _IO_ftrylockfile.
4243         * lib/stdio-impl.h (_IO_IN_BACKUP) [_IO_EOF_SEEN]:
4244         Define if not already defined.
4246 2018-02-27  Paul Eggert  <eggert@cs.ucla.edu>
4248         environ: fix link error on 32-bit Cygwin
4249         Problem reported for GNU Emacs by Ken Brown in:
4250         https://lists.gnu.org/r/emacs-devel/2018-02/msg00765.html
4251         * lib/unistd.in.h (environ) [__i386__]: Do not redeclare.
4253 2018-02-24  Bruno Haible  <bruno@clisp.org>
4255         mbrtowc tests: Fix regression on glibc.
4256         Reported by Bernhard Voelker.
4257         * tests/test-mbrtowc.c (main): Fix expected value of wc.
4259 2018-02-24  Bruno Haible  <bruno@clisp.org>
4261         striconveha, uniconv/*: Avoid test failures on musl libc.
4262         * tests/iconvsupport.c: New file.
4263         * tests/test-striconveha.c (main): Skip autodetect_jp tests if iconv()
4264         does not support the ISO-2022-JP-2 encoding.
4265         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
4266         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
4267         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
4268         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
4269         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
4270         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
4271         * modules/striconveha-tests (Files): Add tests/iconvsupport.c.
4272         (Makefile.am): Link test-striconveha with iconvsupport.o.
4273         * modules/uniconv/u8-conv-from-enc-tests (Files): Add
4274         tests/iconvsupport.c.
4275         (Makefile.am): Link test-u8-conv-from-enc with iconvsupport.o.
4276         * modules/uniconv/u8-strconv-from-enc-tests (Files): Add
4277         tests/iconvsupport.c.
4278         (Makefile.am): Link test-u8-strconv-from-enc with iconvsupport.o.
4279         * modules/uniconv/u16-conv-from-enc-tests (Files): Add
4280         tests/iconvsupport.c.
4281         (Makefile.am): Link test-u16-conv-from-enc with iconvsupport.o.
4282         * modules/uniconv/u16-strconv-from-enc-tests (Files): Add
4283         tests/iconvsupport.c.
4284         (Makefile.am): Link test-u16-strconv-from-enc with iconvsupport.o.
4285         * modules/uniconv/u32-conv-from-enc-tests (Files): Add
4286         tests/iconvsupport.c.
4287         (Makefile.am): Link test-u32-conv-from-enc with iconvsupport.o.
4288         * modules/uniconv/u32-strconv-from-enc-tests (Files): Add
4289         tests/iconvsupport.c.
4290         (Makefile.am): Link test-u32-strconv-from-enc with iconvsupport.o.
4292 2018-02-24  Bruno Haible  <bruno@clisp.org>
4294         localename: Add support for musl libc.
4295         * m4/localename.m4 (gl_LOCALENAME): Check for <langinfo.h>.
4296         * lib/localename.c (gl_locale_name_thread_unsafe): Use NL_LOCALE_NAME
4297         on Linux platforms which define NL_LOCALE_NAME.
4299 2018-02-24  Bruno Haible  <bruno@clisp.org>
4301         mbrtowc tests: Don't make assumptions about the charset the C locale.
4302         * tests/test-mbrtowc.c (main): For bytes >= 0x80, don't assume a
4303         particular mapping in the C locale.
4305 2018-02-24  Bruno Haible  <bruno@clisp.org>
4307         ptsname_r: Don't expect that this function sets errno.
4308         * tests/test-ptsname_r.c (test_errors): Don't test errno after return
4309         from ptsname_r().
4310         * doc/glibc-functions/ptsname_r.texi: Mention the issue.
4312 2018-02-23  Bruno Haible  <bruno@clisp.org>
4314         xmalloca: pacify gcc -Wbad-function-cast
4315         * lib/xmalloca.h (xmalloca): Insert intermediate cast here as well.
4317 2018-02-23  Paul Eggert  <eggert@cs.ucla.edu>
4319         nl_langinfo: pacify gcc -Wunused-function
4320         * lib/nl_langinfo.c (ctype_codeset): Do not define if
4321         REPLACE_NL_LANGINFO && !GNULIB_defined_CODESET, as it is unused in
4322         this case.  Without this change, I got a diagnostic when building
4323         coreutils on Fedora 27 with gcc 7.3.1 20180130.
4325         same: pacify gcc -Wunused-variable
4326         * lib/same.c (same_nameat) [!CHECK_TRUNCATION]:
4327         Omit unused variable.
4329         malloca: pacify gcc -Wbad-function-cast
4330         * lib/malloca.h (malloca): Pacify gcc -Wbad-function-cast
4331         diagnostic that I got on Fedora 27 with gcc 7.3.1 20180130.
4332         To pacify GCC, I had to cast alloca’s result to some type other
4333         than void * before casting that to uintptr_t.
4335 2018-02-20  Paul Eggert  <eggert@cs.ucla.edu>
4337         utimecmp: new function utimecmpat
4338         * lib/utimecmp.c: Include fcntl.h, sys/stat.h and dirname.h.
4339         Do not include utimens.h.
4340         (utimecmpat): New function, generalizing utimecmp.
4341         (utimecmp): Now a thin layer around utimecmpat.
4342         * modules/utimecmp (Depends-on): Depend on dirname-lgpl, fstatat,
4343         utimensat instead of on lstat and utimens.
4345         same: new function same_nameat
4346         * lib/same.c: Include fcntl.h.
4347         * lib/same.c (same_nameat): New function, generalizing same_name.
4348         (same_name): Now a thin layer around same_nameat.
4349         * m4/same.m4 (gl_SAME): Check for fpathconf, not pathconf.
4350         * modules/same (Depends-on): Depend on fstatat, openat.
4352 2018-02-18  Eric Gallager  <egall@gwmail.gwu.edu>  (tiny change)
4354         warnings: Add support for Objective C.
4355         * m4/warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS(Objective C)): New
4356         macro.
4358 2018-02-17  Bruno Haible  <bruno@clisp.org>
4360         lock: Fix test-once1 crash on FreeBSD11.
4361         * lib/glthread/lock.h: On FreeBSD, test the weak value of the symbol
4362         'pthread_create', not 'pthread_cancel'.
4364 2018-02-17  Bruno Haible  <bruno@clisp.org>
4366         lock: Add test of gl_once.
4367         * tests/test-once.c: New file.
4368         * modules/lock-tests (Files): Add it.
4369         (Makefile.am): Build and test programs 'test-once1' and 'test-once2'.
4371 2018-02-17  Bruno Haible  <bruno@clisp.org>
4373         thread: Fix compilation error on IRIX.
4374         * lib/glthread/thread.h: Include <unistd.h>. Include <signal.h> when
4375         needed; include it outside the C++ extern "C" {} block.
4376         * doc/posix-headers/pthread.texi: Mention the problem with
4377         pthread_atfork on IRIX.
4379 2018-02-04  Bruno Haible  <bruno@clisp.org>
4381         nl_langinfo: Override the system's nl_langinfo() when needed.
4382         Reported by Jim Meyering.
4383         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Set REPLACE_NL_LANGINFO=1
4384         also when HAVE_LANGINFO_T_FMT_AMPM or HAVE_LANGINFO_ALTMON is 0.
4386 2018-02-04  Bruno Haible  <bruno@clisp.org>
4388         signal-h, monetary, strings: Fix build failure in some cases.
4389         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
4390         * modules/signal-h (Makefile.am): In the GNULIB_* substitutions, use '/'
4391         as delimiter in sed command, not '|'.
4392         * modules/monetary (Makefile.am): Likewise.
4393         * modules/strings (Makefile.am): Likewise.
4395 2018-02-03  Jim Meyering  <meyering@fb.com>
4397         maint.mk: exempt "/proc/filesystems" from "file system" syntax check
4398         * top/maint.mk (sc_file_system): Don't complain about
4399         "/proc/filesystems".
4401 2018-02-03  Bruno Haible  <bruno@clisp.org>
4403         stdlib: Fix compilation error on OpenIndiana.
4404         * lib/stdlib.in.h: Before including <sys/loadavg.h>, include
4405         <sys/time.h>.
4406         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
4407         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
4409 2018-02-03  Bruno Haible  <bruno@clisp.org>
4411         host-cpu-c-abi: Avoid use of 'grep -E' on OpenIndiana.
4412         * m4/asm-underscore.m4 (gl_ASM_SYMBOL_PREFIX): Require AC_PROG_EGREP,
4413         and use $EGREP instead of 'grep -E'.
4414         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Use 'grep' instead of
4415         'grep -E'.
4417 2018-02-02  Paul Eggert  <eggert@cs.ucla.edu>
4419         malloca: Add a compile-time verification.
4420         * lib/malloca.c (small_t): Verify that it is wide enough.
4421         * modules/malloca (Depends-on): Add verify.
4423 2018-02-02  Bruno Haible  <bruno@clisp.org>
4425         malloca: Add an argument check.
4426         Suggested by Paul Eggert.
4427         * lib/malloca.c (freea): Check against an invalid argument.
4429 2018-02-02  Bruno Haible  <bruno@clisp.org>
4431         localename: Add support for OpenIndiana.
4432         * lib/localename.c (gl_locale_name_thread_unsafe): Add code for
4433         Solaris 11 variants with uselocale() but without getlocalename_l().
4435 2018-02-02  Bruno Haible  <bruno@clisp.org>
4437         malloca, xmalloca: Make multithread-safe.
4438         Reported by Florian Weimer <fweimer@redhat.com>.
4439         Implements an idea by Ondřej Bílka <neleai@seznam.cz>.
4440         * lib/malloca.h (malloca): In the stack allocation case, return a
4441         pointer that is a multiple of 2 * sa_alignment_max.
4442         (sa_increment): Remove enum item.
4443         * lib/xmalloca.h (xmalloca): In the stack allocation case, return
4444         a pointer that is a multiple of 2 * sa_alignment_max.
4445         * lib/malloca.c (NO_SANITIZE_MEMORY): Remove macro.
4446         (MAGIC_NUMBER, MAGIC_SIZE, preliminary_header, HEADER_SIZE, header,
4447         HASH_TABLE_SIZE, mmalloca_results): Remove.
4448         (small_t): New type.
4449         (mmalloca, free): Rewritten.
4450         * lib/malloca.valgrind: Remove file.
4451         * modules/malloca (Files): Remove it.
4452         (Depends-on): Remove verify.
4454 2018-01-31  Bruno Haible  <bruno@clisp.org>
4456         environ: Fix link error on 64-bit Cygwin.
4457         * lib/unistd.in.h (environ): On Cygwin, redeclare with the
4458         __declspec(dllimport) attribute.
4459         * doc/posix-functions/environ.texi: Mention the Cygwin problem.
4461 2018-01-30  Bruno Haible  <bruno@clisp.org>
4463         get-rusage-data: Add support for Minix 3.
4464         * lib/get-rusage-data.c (get_rusage_data): Return 0 on Minix.
4466 2018-01-30  Bruno Haible  <bruno@clisp.org>
4468         vma-iter: Add support for Minix 3.
4469         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Minix.
4470         * lib/vma-iter.c: On Minix, read /proc/<pid>/map.
4472 2018-01-27  Bruno Haible  <bruno@clisp.org>
4474         Fix malfunction of socket functions on HP-UX in 64-bit mode.
4475         * m4/socketlib.m4 (gl_SOCKETLIB): Add comment.
4476         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define
4477         _HPUX_ALT_XOPEN_SOCKET_API.
4478         * modules/accept (Depends-on): Add 'extensions'.
4479         * modules/getpeername (Depends-on): Likewise.
4480         * modules/getsockname (Depends-on): Likewise.
4481         * modules/getsockopt (Depends-on): Likewise.
4482         * modules/recvfrom (Depends-on): Likewise.
4483         * doc/posix-functions/accept.texi: Mention the HP-UX socklen_t problem.
4484         * doc/posix-functions/getpeername.texi: Likewise.
4485         * doc/posix-functions/getsockname.texi: Likewise.
4486         * doc/posix-functions/getsockopt.texi: Likewise.
4487         * doc/posix-functions/recvfrom.texi: Likewise.
4489 2018-01-27  Bruno Haible  <bruno@clisp.org>
4491         getsockname tests: More tests.
4492         * tests/test-getsockname.c (open_server_socket): New function, mostly
4493         copied from test-poll.c.
4494         (main): Check that getsockname fills in addr.
4495         * modules/getsockname-tests (Depends-on): Add the necessary
4496         dependencies.
4497         (test_getsockname_LDADD): Link with $(INET_PTON_LIB).
4499 2018-01-26  Paul Eggert  <eggert@cs.ucla.edu>
4501         manywarnings: fix maintainer comment
4502         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Fix comment so that
4503         it does not mistakenly think that ‘-1)’ is an option.
4505 2018-01-26  Bruno Haible  <bruno@clisp.org>
4507         langinfo: Fix last commit.
4508         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
4509         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_ALTMON.
4511 2018-01-24  Bruno Haible  <bruno@clisp.org>
4513         langinfo, nl_langinfo: Add support for alternative month names.
4514         * m4/langinfo_h.m4 (gl_LANGINFO_H): Define HAVE_LANGINFO_ALTMON.
4515         * lib/langinfo.in.h (ALTMON_1...ALTMON_12): New macros.
4516         * lib/nl_langinfo.c (rpl_nl_langinfo): Treat ALTMON_i like MON_i.
4517         * tests/test-nl_langinfo.c (main): Test ALTMON_*.
4518         * doc/posix-headers/langinfo.texi: Document support of ALTMON_*.
4519         * doc/posix-functions/nl_langinfo.texi: Likewise.
4521 2018-01-23  Paul Eggert  <eggert@cs.ucla.edu>
4523         Merge strftime.c changes from glibc
4524         This incorporates:
4525         2017-11-14 [BZ #10871] Implement alternative month names
4526         2017-11-14 [BZ #10871] Abbreviated alternative month names (%Ob)
4527         2017-06-20 Use locale_t, not __locale_t, throughout glibc
4528         * lib/nstrftime.c (ABALTMON_1) [!COMPILE_WIDE]: New macro.
4529         (LOCALE_PARAM) [_LIBC && USE_IN_EXTENDED_LOCALE_MODEL]:
4530         Use locale_t, not __locale_t.
4531         (a_altmonth, f_altmonth, aam_len) [_NL_CURRENT]: New macros.
4532         (__strftime_internal): Add support for alternate months.
4534 2018-01-23  Bruno Haible  <bruno@clisp.org>
4536         doc: Mention another prerequisite for using Gnulib.
4537         Reported at <https://stackoverflow.com/questions/48378214/>.
4538         * doc/gnulib-tool.texi (Initial import): Mention requirement to use
4539         AC_CONFIG_HEADERS.
4541 2018-01-22  Mathieu Lirzin  <mthl@gnu.org>
4543         build: GuixSD doesn't have /bin/bash
4544         * Makefile (SHELL): Search 'bash' in the PATH environment variable.
4546 2018-01-21  Bruno Haible  <bruno@clisp.org>
4548         Avoid test failures on Microsoft Windows Subsystem for Linux.
4549         * tests/test-fcntl.c (main): Allow a different errno.
4550         * tests/test-rename.h (test_rename): Likewise.
4551         * tests/test-renameat.c (main): Likewise.
4552         * tests/test-renameat2.c (main): Likewise.
4554 2018-01-14  Paul Eggert  <eggert@cs.ucla.edu>
4556         filenamecat: make base a suffix of result
4557         * lib/filenamecat-lgpl.c (longest_relative_suffix): Remove.
4558         (mfile_name_concat): Always make BASE a suffix of the result, as
4559         cp expects this.  To implement this, separate with '.' instead of
4560         '/' in some rare cases.  Clarify spec to say ./BASE not BASE.
4561         * tests/test-filenamecat.c (main): Adjust tests to match
4562         current behavior.  Check that BASE_IN_RESULT points to
4563         a copy of BASE and is a suffix of the resultk, and that DIR
4564         is a prefix of the result that is no longer than the prefix
4565         indicated by BASE_IN_RESULT.
4567 2018-01-04  Mathieu Lirzin  <mthl@gnu.org>
4569         update-copyright: Handle use of ©
4570         * build-aux/update-copyright ($circle_c_re): Update regex to
4571         handle use of © in headers.
4573 2018-01-04  Tim Rühsen  <tim.ruehsen@gmx.de>
4575         Fix -Wundef warning in user-included header lib/cdefs.h.
4576         * lib/cdefs.h: Check if defined before using __USE_FORTIFY_LEVEL.
4578 2018-01-04  Bruno Haible  <bruno@clisp.org>
4580         pthread_sigmask: Avoid compilation error on mingw.
4581         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
4582         * lib/signal.in.h (pthread_sigmask): Don't declare it it's defined as a
4583         macro.
4585 2018-01-03  Paul Eggert  <eggert@cs.ucla.edu>
4587         test-framework-sh: ‘ps -ef’, not ‘ps ef’
4588         * tests/init.sh (rand_bytes_): Put ‘-’ before new-style ps options.
4589         Suggested by Bob Proulx (Bug#29968).
4590         * build-aux/mktempd (rand_bytes): Make it like tests/init.sh.
4592 2018-01-02  Eric Blake  <eblake@redhat.com>
4594         stat-time: silence -Wunused-parameter regression
4595         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
4596         Prefer attribute over cast-to-void.
4597         (stat_time_normalize): Mark st as potentially unused.
4599 2018-01-02  Paul Eggert  <eggert@cs.ucla.edu>
4601         test-framework-sh: avoid netstat
4602         Problem reported by Kristýna Streitová (Bug#29947).
4603         * tests/init.sh (rand_bytes_): Stop using netstat, as it's
4604         deprecated on SuSE and it's not that important anyway.
4606 2018-01-01  Jim Meyering  <meyering@fb.com>
4608         update-copyright: add code to handle more special cases
4609         After running "make update-copyright" this year, five files
4610         required additional manual changes.  Automate those adjustments
4611         for next year.
4612         * Makefile (_year_and_prev): Define.
4613         (update-copyright): Add perl commands to induce this year's post-
4614         update-copyright adjustments.
4616 2018-01-01  Paul Eggert  <eggert@cs.ucla.edu>
4618         version-etc: new year
4619         * build-aux/gendocs.sh (version):
4620         * doc/gendocs_template:
4621         * doc/gendocs_template_min:
4622         * doc/gnulib.texi:
4623         * lib/version-etc.c (COPYRIGHT_YEAR):
4624         Update copyright dates by hand in templates and the like.
4626         maint: fix 'make update-copyright'
4627         * Makefile (update-copyright): Adjust to 2016-11-23 change
4628         to config/srclist-update, which changed the format of srclist.txt.
4630 2017-12-30  Paul Eggert  <eggert@cs.ucla.edu>
4632         chdir-safer: remove this module
4633         * MODULES.html.sh (func_all_modules): Remove chdir-safer.
4634         * NEWS: Document removal.
4635         * lib/chdir-safer.c, lib/chdir-safer.h, m4/afs.m4, m4/chdir-safer.m4:
4636         * modules/chdir-safer: Remove these files.
4638 2017-12-29  Samuel Thibault  <samuel.thibault@gnu.org>
4640         Add cross-compilation results for GNU/Hurd.
4641         * m4/calloc.m4: Add GNU/Hurd guess.
4642         * m4/cbrtl.m4: Likewise.
4643         * m4/ceil.m4: Likewise.
4644         * m4/ceilf.m4: Likewise.
4645         * m4/ceill.m4: Likewise.
4646         * m4/chown.m4: Likewise.
4647         * m4/duplocale.m4: Likewise.
4648         * m4/exp2l.m4: Likewise.
4649         * m4/expm1.m4: Likewise.
4650         * m4/fchdir.m4: Likewise.
4651         * m4/floor.m4: Likewise.
4652         * m4/floorf.m4: Likewise.
4653         * m4/fmod.m4: Likewise.
4654         * m4/fmodf.m4: Likewise.
4655         * m4/fmodl.m4: Likewise.
4656         * m4/getcwd.m4: Likewise.
4657         * m4/getgroups.m4: Likewise.
4658         * m4/gettimeofday.m4: Likewise.
4659         * m4/hypot.m4: Likewise.
4660         * m4/hypotf.m4: Likewise.
4661         * m4/hypotl.m4: Likewise.
4662         * m4/link-follow.m4: Likewise.
4663         * m4/link.m4: Likewise.
4664         * m4/linkat.m4: Likewise.
4665         * m4/log.m4: Likewise.
4666         * m4/log10.m4: Likewise.
4667         * m4/log10f.m4: Likewise.
4668         * m4/log1p.m4: Likewise.
4669         * m4/log1pf.m4: Likewise.
4670         * m4/log1pl.m4: Likewise.
4671         * m4/log2.m4: Likewise.
4672         * m4/log2f.m4: Likewise.
4673         * m4/logf.m4: Likewise.
4674         * m4/lstat.m4: Likewise.
4675         * m4/malloc.m4: Likewise.
4676         * m4/mbrlen.m4: Likewise.
4677         * m4/mbrtowc.m4: Likewise.
4678         * m4/mkdir.m4: Likewise.
4679         * m4/mkfifo.m4: Likewise.
4680         * m4/mknod.m4: Likewise.
4681         * m4/mkstemp.m4: Likewise.
4682         * m4/modf.m4: Likewise.
4683         * m4/modff.m4: Likewise.
4684         * m4/modfl.m4: Likewise.
4685         * m4/printf.m4: Likewise.
4686         * m4/pselect.m4: Likewise.
4687         * m4/ptsname.m4: Likewise.
4688         * m4/putenv.m4: Likewise.
4689         * m4/readlink.m4: Likewise.
4690         * m4/realloc.m4: Likewise.
4691         * m4/remainder.m4: Likewise.
4692         * m4/remainderf.m4: Likewise.
4693         * m4/remainderl.m4: Likewise.
4694         * m4/rmdir.m4: Likewise.
4695         * m4/round.m4: Likewise.
4696         * m4/roundf.m4: Likewise.
4697         * m4/roundl.m4: Likewise.
4698         * m4/select.m4: Likewise.
4699         * m4/setenv.m4: Likewise.
4700         * m4/signbit.m4: Likewise.
4701         * m4/sleep.m4: Likewise.
4702         * m4/stat.m4: Likewise.
4703         * m4/strerror.m4: Likewise.
4704         * m4/strtok_r.m4: Likewise.
4705         * m4/symlink.m4: Likewise.
4706         * m4/symlinkat.m4: Likewise.
4707         * m4/trunc.m4: Likewise.
4708         * m4/truncf.m4: Likewise.
4709         * m4/truncl.m4: Likewise.
4710         * m4/tzset.m4: Likewise.
4711         * m4/ungetc.m4: Likewise.
4712         * m4/usleep.m4: Likewise.
4713         * m4/wcwidth.m4: Likewise.
4715 2017-12-28  Bruno Haible  <bruno@clisp.org>
4717         gnulib-tool: Make --conditional-dependencies work better.
4718         Reported by Dmitry Selyutin <ghostman.sd@gmail.com>.
4719         * gnulib-tool (Options): Don't reject the combination of
4720         --conditional-dependencies with --with-tests.
4721         (func_emit_autoconf_snippets): Add argument referenceable_modules.
4722         Don't reference $modules.
4723         (func_import, func_create_testdir): Pass it.
4725 2017-12-19  Paul Eggert  <eggert@cs.ucla.edu>
4727         regex: use re_malloc etc. consistently
4728         Problem and original patch reported by Arnold Robbins in:
4729         https://sourceware.org/ml/libc-alpha/2017-12/msg00241.html
4730         * lib/regcomp.c (re_comp):
4731         * lib/regexec.c (push_fail_stack, build_trtable, match_ctx_clean):
4732         Use re_malloc/re_realloc/re_free instead of malloc/realloc/free.
4734 2017-12-15  Tim Rühsen  <tim.ruehsen@gmx.de>
4735             Paul Eggert  <eggert@cs.ucla.edu>
4737         glob: Silence warning about void pointer arithmetic.
4738         * lib/glob.c (glob): Use a 'char *', not a 'void *', in pointer
4739         arithmetic.
4741 2017-12-15  Bruno Haible  <bruno@clisp.org>
4743         spawn-pipe: Silence a clang warning.
4744         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
4745         * lib/spawn-pipe.c: Disable clang -Wconditional-uninitialized warnings
4746         in this file.
4748 2017-12-12  Paul Eggert  <eggert@cs.ucla.edu>
4750         explicit_bzero: port to macOS + Clang 9.0.0
4751         Problem reported by Marcus Johnson (Bug#29658).
4752         * lib/explicit_bzero.c (explicit_bzero) [__clang__]:
4753         Don’t use asm.
4755 2017-12-11  Reuben Thomas  <rrt@sc3d.org>
4757         doc: Improve explanation of supporting relocatable libraries.
4758         * doc/relocatable-maint.texi (Supporting Relocation): Explain
4759         properly how to build the relocatable module for
4760         libraries. (Method and example code from Bruno Haible.)
4762 2017-12-11  Reuben Thomas  <rrt@sc3d.org>
4764         doc: Use better texinfo tags in a few cases.
4765         * doc/gnulib.texi (Extending Gnulib): Use @option or @command
4766         instead of @samp in a few places.
4768 2017-12-11  Bruno Haible  <bruno@clisp.org>
4770         unistr/base: Update comment.
4771         * lib/unistr.in.h: Update comment about u*_mbtouc_unsafe functions.
4773 2017-12-10  Pádraig Brady  <P@draigBrady.com>
4775         test-faccessat.c: unlink temp file to avoid subsequent test failure
4776         * tests/test-faccessat.c: Remove the file to avoid failure
4777         to open the file on subsequent runs due to being created
4778         with no permissions.
4780 2017-12-10  Bruno Haible  <bruno@clisp.org>
4782         doc: New sect. "Modifying the build rules of a Gnulib import directory".
4783         * doc/gnulib-tool.texi (Modified build rules): New node.
4785 2017-12-10  Bruno Haible  <bruno@clisp.org>
4787         doc: Tweak wording.
4788         * doc/gnulib-tool.texi (Multiple instances): Talk about "programs", not
4789         "binaries".
4791 2017-12-05  Sam Steingold  <sds@gnu.org>
4792             Bruno Haible  <bruno@clisp.org>
4794         no-c++: Avoid "egrep: repetition-operator operand invalid" error.
4795         * m4/no-c++.m4 (gt_NO_CXX): Don't use '+' characters nor spaces in the
4796         AC_EGREP_CPP pattern.
4798 2017-12-03  Bruno Haible  <bruno@clisp.org>
4800         all: Replace more http URLs by https URLs.
4801         * lib/sm3.h, lib/sm3.c, tests/test-sm3.c: Use https: URL.
4802         * lib/unigbrk/u-grapheme-breaks.h: Likewise.
4803         * lib/unigbrk/uc-grapheme-breaks.c: Likewise.
4804         * tests/unigbrk/test-uc-grapheme-breaks.c: Likewise.
4806 2017-11-28  Paul Eggert  <eggert@cs.ucla.edu>
4808         Port better to CentOS 5
4809         Problems reported by Tom G. Christensen in:
4810         https://lists.gnu.org/r/bug-gnulib/2017-11/msg00053.html
4811         * doc/glibc-functions/strverscmp.texi (strverscmp):
4812         Document strverscmp bug with glibc 2.9 and earlier.
4813         * doc/posix-functions/tzset.texi (tzset):
4814         Document that TZ with angle brackets is POSIX-2001 and later.
4815         * tests/test-nstrftime.c: Include unistd.h.
4816         (TZ_ANGLE_BRACKETS_SHOULD_WORK): New macro.
4817         (TZ): Use it to skip tests with angle brackets in TZ,
4818         for older systems.
4820         stat: add missing module dependencies
4821         * modules/lstat, modules/stat, modules/utimensat (Depends-on):
4822         Add stat-time.
4824 2017-11-28  Benno Schulenberg  <bensberg@telfort.nl>
4826         stat: fix compilation failure on macOS Sierra
4827         Reported by Marius Schamschula <mschamschula@gmail.com> in:
4828         https://savannah.gnu.org/bugs/?52546
4829         * lib/stat.c: Add missing include of stat-time.h.
4831 2017-11-28  Jim Meyering  <meyering@fb.com>
4833         test-faccessat.c: correct BASE definition to avoid parallel test failure
4834         * tests/test-faccessat.c (BASE): Define using this file's name, not
4835         that of test-lstat.c.  Using the latter caused this test to fail
4836         sometimes when run concurrently with test-lstat.
4838 2017-11-27  Daiki Ueno  <ueno@gnu.org>
4840         unicase: fix VPATH build
4841         * modules/unicase/special-casing (Makefile.am): Ensure that the
4842         base directory is created when generating
4843         unicase/special-casing.h.
4845 2017-11-27  Daiki Ueno  <ueno@gnu.org>
4847         libunistring: update to Unicode 9.0.0
4848         * lib/gen-uni-tables.c (fill_properties): Recognize
4849         Sentence_Terminal and Prepended_Concatenation_Mark.
4850         (is_property_default_ignorable_code_point): Exclude U+08E2.
4851         (fill_arabicshaping): Allow missing whitespace when parsing;
4852         recognize "AFRICAN FEH", "AFRICAN QAF", and "AFRICAN MOON".
4853         (output_blocks): Increase the element size of the level1 table to
4854         accommodate more blocks.
4855         (get_lbp): Recognize ZWJ, E_Base, and E_Modifier characters;
4856         Update each class according to the standard.
4857         (get_wbp): Recognize ZWJ, E_Base, E_Modifier, Glue_After_Zwj, and
4858         E_Base_GAZ characters.
4859         (output_gbp_table): Recognize ZWJ, E_Base, E_Modifier,
4860         Glue_After_Zwj, and E_Base_GAZ characters.
4861         * lib/unictype.in.h (UC_JOINING_GROUP_AFRICAN_FEH)
4862         (UC_JOINING_GROUP_AFRICAN_QAF, UC_JOINING_GROUP_AFRICAN_MOON): New
4863         enum value.
4864         * lib/unilbrk/lbrktables.h (LBP_ZWJ, LBP_EB, LBP_EM): New enum
4865         value.
4866         * lib/unilbrk/lbrktables.c (unilbrk_table): Extend the table with
4867         LBP_ZWJ, LBP_EB, and LBP_EM.
4868         * lib/uniwbrk.in.h (WBP_ZWJ, WBP_EB, WBP_EM, WBP_GAZ, WBP_EBG): New
4869         enum value.
4870         * lib/uniwbrk/u-wordbreaks.h: Implement WB3c, WB15, and WB16.
4871         * lib/uniwbrk/wbrktable.h (uniwbrk_prop_index): New variable
4872         declaration.
4873         * lib/uniwbrk/wbrktable.c (uniwbrk_prop_index): New variable.
4874         (uniwbrk_table): Implement WB14.
4875         * tests/uniwbrk/test-uc-wordbreaks.c (wordbreakproperty_to_string):
4876         Check WBP_ZWJ, WBP_EB, WBP_EM, WBP_GAZ, and WBP_EBG.
4877         * modules/unigbrk/u{32,16,8}-grapheme-breaks: No longer depend on
4878         uc-is-grapheme-break.
4879         * modules/unigbrk/uc-grapheme-breaks: New module.
4880         * modules/unigbrk/uc-grapheme-breaks-tests: New module.
4881         * lib/unigbrk.in.h (GBP_ZWJ, GBP_EB, GBP_EM, GBP_GAZ, GBP_EBG): New
4882         enum value.
4883         (uc_grapheme_breaks): New function, replacing uc_is_grapheme_break.
4884         * lib/unigbrk/u-grapheme-breaks.h: New file.
4885         * lib/unigbrk/u{32,16,8}-grapheme-breaks.c: Rewrite using
4886         u-grapheme-breaks.h instead of uc_is_grapheme_break.
4887         * lib/unigbrk/uc-grapheme-breaks.c: New file.
4888         * lib/unigbrk/uc-is-grapheme-break.c: Partially update to TR29 rev
4889         29.
4890         * tests/unigbrk/test-uc-gbrk-prop.c
4891         (graphemebreakproperty_to_string): Check GBP_ZWJ, GBP_EB, GBP_EM,
4892         GBP_GAZ, and GBP_EBG.
4893         * tests/unigbrk/test-uc-grapheme-breaks.c: New test.
4894         * tests/unigbrk/test-uc-is-grapheme-break.c
4895         (graphemebreakproperty_to_string): Check GBP_ZWJ, GBP_EB, GBP_EM,
4896         GBP_GAZ, and GBP_EBG.
4897         (main): Skip unsupported rules involving 3 or more characters,
4898         namely GB10, GB12, and GB13.
4899         * lib/uniwidth/width.c (nonspacing_table_data): Update.
4900         * all generated files under lib/uni* and tests/uni*: Regenerate.
4901         * all the affected modules: Bump version.
4903 2017-11-26  Bruno Haible  <bruno@clisp.org>
4905         strfmon_l: Fix compilation error with glibc 2.5.
4906         Reported by Tom G. Christensen <tgc@jupiterrise.com>
4907         in <https://lists.gnu.org/r/bug-gnulib/2017-11/msg00051.html>.
4908         * lib/monetary.in.h: Include also <locale.h>.
4910 2017-11-24  Paul Eggert  <eggert@cs.ucla.edu>
4912         posixtm: remove PDS_LEADING_YEAR
4913         This changes the API slightly, in a hopefully-innocuous way.
4914         Without this change the code had undefined behavior when a
4915         caller specified neither PDS_LEADING_YEAR nor PDS_TRAILING_YEAR.
4916         Problem reported by Pádraig Brady in:
4917         https://lists.gnu.org/r/bug-gnulib/2017-11/msg00048.html
4918         * NEWS: Mention this.
4919         * lib/posixtm.c (posix_time_parse): Treat the absence of
4920         PDS_TRAILING_YEAR as if PDS_LEADING_YEAR were present.
4921         * lib/posixtm.h (PDS_LEADING_YEAR): Remove (actually, leave it
4922         present, but define it as zero, for compatibility with existing
4923         source code).  All other PDS_* values moved up.
4924         * tests/test-posixtm.c (LY): New macro.
4925         (T): Use it.  Do not expect a particular numeric encoding
4926         for PDS_CENTURY etc.
4928 2017-11-23  Paul Eggert  <eggert@cs.ucla.edu>
4930         stat: work around Solaris bug with tv_nsec < 0
4931         * doc/posix-functions/fstat.texi (fstat):
4932         * doc/posix-functions/fstatat.texi (fstatat):
4933         * doc/posix-functions/lstat.texi (lstat):
4934         * doc/posix-functions/stat.texi (stat):
4935         Mention Solaris 11 bug.
4936         * lib/fstat.c, lib/fstatat.c, lib/lstat.c: Include stat-time.h.
4937         * lib/fstat.c (rpl_fstat) [!WINDOWS_NATIVE]:
4938         * lib/lstat.c (rpl_lstat):
4939         * lib/stat.c (rpl_stat):
4940         Normalize resulting timestamps.
4941         * lib/fstatat.c (normal_fstatat): New function.
4942         (rpl_fstatat): Use it.
4943         * lib/stat-time.h: Include intprops.h, errno.h, stddef.h.
4944         (stat_time_normalize): New function.
4945         * m4/fstat.m4 (gl_FUNC_FSTAT):
4946         * m4/fstatat.m4 (gl_FUNC_FSTATAT):
4947         * m4/lstat.m4 (gl_FUNC_LSTAT):
4948         * m4/stat.m4 (gl_FUNC_STAT):
4949         Replace on Solaris.
4950         * modules/fstat (Depends-on):
4951         * modules/fstatat (Depends-on):
4952         Add stat-time.
4953         * modules/stat-time (Depends-on): Add errno, intprops.
4955 2017-11-22  Paul Eggert  <eggert@cs.ucla.edu>
4957         regex: merge from glibc
4958         * lib/regcomp.c (init_word_char): Add comments.
4960 2017-11-20  Paul Eggert  <eggert@cs.ucla.edu>
4962         regex: merge from glibc
4963         * lib/regcomp.c (__regcomp, __regfree) [_LIBC]: Now hidden.
4964         * lib/regex_internal.h (internal_function): Remove.
4965         All uses removed.
4967 2017-11-20  Bruno Haible  <bruno@clisp.org>
4969         crypto/gc-sm3: Fix buffer overrun.
4970         * lib/gc-gnulib.c (MAX_DIGEST_SIZE): Bump to 32.
4971         Reported by Coverity.
4973 2017-11-12  Jim Meyering  <meyering@fb.com>
4975         maint: shorten https://lists.gnu.org/archive/html/... links
4976         Each /archive/html/ part can be replace with /r/.
4977         Run this to induce the change:
4978         git grep -l archive/html|xargs perl -pi -e 's,/archive/html/,/r/,g'
4979         * ChangeLog: Perform that substitution.
4980         * Makefile: Likewise.
4981         * STATUS-libposix: Likewise.
4982         * build-aux/bootstrap: Likewise.
4983         * doc/maintain.texi: Likewise.
4984         * gnulib-tool: Likewise.
4985         * lib/allocator.h: Likewise.
4986         * lib/argp-ba.c: Likewise.
4987         * lib/argp-pv.c: Likewise.
4988         * lib/canon-host.c: Likewise.
4989         * lib/canonicalize-lgpl.c: Likewise.
4990         * lib/float.in.h: Likewise.
4991         * lib/fstat.c: Likewise.
4992         * lib/getdelim.c: Likewise.
4993         * lib/getprogname.c: Likewise.
4994         * lib/glthread/thread.h: Likewise.
4995         * lib/intprops.h: Likewise.
4996         * lib/mbsrtowcs-state.c: Likewise.
4997         * lib/safe-read.c: Likewise.
4998         * lib/signal.in.h: Likewise.
4999         * lib/stat.c: Likewise.
5000         * lib/stdbool.in.h: Likewise.
5001         * lib/stdio-impl.h: Likewise.
5002         * lib/stdio.in.h: Likewise.
5003         * lib/sysexits.in.h: Likewise.
5004         * lib/timespec.h: Likewise.
5005         * lib/wcsrtombs-state.c: Likewise.
5006         * m4/alloca.m4: Likewise.
5007         * m4/extern-inline.m4: Likewise.
5008         * m4/fstatat.m4: Likewise.
5009         * m4/gnulib-common.m4: Likewise.
5010         * m4/lib-ignore.m4: Likewise.
5011         * m4/printf.m4: Likewise.
5012         * m4/regex.m4: Likewise.
5013         * m4/stat-size.m4: Likewise.
5014         * m4/std-gnu11.m4: Likewise.
5015         * m4/stdbool.m4: Likewise.
5016         * m4/sys_types_h.m4: Likewise.
5017         * m4/threadlib.m4: Likewise.
5018         * m4/vararrays.m4: Likewise.
5019         * pygnulib/GLImport.py: Likewise.
5020         * tests/test-exp.h: Likewise.
5021         * tests/test-exp2.h: Likewise.
5022         * tests/test-expm1.h: Likewise.
5023         * tests/test-fflush2.c: Likewise.
5024         * tests/test-getopt_long.h: Likewise.
5025         * tests/test-intprops.c: Likewise.
5026         * tests/test-log.h: Likewise.
5027         * tests/test-log10.h: Likewise.
5028         * tests/test-log1p.h: Likewise.
5029         * tests/test-log2.h: Likewise.
5030         * tests/test-printf-posix.h: Likewise.
5031         * tests/test-regex.c: Likewise.
5032         * tests/test-snprintf-posix.h: Likewise.
5033         * tests/test-sprintf-posix.h: Likewise.
5034         * tests/test-stdalign.c: Likewise.
5035         * tests/test-stdbool.c: Likewise.
5036         * tests/test-vasnprintf-posix.c: Likewise.
5037         * tests/test-vasprintf-posix.c: Likewise.
5038         * top/maint.mk: Likewise.
5040 2017-11-12  Bruno Haible  <bruno@clisp.org>
5042         faccessat: Make the last change more robust.
5043         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Require
5044         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Treat "guessing yes" like "yes".
5046 2017-11-11  Paul Eggert  <eggert@cs.ucla.edu>
5048         faccessat: port to macOS (Bug#29231)
5049         macOS faccessat has the same bug that lstat does: if the file
5050         name ends in '/' it ignores the trailing slash.
5051         Problem reported for Emacs by Vincent Zhang.
5052         * doc/posix-functions/faccessat.texi (faccessat): Document this.
5053         * lib/faccessat.c (_GL_INCLUDING_UNISTD_H): Define and undef
5054         around the initial includes.  Include errno.h, string.h, sys/stat.h.
5055         (orig_faccessat) [HAVE_FACCESSAT]: New function.
5056         Include "unistd.h" after defining it.
5057         (rpl_faccessat) [HAVE_FACCESSAT]: New implementation.
5058         * lib/unistd.in.h (faccessat) [REPLACE_FACCESSAT]:
5059         Handle in the usual way.
5060         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Replace faccessat if
5061         lstat dereferences symlinks, since faccessat is likely to
5062         have the same problem.
5063         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Default REPLACE_ACCESSAT.
5064         * modules/faccessat (Depends-on): Add fstatat.
5065         Depend if REPLACE_FACCESSAT is 1, too.
5066         (configure.ac): Link if REPLACE_FACCESSAT is 1.
5067         * modules/faccessat-tests (Depends-on): Add symlink.
5068         * modules/unistd (unistd.h): Substitute REPLACE_FACCESSAT.
5069         * tests/test-faccessat.c (main): Test for the bug.
5071 2017-11-11  Bruno Haible  <bruno@clisp.org>
5073         getprogname: Fix compilation error on IRIX.
5074         * lib/getprogname.c (getprogname) [__sgi]: Fix type of local variable
5075         'namesize'.
5077 2017-11-11  Bruno Haible  <bruno@clisp.org>
5079         year2038: Tweak last patch.
5080         * m4/year2038.m4 (gl_YEAR2038): Correct indentation.
5082 2017-11-06  Paul Eggert  <eggert@cs.ucla.edu>
5084         year2038: be more insistent about 64-bit time_t
5085         Applications requiring access to arbitrary files should not be
5086         built with 32-bit time_t on hosts that have 64-bit timestamps,
5087         as this can lead to real trouble at runtime.
5088         * m4/year2038.m4 (gl_YEAR2038): Do not require AC_CANONICAL_HOST.
5089         Check on all systems, not just MinGW.  Use a heuristic involving
5090         TIME_T_32_BIT_OK, cross_compiling, and the touch command to
5091         output a failure or just a warning, to make it more likely that
5092         builders will select 64-bit time_t.
5094 2017-11-05  Paul Eggert  <eggert@cs.ucla.edu>
5096         havelib: fix typo in previous change
5097         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Fix typo.
5099         Don’t use AC_EGREP_CPP if affected by CFLAGS
5100         * m4/float_h.m4 (gl_FLOAT_H):
5101         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI):
5102         * m4/lib-ld.m4 (AC_LIB_PROG_LD):
5103         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB):
5104         * m4/year2038.m4 (gl_YEAR2038):
5105         Prefer AC_COMPILE_IFELSE to AC_EGREP_CPP when testing conditions
5106         likely to be affected by the choice of CFLAGS, since CFLAGS are
5107         not used by AC_EGREP_CPP.  Without this patch, ‘./configure
5108         CFLAGS="-m32"’ fails on gzip with GNU/Linux x86-64.
5110         fstatat: pacify GCC on unusual platform
5111         * lib/fstatat.c (orig_fstatat) [!HAVE_WORKING_FSTATAT_ZERO_FLAG]:
5112         Omit, as it’s unused in this case.
5114 2017-10-29  Paul Eggert  <eggert@cs.ucla.edu>
5116         timespec: prefer ‘assume’ to ‘assure’
5117         This avoids some runtime tests.  The rest of the module makes
5118         similar assumptions and there is little point to testing here.
5119         * lib/timespec.h: Include verify.h instead of assure.h.
5120         (timespec_cmp): Use ‘assume’, not ‘assure’.
5121         Also, remove an unnecessary cast to ‘int’, as lots of other
5122         code in this module now causes -Wconversion to complain, and
5123         this is a problem with -Wconversion not with the code.
5125         * modules/timespec (Depends-on): Depend on ‘verify’, not ‘assure’.
5127         Port recent gnulib-tool change to Dash
5128         * gnulib-tool (func_create_testdir): Don't assume that the shell
5129         retokenizes after expanding "$@" inside the call to
5130         func_execute_command.  Dash 0.5.8-2.1ubuntu2 does not.
5132 2017-10-27  Jim Meyering  <meyering@fb.com>
5134         timespec.h: use "assure" to avoid a spurious warning
5135         * lib/timespec.h: Include "assure.h" and use it to help
5136         gcc7's -Wstrict-overflow avoid a false positive warning
5137         for a use in coreutils' ls.c.  Suggested by Paul Eggert in
5138         https://lists.gnu.org/r/bug-gnulib/2017-10/msg00007.html
5139         * modules/timespec (Depends-on): Add assure.
5141 2017-10-29  Bruno Haible  <bruno@clisp.org>
5143         Avoid several test failures with traditional locales on Haiku.
5144         * m4/locale-ar.m4 (gt_LOCALE_AR): On BeOS and Haiku, set LOCALE_AR=none.
5145         * m4/locale-fr.m4 (gt_LOCALE_FR): On BeOS and Haiku, set LOCALE_FR=none.
5146         * m4/locale-ja.m4 (gt_LOCALE_JA): On BeOS and Haiku, set LOCALE_JA-none.
5147         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On BeOS and Haiku, set
5148         LOCALE_ZH_CN=none.
5150 2017-10-29  Bruno Haible  <bruno@clisp.org>
5152         strerror_r-posix: Fix behaviour and test failure on Haiku.
5153         * lib/strerror_r.c (strerror_r): Don't assume that valid error numbers
5154         are positive. Work around return value 0 instead of ERANGE on Haiku.
5155         For unknown error numbers, use a format string consistent with perror().
5156         * doc/posix-functions/strerror_r.texi: Mention the Haiku problem.
5157         * tests/test-strerror_r.c (main): Don't assume that valid error numbers
5158         are positive.
5160 2017-10-29  Bruno Haible  <bruno@clisp.org>
5162         get-rusage-data: Avoid crash on Haiku.
5163         * lib/get-rusage-data.c: Avoid the setlimit-based implementation.
5165 2017-10-29  Bruno Haible  <bruno@clisp.org>
5167         get-rusage-as: Avoid crash on Haiku.
5168         * lib/get-rusage-as.c: Avoid the setlimit-based implementation.
5170 2017-10-29  Bruno Haible  <bruno@clisp.org>
5172         ilogbl: Ensure replacement on Haiku.
5173         * m4/ilogbl.m4 (gl_FUNC_ILOGBL): Invoke gl_FUNC_ILOGBL_WORKS and set
5174         REPLACE_ILOGBL if ilogbl does not work.
5175         (gl_FUNC_ILOGBL_WORKS): New macro.
5176         * lib/math.in.h (ilogbl): Replace if REPLACE_ILOGBL is 1.
5177         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ILOGBL.
5178         * modules/math (Makefile.am): Substitute REPLACE_ILOGBL.
5179         * modules/ilogbl (Depends-on, configure.ac): Consider REPLACE_ILOGBL.
5180         * doc/posix-functions/ilogbl.texi: Mention the Haiku problem.
5182 2017-10-29  Bruno Haible  <bruno@clisp.org>
5184         expl: Ensure replacement on Haiku.
5185         * m4/expl.m4 (gl_FUNC_EXPL): Test whether an expl() return value is
5186         zero.
5187         * doc/posix-functions/expl.texi: Mention the Haiku problem.
5189 2017-10-29  Bruno Haible  <bruno@clisp.org>
5191         math: Fix test failure on Haiku.
5192         * lib/math.in.h (FP_ILOGB0, FP_ILOGBNAN): Override on Haiku.
5193         * m4/ilogb.m4 (gl_FUNC_ILOGB_WORKS): Update accordingly.
5194         * m4/ilogbf.m4 (gl_FUNC_ILOGBF_WORKS): Likewise.
5195         * doc/posix-headers/math.texi: Mention the Haiku problem.
5197 2017-10-29  Bruno Haible  <bruno@clisp.org>
5199         gnulib-tool: Avoid unnecessary config.h.in remaking in testdirs.
5200         * gnulib-tool (func_create_testdir): Use workaround against 'autoheader'
5201         bug reported at <https://savannah.gnu.org/support/index.php?109406>.
5203 2017-10-29  Bruno Haible  <bruno@clisp.org>
5205         crypto/*: Verify that the header file is self-contained.
5206         * tests/test-gc-*.c: Include the module's header file immediately after
5207         <config.h>.
5208         * tests/test-hmac-*.c: Likewise.
5209         * tests/test-arcfour.c: Likewise.
5210         * tests/test-arctwo.c: Likewise.
5211         * tests/test-des.c: Likewise.
5212         * tests/test-md2.c: Likewise.
5213         * tests/test-md4.c: Likewise.
5214         * tests/test-md5.c: Likewise.
5215         * tests/test-rijndael.c: Likewise.
5216         * tests/test-sha1.c: Likewise.
5217         * tests/test-sm3.c: Likewise.
5219 2017-10-29  Jia Zhang  <qianyue.zj@alibaba-inc.com>
5220             Bruno Haible  <bruno@clisp.org>
5222         crypto/gc: fix build failure with -Werror=suggest-attribute=const
5223         * lib/gc.h (gc_hash_digest_length): Mark with 'const' attribute.
5225 2017-10-29  Jia Zhang  <qianyue.zj@alibaba-inc.com>
5227         New module: crypto/gc-sm3
5228         * lib/gc.h: Declare SM3-related stuffs.
5229         * lib/gc-gnulib.c: Support sm3 in internal functions.
5230         * lib/gc-libgcrypt.c: Support sm3 with libgcrypt.
5231         * m4/gc-sm3.m4: m4 file for gc-sm3 module.
5232         * modules/crypto/gc-sm3: Define gc-sm3 module.
5233         * tests/test-gc-sm3.c: Implement SM3 test case with libgcrypt.
5234         * modules/crypto/gc-sm3-tests: Define gc-sm3 test module.
5235         * MODULES.html.sh: List gc-sm3 module.
5237 2017-10-29  Bruno Haible  <bruno@clisp.org>
5239         random, random_r: Mention different prototypes on Haiku.
5240         * doc/posix-functions/random.texi: Mention different prototype on Haiku.
5241         * doc/glibc-functions/random_r.texi: Likewise.
5242         * doc/glibc-functions/initstate_r.texi: Likewise.
5243         * doc/glibc-functions/setstate_r.texi: Likewise.
5245 2017-10-28  Bruno Haible  <bruno@clisp.org>
5247         posix_spawn: Avoid spurious message in configure output.
5248         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Discard stderr output from
5249         'cmp' command.
5251 2017-10-28  Bruno Haible  <bruno@clisp.org>
5253         inet_ntop, inet_pton: Determine needed library correctly on Haiku.
5254         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Search also in libnetwork.
5255         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
5257 2017-10-28  Bruno Haible  <bruno@clisp.org>
5259         ioctl: Override non-POSIX declaration on Haiku.
5260         * m4/ioctl.m4 (gl_FUNC_IOCTL): Include also <unistd.h>.
5261         * lib/sys_ioctl.in.h: Add comment about Haiku.
5262         * doc/posix-functions/ioctl.texi: Mention Haiku problem.
5263         * doc/glibc-headers/sys_ioctl.texi: Likewise.
5265 2017-10-28  Bruno Haible  <bruno@clisp.org>
5267         crypto/sm3: Add overview documentation to the .h file.
5268         * lib/sm3.h: Add comments.
5270 2017-10-28  Jia Zhang  <qianyue.zj@alibaba-inc.com>
5272         New module: crypto/sm3
5273         This new module can be used to compute SM3 message digest of files or
5274         memory blocks according to the specification GM/T 004-2012
5275         Cryptographic Hash Algorithm SM3, published by State Cryptography
5276         Administration, China.
5277         The official SM3 cryptographic hash algorithm specification is
5278         available at
5279         http://www.sca.gov.cn/sca/xwdt/2010-12/17/content_1002389.shtml
5280         * lib/sm3.h: Declare the APIs of sm3 module.
5281         * lib/sm3.c: Implement SM3 hash algorithm.
5282         * m4/sm3.m4: m4 file for sm3 module.
5283         * modules/crypto/sm3: Define sm3 module.
5284         * tests/test-sm3.c: Implement SM3 test case.
5285         * modules/crypto/sm3-tests: Define sm3 test module.
5286         * MODULES.html.sh: List sm3 module.
5288 2017-10-28  Jia Zhang  <qianyue.zj@alibaba-inc.com>
5290         gc-libgcrypt: fix undefined enum type in switch statement
5291         Resolve the following build failure:
5292         lib/gc-libgcrypt.c: In function 'gc_hash_open':
5293         lib/gc-libgcrypt.c:317:5: error: case value '0' not in enumerated type
5294         'Gc_hash_mode {aka enum Gc_hash_mode}' [-Werror=switch]
5295              case 0:
5296              ^~~~
5297         * lib/gc.h (enum Gc_hash_mode): Add value GC_NULL.
5298         * lib/gc-libgcrypt.c (gc_hash_open): Use this enum value instead of 0.
5300 2017-10-28  Jia Zhang  <qianyue.zj@alibaba-inc.com>
5302         gc-libgcrypt: fix assignment error due to -Werror=pointer-sign
5303         Resolve the following build failure:
5304         lib/gc-libgcrypt.c: In function 'gc_hash_read':
5305         lib/gc-libgcrypt.c:460:14: error: pointer targets in assignment differ
5306         in signedness [-Werror=pointer-sign]
5307             digest = gcry_md_read (ctx->gch, 0);
5308                    ^
5309         * lib/gc-libgcrypt.c (gc_hash_read): Cast result of gcry_md_read.
5311 2017-10-26  Bruno Haible  <bruno@clisp.org>
5313         havelib: Fix value of LD for 32-bit compilation on NetBSD/sparc64.
5314         * m4/lib-ld.m4 (AC_LIB_PROG_LD): On NetBSD/sparc64 with CC="gcc -m32",
5315         set LD to '/usr/bin/ld -m elf32_sparc', not '/usr/bin/ld'.
5317 2017-10-21  Paul Eggert  <eggert@cs.ucla.edu>
5319         glob: fix another heap buffer overflow
5320         Problem reported by Tim Rühsen in:
5321         https://sourceware.org/bugzilla/show_bug.cgi?id=22332
5322         * lib/glob.c (glob): Avoid buffer overrun when unescaping.
5324 2017-10-19  Paul Eggert  <eggert@cs.ucla.edu>
5326         quotearg: pacify compiler re unsigned
5327         * lib/quotearg.c (quotearg_n_options):
5328         Rewrite to avoid diagnostic from overly-picky compiler.
5329         Problem reported by Sami Kerola in:
5330         https://lists.gnu.org/r/bug-gnulib/2017-10/msg00060.html
5332         glob: fix heap buffer overflow
5333         * lib/glob.c (glob): Fix off-by-one error introduced into
5334         glibc in commit dd7d45e838a42b0ed470c44b55901ea98d0c2bab
5335         dated 1997-10-29 20:33:40.  Problem reported by Tim Rühsen in:
5336         https://sourceware.org/bugzilla/show_bug.cgi?id=22320
5337         Fix suggested by Bruno Haible.
5339 2017-10-18  Paul Eggert  <eggert@cs.ucla.edu>
5341         glob: pacify fuzzer for mempcpy
5342         Problem reported by Tim Rühsen in:
5343         https://lists.gnu.org/r/bug-gnulib/2017-10/msg00054.html
5344         * lib/glob.c (glob): Do not pass NULL to mempcpy.
5346 2017-10-12  Bruno Haible  <bruno@clisp.org>
5348         doc: Fix syntax error (regression from 2017-10-03).
5349         * doc/posix-functions/strncpy.texi: Fix syntax error.
5351 2017-10-12  Bruno Haible  <bruno@clisp.org>
5353         doc: Update for Solaris 11.3.
5354         * doc/**/*.texi: For bugs that exist in both Solaris 11.0 and 11.3,
5355         mention Solaris 11.3.
5356         * m4/log2.m4: Fix comments.
5357         * m4/log2f.m4: Likewise.
5358         * m4/printf.m4: Update comments.
5359         * m4/rename.m4: Likewise.
5360         * m4/strncat.m4: Likewise.
5362         all: Write "Solaris 11.0" instead of "Solaris 11 2011-11".
5364 2017-10-10  Bruno Haible  <bruno@clisp.org>
5366         doc: Improve doc about ioctl.
5367         * doc/posix-functions/ioctl.texi: Fix list of platforms with non-POSIX
5368         prototype.
5370 2017-10-09  Bruno Haible  <bruno@clisp.org>
5372         wcwidth: Don't use obsolete syntax of 'test'.
5373         Reported by Eric Blake.
5374         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Don't optimize two 'test'
5375         invocations into one, as POSIX marks '-a' and '-o' as "obsolescent".
5377 2017-10-09  Bruno Haible  <bruno@clisp.org>
5379         getopt-posix: Fix build failure when using ac_cv_header_getopt_h=no.
5380         Reported by Christian Ehrhardt <christian.ehrhardt@canonical.com>
5381         and Daniel P. Berrange <berrange@redhat.com>.
5382         * lib/unistd.in.h (getopt): Don't attempt to avoid namespace pollution
5383         on glibc systems. The getopt-pfx-core.h file declares exactly what
5384         unistd.h needs, nothing more.
5386 2017-10-08  Bruno Haible  <bruno@clisp.org>
5388         vma-iter: Improve support for FreeBSD.
5389         * lib/vma-iter.c (vma_iterate_proc): New function, extracted from
5390         vma_iterate.
5391         (vma_iterate): Use it. For FreeBSD, try vma_iterate_bsd first.
5393 2017-10-08  Bruno Haible  <bruno@clisp.org>
5395         vma-iter: Fix truncated result on NetBSD (regression from 2017-10-07).
5396         * lib/vma-iter.c (MIN_LEFTOVER): Define to 1, not 0.
5398 2017-10-07  KO Myung-Hun  <komh@chollian.net>
5400         test-framework-sh: Fix 'invalid path dir' error.
5401         On OS/2, a path separator is ';' not ':'. And ':' is used as a
5402         separator between a drive letter and directory parts.
5403         As a result, an absolute path such as x:/path/to/dir on OS/2 is
5404         treated as an invalid path dir.
5405         * tests/init.sh (PATH_SEPARATOR): Set at startup.
5406         (path_prepend_): '?:*' is also an absolute path. Use $PATH_SEPARATOR
5407         instead of hard coded ':'.
5409 2017-10-07  Bruno Haible  <bruno@clisp.org>
5411         vma-iter: Fix truncated result on Linux (regression from 2017-09-26).
5412         * lib/vma-iter.c (MIN_LEFTOVER): New macro.
5413         (STACK_ALLOCATED_BUFFER_SIZE): Set to a minimal value if not needed.
5414         (rof_open): On Linux, do multiple read() calls and make sure
5415         MIN_LEFTOVER bytes are left when read() returns.
5417 2017-10-07  Bruno Haible  <bruno@clisp.org>
5419         vma-iter: Improve support for GNU/Hurd.
5420         * lib/vma-iter.c (vma_iterate): On GNU/Hurd, use the Mach vm_region()
5421         API, not the /proc file system.
5423 2017-10-07  Bruno Haible  <bruno@clisp.org>
5425         test-framework-sh: Don't require bash on Windows and OS/2.
5426         Reported by KO Myung-Hun.
5427         * tests/test-init.sh: Use 'shopt' only when running in bash.
5429 2017-10-06  KO Myung-Hun  <komh@chollian.net>
5431         wcwidth: check a macro version of wcwidth () as well
5432         * lib/wchar.in.h: Revert commit from 2016-01-14.
5433         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test if wcwidth is a macro.
5435 2017-10-06  Bruno Haible  <bruno@clisp.org>
5437         getopt-posix: Clarify copyright header.
5438         * lib/getopt.in.h: Don't state that gnulib is under LGPL.
5439         * lib/getopt-pfx-core.h: Likewise.
5440         * lib/getopt-pfx-ext.h: Likewise.
5441         * lib/getopt-cdefs.in.h: Likewise.
5443 2017-10-03  Bruno Haible  <bruno@clisp.org>
5445         Fix warning "`gl_HOST_CPU_C_ABI' was expanded before it was required".
5446         * modules/host-cpu-c-abi (configure.ac): Require, don't invoke
5447         gl_HOST_CPU_C_ABI.
5449 2017-10-03  Bruno Haible  <bruno@clisp.org>
5451         doc: warn about misuse of strncpy and wcsncpy.
5452         * doc/posix-functions/strcpy.texi: Describe requirements on prior
5453         memory allocation.
5454         * doc/posix-functions/wcscpy.texi: Likewise.
5455         * doc/posix-functions/strncpy.texi: Describe what this function is not
5456         useful for.
5457         * doc/posix-functions/wcsncpy.texi: Likewise.
5459 2017-10-02  Paul Eggert  <eggert@cs.ucla.edu>
5461         fsuage: fix typo in previous change
5462         * lib/fsusage.c: Remove stray include of full-read.h.
5463         Problem reported by Sam Steingold for macOS (Bug#28669).
5465 2017-10-01  Paul Eggert  <eggert@cs.ucla.edu>
5467         fsusage: remove SVR2 support
5468         SVR2 was obsolete by 1986 and is no longer supported by anybody,
5469         and its code was getting in the way of use of this module by
5470         Emacs, which has its own ‘read’ function anyway.
5471         * lib/fsusage.c: Do not include sys/filsys.h.
5472         (get_fs_usage): Remove SVR2-specific code.
5473         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE):
5474         Do not test for sys/filsys.h or set STAT_READ_FILSYS.
5475         * modules/fsusage (Depends-on): Do not depend on full-read.
5477         Simplify autoupdate of licenses
5478         * config/srclistvars.sh (GNUWWWLICENSES): Move to a more-typical
5479         place.
5481 2017-10-01  Bruno Haible  <bruno@clisp.org>
5483         vma-iter: Add support for GNU/Hurd.
5484         * lib/vma-iter.c: Treat GNU/Hurd like Linux.
5485         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on GNU/kFreeBSD.
5487 2017-09-30  Bruno Haible  <bruno@clisp.org>
5489         vma-iter: Make it work on 32-bit Solaris with module 'largefile'.
5490         * modules/vma-iter: Don't test for sys/procfs.h, as this test would
5491         fail when module 'largefile' is in use.
5492         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Don't test HAVE_SYS_PROCFS_H.
5493         * lib/vma-iter.c: Undefine _FILE_OFFSET_BITS early.
5494         Don't test HAVE_SYS_PROCFS_H.
5496 2017-09-30  Bruno Haible  <bruno@clisp.org>
5498         havelib: Make it work for CC="gcc -m32" (regression from 2017-02-19).
5499         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Require gl_HOST_CPU_C_ABI.
5500         When $CC produces 32-bit code, set acl_libdirstem to 'lib', not 'lib64'.
5501         * modules/havelib (Depends-on): Add host-cpu-c-abi.
5503 2017-09-30  Bruno Haible  <bruno@clisp.org>
5505         uniname/uniname: Don't assume C99 compiler (regression from 2015-02-16).
5506         * lib/uniname/uniname.c (unicode_name_character): Add braces around
5507         scope of local variables.
5509 2017-09-28  Bruno Haible  <bruno@clisp.org>
5511         string: code style
5512         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Reorder list of
5513         substitutable variables.
5514         * modules/string (Makefile.am): Likewise.
5516 2017-09-26  Bruno Haible  <bruno@clisp.org>
5518         uniname/uniname-tests: Tighten code.
5519         * tests/uniname/test-uninames.c (fill_names, fill_aliases): Merge two
5520         local variables into one.
5522 2017-09-26  Bruno Haible  <bruno@clisp.org>
5524         vma-iter: Improvements for Linux and BSD platforms.
5525         - Add support for DragonFly BSD.
5526         - Make it more reliable on Linux, GNU/kFreeBSD, FreeBSD, NetBSD.
5527         * lib/vma-iter.c (struct rofile, rof_open, rof_peekchar, rof_close):
5528         Read the entire file into memory in a single system call.
5529         (vma_iterate): Update. Read from /proc on DragonFly BSD like on FreeBSD.
5530         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on DragonFly BSD.
5532 2017-09-26  Bruno Haible  <bruno@clisp.org>
5534         vma-iter: Provide the protection flags on FreeBSD.
5535         * lib/vma-iter.c (vma_iterate) [FreeBSD]: When reading from /proc,
5536         skip three fields between the addresses and the protection flags.
5538 2017-09-26  Paul Eggert  <eggert@cs.ucla.edu>
5540         glob: remove bogus extern decl
5541         * lib/glob.c (__glob_pattern_type): Remove now-spurious
5542         extern declaration.  Problem reported by Adhemerval Zanella in:
5543         https://sourceware.org/ml/libc-alpha/2017-09/msg00972.html
5545 2017-09-25  Paul Eggert  <eggert@cs.ucla.edu>
5547         uniname/uniname-tests: integer overflow fix
5548         * tests/uniname/test-uninames.c (fill_names, fill_aliases):
5549         Check for integer overflow.
5551         duplocale-tests: fix unlikely crash
5552         * tests/test-duplocale.c (get_locale_dependent_values):
5553         Don’t crash with absurdly long month names.
5555         maint: fix overflow checking in nap.h
5556         * modules/chown-tests:
5557         * modules/fchownat-tests, modules/fdutimensat-tests:
5558         * modules/futimens-tests, modules/lchown-tests:
5559         * modules/stat-time-tests, modules/utime-tests:
5560         * modules/utimens-tests, modules/utimensat-tests:
5561         Depend on intprops.
5562         * tests/nap.h: Include intprops.h.
5563         (diff_timespec): Handle overflow properly.
5565         sys_types: update URL
5566         * m4/sys_types_h.m4: Use https: URL.
5568         parse-datetime: fix dependency
5569         * modules/parse-datetime (Depends-on): Depend
5570         on nstrftime, not strftime.
5572         parse-datetime, posixtm: avoid uninit access
5573         * lib/parse-datetime.y (parse_datetime2):
5574         * lib/posixtm.c (posixtime):
5575         Do not access uninitialized storage, even though the resulting
5576         value is never used.
5578 2017-09-25  Bruno Haible  <bruno@clisp.org>
5580         vma-iter: Improvements for BSD platforms.
5581         - Add support for GNU/kFreeBSD.
5582         - Make it work on FreeBSD and NetBSD even when /proc is not mounted.
5583         - Speed up on OpenBSD.
5584         * lib/vma-iter.c (struct rofile, rof*): Define also on GNU/kFreeBSD.
5585         (vma_iterate_bsd): New function.
5586         (vma_iterate): Use it as fallback on FreeBSD and NetBSD. Use it as
5587         first choice on OpenBSD. Treat GNU/kFreeBSD like Linux.
5588         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on GNU/kFreeBSD.
5589         * modules/vma-iter (configure.ac): Require AC_C_INLINE.
5591 2017-09-23  Bruno Haible  <bruno@clisp.org>
5593         strfmon_l: New module.
5594         * modules/strfmon_l: New file.
5595         * lib/strfmon_l.c: New file.
5596         * m4/strfmon_l.m4: New file.
5597         * doc/posix-functions/strfmon_l.texi: Mention the new module.
5598         * modules/strfmon_l-tests: New file.
5599         * tests/test-strfmon_l.c: New file.
5601         monetary: New module.
5602         * modules/monetary: New file.
5603         * lib/monetary.in.h: New file.
5604         * m4/monetary_h.m4: New file.
5605         * doc/posix-headers/monetary.texi: Mention the new module.
5606         * modules/monetary-tests: New file.
5607         * tests/test-monetary.c: New file.
5608         * modules/monetary-c++-tests: New file.
5609         * tests/test-monetary-c++.cc: New file.
5610         * modules/duplocale-tests (configure.ac): Use AC_CHECK_HEADERS_ONCE.
5612 2017-09-23  Bruno Haible  <bruno@clisp.org>
5614         duplocale tests: Fix test crash on Linux/x86.
5615         * tests/test-duplocale.c (test_with_uselocale): Disconnect the mixed2
5616         locale from the current thread before freeing it.
5618 2017-09-21  Paul Eggert  <eggert@cs.ucla.edu>
5620         mktime: port to OpenVMS
5621         Problem reported by John E. Malmberg in:
5622         https://lists.gnu.org/r/bug-gnulib/2017-09/msg00100.html
5623         * m4/mktime.m4 (TIME_T_IS_SIGNED): Default to 0.
5625 2017-09-16  Paul Eggert  <eggert@cs.ucla.edu>
5627         manywarnings: port to GCC on 64-bit MS-Windows
5628         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Work better if
5629         LONG_MAX < PTRDIFF_MAX.  Problem reported by Richard Copley in:
5630         https://lists.gnu.org/r/emacs-devel/2017-09/msg00392.html
5632 2017-09-13  Bruno Haible  <bruno@clisp.org>
5634         all: Replace many more http URLs by https URLs. Update stale URLs.
5635         * users.txt: Remove mention of 'newts'.
5636         * lib/localename.c: Update comment about LANG_SOTHO.
5638 2017-09-13  Paul Eggert  <eggert@cs.ucla.edu>
5640         all: Replace many http URLs by https URLs.
5642 2017-09-12  Bruno Haible  <bruno@clisp.org>
5644         doc: Prefer https URLs where possible.
5645         * doc/**/*.texi: Use https URLs instead of http URLs where possible.
5646         * doc/ld-output-def.texi: Remove unavailable URL.
5648 2017-09-12  Paul Eggert  <eggert@cs.ucla.edu>
5650         maintainer-makefile: FTP -> HTTPS
5651         * top/maint.mk (url_dir_list, ftp-gnu): Use HTTPS protocol instead
5652         of FTP, which is planned to be decommissioned on 2017-11-01.
5654 2017-09-12  Tim Rühsen  <tim.ruehsen@gmx.de>  (tiny change)
5656         libc-config: Fix __GNUC_PREREQ macro.
5657         * lib/libc-config.h (__GNUC_PREREQ): Use __GNUC_MINOR__, not
5658         __GNUC_MINOR.
5660 2017-09-09  Bruno Haible  <bruno@clisp.org>
5662         gnulib-tool: Simplify commit from 2015-08-20.
5663         * gnulib-tool (func_add_or_update): Remove local variable
5664         is_binary_file.
5666 2017-09-08  Bruno Haible  <bruno@clisp.org>
5668         stddef: Avoid conflict with system-defined max_align_t.
5669         The configure-determined HAVE_MAX_ALIGN_T may not always be accurate.
5670         Reported by Werner Lemberg <wl@gnu.org> in
5671         <https://lists.gnu.org/r/bug-gnulib/2017-08/msg00185.html>.
5672         * lib/stddef.in.h (rpl_max_align_t): Renamed from max_align_t.
5673         (max_align_t): Define as a macro.
5674         (GNULIB_defined_max_align_t): New macro. Guards against multiple
5675         definitions of rpl_max_align_t in different copies of gnulib-generated
5676         <stddef.h>.
5678 2017-09-05  Paul Eggert  <eggert@cs.ucla.edu>
5680         libc-config: port to MSVC
5681         Problems reported by Gisle Vanem in:
5682         http://lists.gnu.org/r/bug-gnulib/2017-09/msg00016.html
5683         * lib/libc-config.h (__inline): Don't define if HAVE___INLINE.
5684         (libc_hidden_proto): Stick to Standard C syntax for varargs macro.
5685         * m4/__inline.m4: New file.
5686         * modules/libc-config (Files): Add it.
5687         (Depends-on): Use it.
5689         glob: Use enum for __glob_pattern_type result
5690         From a patch proposed by Adhemerval Zanella in:
5691         https://sourceware.org/ml/libc-alpha/2017-09/msg00212.html
5692         * lib/glob_internal.h (GLOBPAT_NONE, GLOBPAT_SPECIAL)
5693         (GLOBPAT_BACKSLASH, GLOBPAT_BRACKET): New constants.
5694         * lib/glob_internal.h (__glob_pattern_type):
5695         * lib/glob.c (glob):
5696         * lib/glob_pattern_p.c (__glob_pattern_p):
5697         Use them.
5699         glob: fix for use in glibc
5700         Problem reported by Adhemerval Zanella in:
5701         https://sourceware.org/ml/libc-alpha/2017-09/msg00213.html
5702         * lib/glob.c (DT_UNKNOWN, DT_DIR, DT_LINK):
5703         Do not redefine if _LIBC.
5705 2017-09-02  Paul Eggert  <eggert@cs.ucla.edu>
5707         glob: fix bugs with long login names
5708         Problem reported by Adhemerval Zanella in:
5709         https://sourceware.org/ml/libc-alpha/2017-08/msg00455.html
5710         * lib/glob.c (GET_LOGIN_NAME_MAX): Remove.
5711         (glob): Use the same scratch buffer for both getlogin_r and
5712         getpwnam_r.  Don’t require preallocation of the login name.  This
5713         simplifies storage allocation, and corrects the handling of
5714         long login names.
5716 2017-09-02  Bruno Haible  <bruno@clisp.org>
5718         dirent: Update doc.
5719         * doc/posix-headers/dirent.texi: More concrete list of platforms.
5721 2017-09-02  Paul Eggert  <eggert@cs.ucla.edu>
5723         glob: fix getpwnam_r errno typo
5724         * lib/glob.c (glob): Fix longstanding misuse of errno after
5725         getpwnam_r, which returns an error number rather than setting
5726         errno.
5728         glob: fix typo in recent change
5729         * lib/glob.c (glob) [!HAVE_GETPWNAM_R && !_LIBC]:
5730         Fix recently-introduced typo.
5732 2017-09-02  Paul Eggert  <eggert@cs.ucla.edu>
5734         glob: don't save and restore errno unnecessarily
5735         * lib/glob.c (glob): Don't save and restore errno
5736         merely because we have getpwnam_r.
5738         glob: don't assume getpwnam_r
5739         * lib/glob.c (glob): Port recent patches to platforms
5740         lacking getpwnam_r.
5742         scratch_buffer: don’t use private glibc API
5743         Suggested by Florian Weimer in:
5744         http://lists.gnu.org/r/bug-gnulib/2017-09/msg00004.html
5745         * lib/scratch_buffer.h: Rename to lib/malloc/scratch_buffer.h.
5746         * lib/scratch_buffer_grow.c: Rename to
5747         lib/malloc/scratch_buffer_grow.c.
5748         * lib/scratch_buffer_grow_preserve.c: Rename to
5749         lib/malloc/scratch_buffer_grow_preserve.c.
5750         * lib/scratch_buffer_set_array_size.c: Rename to
5751         lib/malloc/scratch_buffer_set_array_size.c.
5752         * lib/scratch_buffer.h: New file.
5753         * modules/scratch_buffer (Files, Makefile.am):
5754         Adjust to source-file renaming.
5756 2017-09-01  Paul Eggert  <eggert@cs.ucla.edu>
5758         glob: use scratch_buffer instead of extend_alloca
5759         Much of the lib/glob.c part of this patch comes from a glibc patch
5760         proposed by Adhemerval Zanella in:
5761         https://sourceware.org/ml/libc-alpha/2017-08/msg00456.html
5762         * lib/glob.c: Do not include <config.h>, since <libc-config.h>,
5763         included via glob.h, does this for us now.
5764         (__set_errno): Remove, as libc-config does this for us now.
5765         Include <scratch_buffer.h>.
5766         (GETPW_R_SIZE_MAX): Remove.
5767         (glob): Use struct scratch_buffer instead of extend_alloca.
5768         * lib/glob.in.h: Include libc-config.h rather than
5769         including <sys/cdefs.h> conditionally.
5770         (__BEGIN_DECLS, __END_DECLS, __THROW, __THROWNL, attribute_hidden)
5771         (__glibc_unlikely, __restrict, weak_alias):
5772         Remove, as libc-config does this for us now.
5773         * m4/glob.m4 (gl_PREREQ_GLOB):
5774         Remove sys/cdefs.h tests; no longer needed.
5775         * modules/glob (Depends-on): Add libc-config, scratch_buffer.
5776         (glob.h): Do not replace HAVE_SYS_CDEFS_H.
5778         scratch_buffer: new module
5779         * lib/scratch_buffer.h, lib/scratch_buffer_grow.c:
5780         * lib/scratch_buffer_grow_preserve.c:
5781         * lib/scratch_buffer_set_array_size.c:
5782         New files, copied from glibc with very minor changes that can be
5783         copied back.
5784         * modules/scratch_buffer: New file.
5786         libc-config: new module
5787         * MODULES.html.sh: Add libc-config.
5788         * lib/cdefs.h: New file, copied from the GNU C Library with very
5789         minor changes that can be copied back.
5790         * lib/libc-config.h, modules/libc-config: New files.
5792 2017-08-31  Paul Eggert  <eggert@cs.ucla.edu>
5794         glob: match dangling symlinks
5795         This fixes a bug I inadvertently introduced to Gnulib when I
5796         merged glibc glob back into gnulib on 2007-10-16.  This fix is
5797         inspired by a patch proposed for glibc by Adhemerval Zanella in:
5798         https://sourceware.org/ml/libc-alpha/2017-08/msg00446.html
5799         * doc/posix-functions/glob.texi: Update list of affected platforms.
5800         * lib/glob.c (__lstat64): New macro.
5801         (is_dir): New function.
5802         (glob, glob_in_dir): Match symlinks even if they are dangling.
5803         (link_stat, link_exists_p): Remove.  All uses removed.
5804         * lib/glob.in.h (__attribute_noinline__): Remove; no longer used.
5805         * m4/glob.m4 (gl_PREREQ_GLOB): Do not check for fstatat.
5806         * modules/glob-tests (Depends-on): Add symlink.
5807         * tests/test-glob.c: Include errno.h, unistd.h.
5808         (BASE): New macro.
5809         (main): Test dangling symlinks, if symlinks are supported.
5811         glob, backupfile: inode 0 is a valid inode number
5812         * doc/posix-functions/readdir.texi (readdir):
5813         * doc/posix-headers/dirent.texi (dirent.h):
5814         Document more readdir portability issues.
5815         * lib/backupfile.c (REAL_DIR_ENTRY): Remove.
5816         (numbered_backup): Don’t treat inode 0 any differently from
5817         other inode values.
5818         * lib/glob.c (struct readdir_result): Remove skip_entry member.
5819         (readdir_result_skip_entry, D_INO_TO_RESULT): Remove.
5820         All uses removed.
5821         * modules/glob (Depends-on): Remove d-ino.
5823         glob: simplify symlink detection
5824         * lib/glob.c (dirent_type): New type.  Use uint_fast8_t not
5825         uint8_t, as C99 does not require uint8_t.
5826         (struct readdir_result): Use it.  Do not define skip_entry unless
5827         it is needed; this saves a byte on platforms lacking d_ino.
5828         (readdir_result_type, readdir_result_skip_entry):
5829         New functions, replacing ...
5830         (readdir_result_might_be_symlink, readdir_result_might_be_dir):
5831         ... these functions, which were removed.  This makes the callers
5832         easier to read.  All callers changed.
5833         (D_INO_TO_RESULT): Now empty if there is no d_ino.
5835 2017-08-30  Pádraig Brady  <P@draigBrady.com>
5837         fts-tests: tag as a longrunning-test so not included by default
5838         * modules/fts-tests: This test takes about 20s on current systems,
5839         and uses about 285M of space on ext4.
5841 2017-08-30  Pádraig Brady  <P@draigBrady.com>
5843         renameat2: fix compilation on alpine linux
5844         * m4/renameat.m4: Check for <linux/fs.h> presence.
5845         * lib/renameat2.h: Only include <linux/fs.h> if present.
5846         Reported by Assaf Gordon on Alpine Linux.
5848 2017-08-24  Paul Eggert  <eggert@cs.ucla.edu>
5850         glob: try to port recent changes to MS-Windows
5851         Problem reported by Bruno Haible in:
5852         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00170.html
5853         * lib/glob.c (__glob_pattern_p) [!_LIBC]: Move from here ...
5854         * lib/glob.in.h (__glob_pattern_p): ... to here.
5856 2017-08-24  Eric Blake  <eblake@redhat.com>
5858         warnings: fix compilation with old autoconf
5859         * m4/warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C))
5860         (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C++)): Use m4_defun rather than
5861         AC_DEFUN.
5862         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C))
5863         (gl_MANYWARN_ALL_GCC(C++)): Likewise.
5865 2017-08-24  Bruno Haible  <bruno@clisp.org>
5867         glob: Fix compilation error on NetBSD 7.0 and OpenBSD 6.0.
5868         * modules/glob (Depends-on): Add c99.
5870 2017-08-24  Paul Eggert  <eggert@cs.ucla.edu>
5872         glob: fix typo that broke platforms lacking d_ino
5873         This typo also hurt performance on GNU/Linux and similar hosts.
5874         * lib/glob.c (D_INO_TO_RESULT): Fix typo (reversed ifdef)
5875         in previous change.
5877 2017-08-23  Paul Eggert  <eggert@cs.ucla.edu>
5879         glob: merge from glibc with Zanella glob changes
5880         Merge glob from glibc, with changes for glob proposed
5881         by Adhemerval Zanella in the thread starting here:
5882         https://sourceware.org/ml/libc-alpha/2017-08/msg01079.html
5883         plus some fixes for this merge.
5884         * lib/glob_internal.h, lib/glob_pattern_p.c, lib/globfree.c:
5885         New files, ported from glibc.
5886         * lib/glob-libc.h (_Restrict_): Remove.  All uses replaced
5887         with __restrict.
5888         (__size_t): Remove.  All uses replaced by size_t.
5889         (size_t): Define by defining __need_size_t and including <stddef.h>.
5890         This should work even in non-glibc platforms, where any name
5891         pollution is OK.
5892         Use __USE_MISC instead of __USE_BSD || __USE_GNU.
5893         (struct stat64): Don’t worry about __GLOB_GNULIB.
5894         (glob, globfree, glob_pattern_p): Remove macros for
5895         __USE_FILE_OFFSET64 && __GNUC__ < 2 && !defined __GLOB_GNULIB
5896         case.  Remove _GL_ARG_NONNULL as GNU behavior is to accept NULL
5897         but set errno.
5898         * lib/glob.c (_GL_ARG_NONNULL) [!_LIBC]: Remove.  All uses
5899         removed since the glibc behavior works on null pointers.
5900         Do not include stdio.h; old SunOS is irrelevant now.
5901         Do not worry about GLOB_ONLY_P as we now mimic glibc here.
5902         Include glob_internal.h.
5903         (D_INO_TO_RESULT): Depend on (_LIBC || D_INO_IN_DIRENT), not
5904         ((POSIX || WINDOWS32) && !__GNU_LIBRARY__).  The latter probably
5905         worked only coincidentally.
5906         (attribute_hidden, __attribute_noinline__, __glibc_unlikely):
5907         Remove macros; now done in glob.in.h.
5908         (size_add_wrapv): Do not use __builtin_add_overflow if __ICC.
5909         (glob): Properly initialize glob structure with
5910         GLOB_BRACE|GLOB_DOOFFS (bug 20707).
5911         Remove old code using SHELL since Bash no longer
5912         uses this.
5913         (glob, prefix_array): Separate MS code better.
5914         (glob, glob_in_dir): Use C99 decls before statements when glibc
5915         does.
5916         (glob_in_dir): Remove old Amiga and VMS code.
5917         (globfree, __glob_pattern_type, __glob_pattern_p): Move to
5918         separate files.
5919         * lib/glob.in.h (attribute_hidden, __attribute_noinline__)
5920         (__glibc_unlikely):
5921         Move here from glob.c.
5922         (__restrict): New macro here, replacing the _Restrict_ in glob.c.
5923         (weak_alias): New macro.
5924         (__size_t): Remove.  All uses replaced by size_t.
5925         * modules/d-ino (License): Now LGPLv2+, for compatibility with glob.
5926         * modules/glob (Files): Add +lib/glob_internal.h,
5927         lib/glob_pattern_p.c, lib/globfree.c.
5928         (Depends-on): Remove snippet/arg-nonnull.
5930 2017-08-22  Paul Eggert  <eggert@cs.ucla.edu>
5932         glob: port to clang's Undefined Sanitizer
5933         Problem reported by Tim Rühsen in:
5934         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00144.html
5935         * lib/glob.c (FLEXIBLE_ARRAY_MEMBER) [_LIBC]: Define to empty.
5936         (glob_in_dir): Do not rely on undefined behavior in accessing
5937         struct members beyond their bounds.  Use a flexible array member
5938         instead.
5940 2017-08-21  Paul Eggert  <eggert@cs.ucla.edu>
5942         vc-list-files: port to Solaris 10
5943         * build-aux/vc-list-files: Don't assume test -e works.
5945 2017-08-21  Karl Berry  <karl@freefriends.org>
5947         * doc/posix-functions/srandom.texi (srandom): typo }.
5949 2017-08-20  Paul Eggert  <eggert@cs.ucla.edu>
5951         git-version-gen: port to Solaris 10
5952         Problem reported by Dagobert Michelsen in:
5953         http://lists.gnu.org/r/grep-devel/2017-08/msg00002.html
5954         * build-aux/git-version-gen (v_from_git):
5955         Use expr instead of shell substitution.
5957 2017-08-19  Bruno Haible  <bruno@clisp.org>
5959         host-cpu-c-abi: Improve detection of MIPS ABI.
5960         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): For MIPS, test the value of
5961         _MIPS_SIM.
5963 2017-08-17  Bruno Haible  <bruno@clisp.org>
5965         hypot tests: Fix test failure on FreeBSD 11.0/x86.
5966         * tests/test-hypot.h (test_function): Declare z as 'volatile'.
5968 2017-08-17  Bruno Haible  <bruno@clisp.org>
5970         float: Fix LDBL_MIN value on FreeBSD/x86.
5971         * lib/float.in.h (LDBL_MIN) [__FreeBSD__]: Add more precision.
5973 2017-08-17  Bruno Haible  <bruno@clisp.org>
5975         random: Fix test compilation failure on Cygwin 1.5.25.
5976         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_INITSTATE,
5977         HAVE_DECL_SETSTATE.
5978         * m4/random.m4 (gl_FUNC_RANDOM): Test whether initstate and setstate are
5979         declared.
5980         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_INITSTATE,
5981         HAVE_DECL_SETSTATE.
5982         * lib/stdlib.in.h (initstate): Declare also if HAVE_DECL_INITSTATE is 0.
5983         (setstate): Declare also if HAVE_DECL_SETSTATE is 0.
5984         * doc/posix-functions/initstate.texi: Mention the Cygwin 1.5.x problem.
5985         * doc/posix-functions/random.texi: Likewise.
5986         * doc/posix-functions/setstate.texi: Likewise.
5987         * doc/posix-functions/srandom.texi: Likewise.
5989 2017-08-16  Bruno Haible  <bruno@clisp.org>
5991         stdnoreturn: Fix test compilation failure on Cygwin.
5992         * m4/stdnoreturn.m4 (gl_STDNORETURN_H): On Cygwin, use gnulib's
5993         <stdnoreturn.h> replacement.
5994         * lib/stdnoreturn.in.h (noreturn): Treat Cygwin like MSVC.
5995         * doc/posix-headers/stdnoreturn.texi: Mention the Cygwin problem.
5997 2017-08-16  Bruno Haible  <bruno@clisp.org>
5999         thread: Fix conflict with pthread_sigmask module.
6000         * lib/glthread/thread.h (pthread_sigmask): Don't declare it weak if
6001         it's defined as a macro.
6002         * modules/thread (Depends-on): Add pthread_sigmask.
6004 2017-08-16  Paul Eggert  <eggert@cs.ucla.edu>
6006         rename: port better to NetBSD
6007         * doc/posix-functions/rename.texi (rename): NetBSD 7
6008         does not have the link-count bug.
6009         * m4/rename.m4 (gl_FUNC_RENAME): Don’t consider NetBSD to be
6010         broken merely because rename ("a", "b") removes "a" when the two
6011         names are hard links to the same file.
6013 2017-08-16  Bruno Haible  <bruno@clisp.org>
6015         iconv_open, uni*: Add support for VPATH builds with OpenBSD 'make'.
6016         * modules/iconv_open (Makefile.am): In the rules that use gperf, prefix
6017         the target file names with '$(srcdir)/'.
6018         * modules/unicase/locale-language (Makefile.am): Likewise.
6019         * modules/unicase/special-casing (Makefile.am): Likewise.
6020         * modules/unictype/bidiclass-byname (Makefile.am): Likewise.
6021         * modules/unictype/category-byname (Makefile.am): Likewise.
6022         * modules/unictype/combining-class-byname (Makefile.am): Likewise.
6023         * modules/unictype/joininggroup-byname (Makefile.am): Likewise.
6024         * modules/unictype/joiningtype-byname (Makefile.am): Likewise.
6025         * modules/unictype/property-byname (Makefile.am): Likewise.
6026         * modules/unictype/scripts (Makefile.am): Likewise.
6027         * modules/uninorm/composition (Makefile.am): Likewise.
6029 2017-08-16  Bruno Haible  <bruno@clisp.org>
6031         nonblocking-socket tests: Fix failure on OpenBSD 6.0.
6032         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE): Increase
6033         value for OpenBSD.
6035 2017-08-16  Bruno Haible  <bruno@clisp.org>
6037         rename, renameat: Update doc regarding NetBSD.
6038         * doc/posix-functions/rename.texi: Clarify that when using
6039         -D_XOPEN_SOURCE=500 on NetBSD 7.0, the hard link bug is gone.
6040         * doc/posix-functions/renameat.texi: Be more precise about NetBSD
6041         version.
6043 2017-08-15  Paul Eggert  <eggert@cs.ucla.edu>
6045         renameat2: port better to macOS
6046         * lib/renameat2.c (renameat2): Use renameatx_np if available.
6048         futimens: don’t assume struct timespec layout
6049         * m4/futimens.m4 (gl_FUNC_FUTIMENS):
6050         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT):
6051         * tests/test-fdutimensat.c (main):
6052         * tests/test-futimens.h (test_futimens):
6053         * tests/test-lutimens.h (test_lutimens):
6054         * tests/test-utimens.h (test_utimens):
6055         * tests/test-utimensat.c (main):
6056         Don’t assume that struct timespec is a two-member structure in
6057         tv_sec, tv_nsec order.  Although this is true on all platforms we
6058         know about, POSIX does not guarantee it.
6060         rename: document+test NetBSD rename
6061         Test failure reported by Bruno Haible in:
6062         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00104.html
6063         This is an area where NetBSD is better-behaved than POSIX,
6064         so allow the NetBSD behavior in tests.
6065         * doc/posix-functions/rename.texi:
6066         * doc/posix-functions/renameat.texi: Document NetBSD behavior.
6067         * tests/test-rename.h (test_rename): Allow NetBSD behavior.
6069 2017-08-15  Bruno Haible  <bruno@clisp.org>
6071         renameat: Ensure declaration in <stdio.h> on NetBSD.
6072         * lib/stdio.in.h: Include <unistd,h> also on NetBSD.
6073         * doc/posix-functions/renameat.texi: Mention this problem.
6075 2017-08-15  Bruno Haible  <bruno@clisp.org>
6077         duplocale: Work around NetBSD 7.0 bug.
6078         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Test against the NetBSD 7.0 bug.
6079         * lib/duplocale.c: Add comment about NetBSD problem.
6080         * doc/posix-functions/duplocale.texi: Mention the NetBSD problem.
6082 2017-08-15  Bruno Haible  <bruno@clisp.org>
6084         duplocale tests: Verify use with *_l functions.
6085         * modules/duplocale-tests (configure.ac): Test for uselocale and
6086         some *_l functions.
6087         * tests/test-duplocale.c (test_with_uselocale): New function, extracted
6088         from main.
6089         (get_locale_dependent_values_from, test_with_locale_parameter): New
6090         functions.
6091         (main): Test both test_with_uselocale and test_with_locale_parameter.
6093 2017-08-15  Bruno Haible  <bruno@clisp.org>
6095         extensions: Enable NetBSD specific extensions.
6096         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _NETBSD_SOURCE.
6098 2017-08-14  Bruno Haible  <bruno@clisp.org>
6100         open, openat: Update doc about O_CLOEXEC.
6101         * doc/posix-functions/open.texi: More concrete list of platforms.
6102         * doc/posix-functions/openat.texi: Likewise.
6104 2017-08-14  Paul Eggert  <eggert@cs.ucla.edu>
6106         open: support O_CLOEXEC
6107         * NEWS, doc/posix-functions/open.texi:
6108         * doc/posix-functions/openat.texi: Document this.
6109         * lib/fcntl.in.h (O_CLOEXEC): Default to a nonzero value.
6110         (GNULIB_defined_O_CLOEXEC): New symbol.
6111         * lib/open.c: Include cloexec.h.
6112         (open): Support O_CLOEXEC.
6113         * lib/openat.c: Include cloexec.h.
6114         (rpl_openat): Support O_CLOEXEC.
6115         * lib/popen-safer.c: Do not include cloexec.h.
6116         (open_noinherit): Remove.
6117         (popen_safer): Use O_CLOEXEC instead of set_cloexec_flag.
6118         * lib/save-cwd.c: Do not include cloexec.h.
6119         (save_cwd): Use O_CLOEXEC instead of set_cloexec_flag.
6120         * m4/open-cloexec.m4: New file.
6121         * m4/open.m4 (gl_FUNC_OPEN): Require gl_PREPROC_O_CLOEXEC.
6122         Replace 'open' if O_CLOEXEC is not present.
6123         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_PREPROC_O_CLOEXEC.
6124         Replace 'openat' if O_CLOEXEC is not present.
6125         * modules/freopen (Depends-on): Depend on 'open' if replacing freopen.
6126         * modules/open (Files): Add m4/open-cloexec.m4.
6127         (Depends-on): Depend on cloexec if replacing 'open'.
6128         * modules/openat (Files): Add m4/open-cloexec.m4.
6129         (Depends-on): Depend on cloexec if replacing openat.
6130         * modules/popen-safer (Depends-on): Remove cloexec.
6131         * modules/save-cwd (Depends-on): Remove cloexec, and add
6132         fd-safer-flag and 'open'.
6134 2017-08-13  Paul Eggert  <eggert@cs.ucla.edu>
6136         reallocarray: minor fixes
6137         * doc/glibc-functions/reallocarray.texi: Update version numbers.
6138         * m4/reallocarray.m4 (gl_FUNC_REALLOCARRAY): Don't trust _cv_ contents.
6139         * modules/reallocarray (License): Change from GPL to LGPL.
6140         * tests/test-reallocarray.c (main): Fix ENOMEM typo.
6141         Indent properly and don't use tabs.
6143 2017-08-13  Darshit Shah  <darnir@gnu.org>
6145         reallocarray: New module
6146         reallocarray is a new function in glibc 2.26 to safely allocate an array
6147         of memory locations with integer overflow protection.
6148         * MODULES.html.sh: Add reallocarray.
6149         * doc/glibc-functions/reallocarray.texi: Documentation for reallocarray.
6150         * lib/reallocarray.c: New file to implement module reallocarray.
6151         * lib/stdlib.in.h: Add function declarations for reallocarray.
6152         * m4/reallocarray.m4: New file.
6153         * m4/stdlib_h.m4: Declare reallocarray.
6154         * modules/reallocarray: New file.
6155         * modules/reallocarray-test: New file.
6156         * modules/stdlib: Coerce stdlib.h to export reallocarray.
6157         * tests/test-reallocarray.c: New test.
6159 2017-08-12  Paul Eggert  <eggert@cs.ucla.edu>
6161         dirent-safer: fix cloexec race
6162         * lib/opendir-safer.c: Include fcntl.h instead of unistd-safer.h.
6163         (opendir_safer): Use F_DUPFD_CLOEXEC.
6164         * modules/dirent-safer (Depends-on): Add fcntl.  Remove unistd-safer.
6165         * tests/test-dirent-safer.c: Do not include unistd-safer.h,
6166         as it is no longer a prerequisite.  Use F_DUPFD_CLOEXEC
6167         instead of dup_safer.
6169         fts: fix cloexec races
6170         * lib/fts.c [!_LIBC]: Do not include dirent--.h, unistd--.h, cloexec.h.
6171         (opendirat, diropen): Use O_CLOEXEC instead of set_cloexec_flag.
6172         (fts_build): Use F_DUPD_CLOEXEC rinstad of set_cloexec_flag.
6173         (fd_ring_check): Set cloexec flag on new file descriptors.
6174         (fts_build, fd_ring_check): While we’re at it, make sure the
6175         resulting file descriptor is not 0, 1, or 2, since that is easy.
6177 2017-08-11  Bruno Haible  <bruno@clisp.org>
6179         fts tests: Fix link error.
6180         Reported by Tom G. Christensen in
6181         https://lists.gnu.org/r/bug-gnulib/2017-08/msg00078.html
6182         * modules/fts-tests (Makefile.am): Link test-fts against LIBINTL.
6184 2017-08-10  Paul Eggert  <eggert@cs.ucla.edu>
6186         fts: port recent changes to CentOS 6
6187         Problem reported by Tom G. Christensen in:
6188         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00064.html
6189         * lib/fts.c (fsword): New type.
6190         (struct dev_type, filesystem_type): Use it.
6191         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for __fsword_t.
6192         Also, check for f_type only if fstatfs and sys/vfs.h work.
6194 2017-08-09  Paul Eggert  <eggert@cs.ucla.edu>
6196         tempname: do not depend on secure_getenv
6197         Excess dependency noted by Eli Zaretskii (Bug#28023#17).
6198         * lib/tempname.c (__secure_getenv) [!_LIBC]: Remove; unused.
6199         * modules/tempname (Depends-on): Remove secure_getenv.
6201 2017-08-08  Paul Eggert  <eggert@cs.ucla.edu>
6203         extensions: add _OPENBSD_SOURCE
6204         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _OPENBSD_SOURCE.
6206 2017-08-06  Reuben Thomas  <rrt@sc3d.org>
6207             Bruno Haible  <bruno@clisp.org>
6209         manywarnings: Add support for C++.
6210         * build-aux/g++-warning.spec: New file.
6211         * m4/manywarnings-c++.m4: New file.
6212         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C++)): New macro, that
6213         redirects to manywarnings-c++.m4.
6214         * modules/manywarnings (Files): Add m4/manywarnings-c++.m4.
6216 2017-08-06  Paul Eggert  <eggert@cs.ucla.edu>
6218         git-version-gen: another fix for tags with "-"
6219         * build-aux/git-version-gen: Improve fix for tags containing "-".
6220         Suggested by Markus Armbruster in:
6221         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00034.html
6223 2017-08-06  Bruno Haible  <bruno@clisp.org>
6225         warnings, manywarnings: Add support for multiple languages, not just C.
6226         * warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS_IMPL): Renamed from
6227         gl_UNKNOWN_WARNINGS_ARE_ERRORS.
6228         (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C)): New macro.
6229         (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C++)): New macro.
6230         (gl_UNKNOWN_WARNINGS_ARE_ERRORS): Dispatch to
6231         gl_UNKNOWN_WARNINGS_ARE_ERRORS(_AC_LANG).
6232         (gl_WARN_ADD): Require the gl_UNKNOWN_WARNINGS_ARE_ERRORS specialization
6233         of the current language. If C++ is the current language, modify
6234         WARN_CXXFLAGS instead of WARN_CFLAGS.
6235         * manywarnings.m4 (gl_MANYWARN_ALL_GCC(C)): New macro, extracted from
6236         gl_MANYWARN_ALL_GCC.
6237         (gl_MANYWARN_ALL_GCC): Dispatch to gl_MANYWARN_ALL_GCC(_AC_LANG).
6239 2017-08-06  Markus Armbruster  <armbru@pond.sub.org>
6241         git-version-gen: Fix for tags containing '-'
6243         Really old versions of git-describe (before v1.5.0, Feb 2007)
6244         don't have the number of commits in their long format output,
6245         i.e. where modern 'git describe --abbrev=4 --match="v*"' prints
6246         "v0.1-1494-g124b9", they print "v0.1-1494-g124b9".  git-version-gen
6247         recognizes both patterns, and normalizes the old format to the new one.
6249         Unfortunately, this normalization code gets confused when the tag
6250         contains '-'.  Reproducer:
6252             $ git-tag -m test v0.2-rc1
6253             $ build-aux/git-version-gen .tarball-version; echo
6254             build-aux/git-version-gen: WARNING: git rev-list failed
6255             UNKNOWN
6257         We take exact tag "v0.2-rc1" for the old format, extract the presumed
6258         tag "v0.2" from it, then run "git rev-list v0.2..HEAD" to count
6259         commits since tha tag.  Fails, because tag "v0.2" does not exist.
6261         * git-version-gen: We could perhaps drop support for versions from
6262         more than a decade ago.  But tightening the pattern match is easy
6263         enough, so do that.  Still breaks when you use version tags ending in
6264         something matching -g????, but you arguably get what you deserve then.
6266 2017-08-05  Paul Eggert  <eggert@cs.ucla.edu>
6268         valgrind-tests: use ls, and cache
6269         * m4/valgrind-tests.m4: Test ls, not bash.
6270         Problem reported by Reuben Thomas.
6271         Also, cache the result so that it can be overridden.
6273 2017-08-04  Paul Eggert  <eggert@cs.ucla.edu>
6275         manywarnings: port to 64-bit GCC builds of Emacs
6276         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Compute max safe
6277         object size rather than hardwiring 2147483647.  This is needed to
6278         build GNU Emacs, which has one conditional (and used
6279         only-in-theory) call to malloc with a literal greater than
6280         2147483647.
6282 2017-08-04  Bruno Haible  <bruno@clisp.org>
6284         Relax the license of some modules with no runtime code.
6285         * modules/std-gnu11 (License): Set to 'unlimited'.
6286         * modules/c99 (License): Likewise.
6287         Reported by Reuben Thomas <rrt@sc3d.org>.
6288         * modules/d-ino (License): Set to 'LGPL'.
6289         * modules/host-os (License): Likewise.
6290         * modules/longlong (License): Likewise.
6292 2017-08-03  Paul Eggert  <eggert@cs.ucla.edu>
6294         renameat2: port to RHEL 7 + NFS
6295         * lib/renameat2.c (renameat2) [SYS_renameat2]:
6296         Port to RHEL 7 + NFS.  Problem reported by Ted Zlatanov in:
6297         http://lists.gnu.org/r/emacs-devel/2017-08/msg00082.html
6299 2017-08-02  Paul Eggert  <eggert@cs.ucla.edu>
6301         renameat2: port to non-renameat platforms
6302         Problem reported for MSVC-2015 by Gisle Vanem in:
6303         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00001.html
6304         * lib/renameat2.c [!HAVE_RENAMEAT]: Include <sys/stat.h> here too.
6305         (renameat2) [!HAVE_RENAMEAT]: Fix typo in arg passing.
6307 2017-08-01  Paul Eggert  <eggert@cs.ucla.edu>
6309         manywarnings: port to 32-bit GCC bug
6310         Problem reported by Pino Toscano in:
6311         http://lists.gnu.org/r/bug-gnulib/2017-07/msg00150.html
6312         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Use 2**31 - 1,
6313         not 2**63 - 1, to work around the following GCC bug:
6314         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81650
6316 2017-07-30  Paul Eggert  <eggert@cs.ucla.edu>
6318         backupfile: new function to validate backup suffix
6319         * lib/backupfile.c (set_simple_backup_suffix): New function.
6320         (backupfile_internal): Use it.
6322         canonicalize: fix EOVERFLOW commentary
6323         Problem reported by Bruno Haible in:
6324         http://lists.gnu.org/r/bug-gnulib/2017-07/msg00147.html
6325         * lib/canonicalize.c (canonicalize_filename_mode):
6326         * lib/canonicalize-lgpl.c (__realpath): Fix comments.
6328         Don't interpret EOVERFLOW to mean nonexistence
6329         * lib/fts.c (fts_stat): If lstat fails, report its errno, which
6330         may be EOVERFLOW; this is likely more useful than reporting the
6331         stat errno.
6332         * lib/glob.c (link_stat): Rename from link_exists2_p and
6333         return -1/0 instead of 0/1.  Caller changed.
6334         * lib/glob.c (link_exists_p):
6335         * lib/renameat2.c (rename_noreplace, renameat2):
6336         * lib/tempname.c (try_nocreate):
6337         If errno == EOVERFLOW then the directory entry exists, so do not
6338         act as if it does not exist.
6340         backup-rename: new module
6341         It is like backupfile, except it avoids some race conditions,
6342         and it does not output to stderr or exit.
6343         * MODULES.html.sh: Add backup-rename.
6344         * lib/backup-find.c, lib/backup-internal.h, lib/backup-rename.c:
6345         * modules/backup-rename: New files.
6346         * lib/backupfile.c: Turn this into an internals file, which
6347         contains code common to backupfile and backup_rename.  Include
6348         backupfile-internal.h instead of backupfile.h.  Do not include
6349         argmatch.h or xalloc.h: include xalloc-oversized.h.  Include
6350         renameat2.h and fcntl.h.
6351         (BACKUP_NOMEM): New constant.
6352         (numbered_backup): New args BASE_OFFSET and *DIRPP.  Do not exit
6353         on memory exhaustion; just return BACKUP_NOMEM.  Caller changed.
6354         (backupfile_internal): Rename from find_backup_file_name.
6355         Support new arg RENAME.
6356         (backup_args, backup_types, get_version, xget_version):
6357         Move to lib/backup-find.c.
6358         * lib/backupfile.h (backup_file_rename): New decl.
6359         * modules/backupfile (Files): Add lib/backup-internal.h,
6360         lib/backup-find.c.
6361         (Depends-on): Add dirfd, fcntl, renameat2.
6362         (lib_SOURCES): Add backup-find.c.
6364         renameat2: port better to older Solaris
6365         * lib/renameat2.c (renameat2): Set ret_val properly on old Solaris.
6366         Add goto to use a label, to silence picky compilers.
6368         fts-tests: port to gcc -Wwrite-strings
6369         * tests/test-fts.c (base, base_d): New static vars.
6370         (argv, remove_tree, main): Use them.
6372 2017-07-26  Reuben Thomas  <rrt@sc3d.org>
6374         relocatable-lib{,-lgpl}: improve documentation
6375         * doc/relocatable-maint.texi: Document use of relocatable-lib{,-lgpl}.
6376         Various other updates.
6378 2017-07-30  Reuben Thomas  <rrt@sc3d.org>
6379             Bruno Haible  <bruno@clisp.org>
6381         relocatable-lib{,-lgpl}: add Valgrind suppressions
6382         * lib/relocatable.valgrind: New file.
6383         * modules/relocatable-lib (Files): Add relocatable.valgrind.
6384         * modules/relocatable-lib-lgpl: Likewise.
6386 2017-07-26  Reuben Thomas  <rrt@sc3d.org>
6388         relocatable: Make the license on the sources the GPL.
6389         * lib/relocatable.h, lib/relocatable.c: Change the copyright notice from
6390         LGPL, which was a special case so that the relocatable source files
6391         could be used without gnulib-tool, to GPL. They can still be used under
6392         the LGPL, using the --lgpl option to gnulib-tool.
6394 2017-07-30  Bruno Haible  <bruno@clisp.org>
6396         host-cpu-c-abi: Detect ILP32 ABI on IA-64 HP-UX.
6397         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Distinguish ia64-ilp32
6398         from ia64. For arm64, test only __aarch64__, as __ARM_64BIT_STATE and
6399         __ARM_PCS_AAPCS64 are not reliable indicators: they are not defined on
6400         Ubuntu 14.04 (gcc 4.8.4) and Debian 8 (gcc 4.9.2).
6402 2017-07-27  Paul Eggert  <eggert@cs.ucla.edu>
6404         faccessat: document AT_SYMLINK_NOFOLLOW issue
6405         * doc/posix-functions/faccessat.texi: Modernize platform list.
6406         Document AT_SYMLINK_NOFOLLOW limitation.
6408         renameat2: port to Solaris 10
6409         * lib/renameat2.c (rename_noreplace): Use lstat, not faccessat
6410         with AT_SYMLINK_NOFOLLOW (which is not portable).
6411         (renameat): Undef before using, to avoid endless recursion when
6412         the replacement renameat calls renameat2 which calls the
6413         replacement renameat.
6414         (renameat2): Use lstatat, not faccessat with AT_SYMLINK_NOFOLLOW.
6415         * modules/renameat2 (Depends-on): Remove faccessat.
6416         * modules/renameat-tests (test_renameat_LDADD):
6417         * modules/renameat2-tests (test_renameat2_LDADD):
6418         Remove $(LIB_EACCESS).
6420         renameat2: new module
6421         Although the Linux syscall renameat2 is not in glibc (yet?), it is
6422         useful to have access to its RENAME_NOREPLACE flag.
6423         * MODULES.html.sh (func_all_modules): Add renameat2.
6424         * lib/renameat2.c, lib/renameat2.h, modules/renameat2:
6425         * modules/renameat2-tests, tests/test-renameat2.c: New files.
6426         * lib/renameat.c (renameat): Move most of the implementation
6427         to renameat2, and just call renameat2.
6428         * modules/renameat (Files): Remove lib/at-func2.c.
6429         (Depends-on): Depend only on renameat2.
6430         (Include): Remove <fcntl.h>.
6431         * modules/renameat-tests (test_renameat_LDADD): Add $(LIB_EACCESS),
6432         since renameat (via renameat2) might use faccessat.
6434 2017-07-27  Erik Skultety <eskultet@redhat.com>  (tiny change)
6436         vc-list-files: Adjust the script to support git worktrees
6437         * build-aux/vc-list-files: Require existence, not directory.
6439 2017-07-26  Paul Eggert  <eggert@cs.ucla.edu>
6441         doc: bring MODULES.html.sh up to date
6442         Somehow a few months ago we stopped updating MODULES.html.sh.
6443         I don’t recall explicitly deciding this, so I updated it now.
6444         Alternatively I suppose we could remove it.
6445         * MODULES.html.sh: Add builtin-expect, c99, ctime, explicit_bzero,
6446         localtime, localtime-buffer, noreturn, nstrftime, strftime-fixes,
6447         truncate, utime, utime-h, windows-stat-inodes,
6448         windows-stat-override, windows-stat-timespec, year2038.  Sort.
6450 2017-07-26  Jim Meyering  <meyering@fb.com>
6452         fprintftime: fix build-break caused by recent renaming
6453         * lib/fprintftime.c: Include "nstrftime.c", not the now-renamed
6454         "strftime.c".
6455         * modules/fprintftime: Depend directly on nstrftime.
6457 2017-07-26  Paul Eggert  <eggert@cs.ucla.edu>
6459         regex: work with GCC7's -Werror=implicit-fallthrough=
6460         * lib/regex_internal.h (FALLTHROUGH): New macro.
6461         * lib/regcomp.c (peek_token_bracket, parse_expression):
6462         * lib/regexec.c (check_node_accept): Use it.
6464 2017-07-24  Paul Eggert  <eggert@cs.ucla.edu>
6466         fts: simplify fts_build
6467         * lib/fts.c (fts_build): Simplify, and be lazier about
6468         calling leaf_optimization.
6470         fts: three levels of leaf optimization
6471         * lib/fts.c (enum leaf_optimization): New type with three values.
6472         (S_MAGIC_AFS): New macro.  Sort them.
6473         (leaf_optimization): Rename from leaf_optimization_applies, and
6474         return enum leaf_optimization instead of bool.  All uses changed.
6475         Add cases for unknown type and for AFS.
6476         (fts_build): Don’t rely on link counts if NO_LEAF_OPTIMIZATION.
6478         fts: cache dirent_inode_sort_may_be_useful too
6479         * lib/fts.c (struct dev_type): New struct.
6480         (DEV_TYPE_HT_INITIAL_SIZE): New constant.
6481         (dev_type_hash, dev_type_compare, filesystem_type): New functions.
6482         (dirent_inode_sort_may_be_useful, leaf_optimization_applies):
6483         Now takes FTSENT const *, not int.  All uses changed.  Use
6484         filesystem_type to cache.
6485         (link_count_optimize_ok): Remove.  Caller changed to use
6486         leaf_optimization_applies, which now uses shared cache.
6488         fts: introduce MIN_DIR_NLINK
6489         * lib/fts.c (MIN_DIR_NLINK): New constant.
6490         Use it instead of 2, whenever we are talking about link counts.
6492         fts: nlink_t signedness fixups
6493         * lib/fts.c (fts_open): Set rootparent n_dirs_remaining to -1
6494         so that root need not be a special case later.
6495         (fts_read): Remove now-redundant test for fts_level.
6496         Do not assume that nlink_t is signed.
6497         (fts_build): Remove useless decrement of nlinks.
6498         (fts_stat): Avoid unlikely signed integer overflow later, if
6499         nlink_t is signed.
6501         fts-tests: new module
6502         * modules/fts-tests, tests/test-fts.c: New files.
6504 2017-07-23  Bruno Haible  <bruno@clisp.org>
6506         Rename module 'strftime' to 'nstrftime'.
6507         * m4/nstrftime.m4: Renamed from m4/strftime.m4.
6508         * lib/nstrftime.c: Renamed from lib/strftime.c.
6509         * modules/nstrftime: Renamed from modules/strftime.
6510         (Files, Makefile.am): Update.
6511         * tests/test-nstrftime.c: Renamed from tests/test-strftime.c.
6512         Fix comment.
6513         * modules/nstrftime-tests: Renamed from modules/strftime-tests.
6514         (Files, Makefile.am): Update.
6515         * modules/strftime: New file, an obsolete indirection.
6516         * doc/posix-functions/strftime.texi: Update reference.
6517         * config/srclist.txt: Update info.
6518         * NEWS: Mention the change.
6520 2017-07-21  Tim Rühsen  <tim.ruehsen@gmx.de>
6522         malloca: Silence a warning from clang's memory sanitizer.
6523         * lib/malloca.c (NO_SANITIZE_MEMORY): New macro.
6524         (freea): Use it.
6526 2017-07-18  Bruno Haible  <bruno@clisp.org>
6528         host-cpu-c-abi: Fix detection of MIPS ABI.
6529         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): For MIPS, really test the
6530         ABI, not the CPU instruction set.
6532 2017-07-16  Paul Eggert  <eggert@cs.ucla.edu>
6534         explicit_bzero: new module
6535         The explicit_bzero function has been added to glibc.
6536         This module is intended to supports its use in GNU programs.
6537         * doc/glibc-functions/explicit_bzero.texi, lib/explicit_bzero.c:
6538         * m4/explicit_bzero.m4, modules/explicit_bzero:
6539         New files.
6540         * doc/gnulib.texi (Glibc string.h): Link to new doc.
6541         * lib/string.in.h (explicit_bzero): Declare.
6542         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add defaults for it.
6543         * modules/string (string.h): Substitute its vars.
6545 2017-07-16  Bruno Haible  <bruno@clisp.org>
6547         threadlib: Support static linking.
6548         * m4/threadlib.m4 (gl_THREADLIB_BODY): When static linking is in use,
6549         set gl_cv_have_weak to 'no'.
6551 2017-07-16  Bruno Haible  <bruno@clisp.org>
6553         unicase/locale-language: Fix link dependencies.
6554         * modules/unicase/locale-language (Link): New section.
6555         * modules/unicase/locale-language-tests (Makefile.am): Link
6556         test-locale-language program with $(LIBTHREAD).
6558 2017-07-15  John E. Malmberg  <wb8tyw@gmail.com>
6560         sys_socket: Add support for OpenVMS.
6561         * lib/sys_socket.in.h [__VMS]: Define CMSG_SPACE, CMSG_LEN.
6562         * doc/posix-headers/sys_socket.texi: Mention OpenVMS issues.
6564 2017-07-15  John E. Malmberg  <wb8tyw@gmail.com>
6566         sys_resource: Add support for OpenVMS.
6567         * lib/resource.in.h [__VMS]: Define RUSAGE_SELF, RUSAGE_CHILDREN.
6568         * doc/posix-headers/sys_resource.texi: Mention OpenVMS issues.
6570 2017-07-15  John E. Malmberg  <wb8tyw@gmail.com>
6571             Bruno Haible  <bruno@clisp.org>
6573         math: Add support for OpenVMS.
6574         * lib/math.in.h [__VMS]: Include <fp.h>.
6575         * doc/posix-headers/math.texi: Mention OpenVMS issues.
6577 2017-07-15  Bruno Haible  <bruno@clisp.org>
6579         getdtablesize: Add minimal support for OpenVMS.
6580         Reported by John E. Malmberg <wb8tyw@qsl.net>.
6581         * modules/getdtablesize (Description): Fix.
6582         * lib/getdtablesize.c: Fix comment.
6583         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Don't replace the
6584         getdtablesize() function, even though the test fails.
6585         * doc/glibc-functions/getdtablesize.texi: Reference SUSv2. Describe
6586         limitation on OpenVMS.
6588 2017-07-13  Bruno Haible  <bruno@clisp.org>
6590         Revisit cross-compilation guesses.
6591         * m4/wctype_h.m4 (gl_WCTYPE_H): Add comment.
6593 2017-07-13  Bruno Haible  <bruno@clisp.org>
6595         Improve cross-compilation guesses for native Windows.
6596         * m4/btowc.m4 (gl_FUNC_BTOWC): Add cross-compilation guess for native
6597         Windows.
6598         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Likewise.
6599         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Likewise.
6600         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
6601         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): Likewise.
6602         * m4/cbrtl.m4 (gl_FUNC_CBRTL, gl_FUNC_CBRTL_WORKS): Likewise.
6603         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
6604         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
6605         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
6606         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
6607         * m4/dup.m4 (gl_FUNC_DUP): Likewise.
6608         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
6609         * m4/exp2.m4 (gl_FUNC_EXP2_WORKS): Likewise.
6610         * m4/exp2l.m4 (gl_FUNC_EXP2L): Likewise.
6611         * m4/expm1.m4 (gl_FUNC_EXPM1): Likewise.
6612         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): Likewise.
6613         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
6614         * m4/fabsl.m4 (gl_FUNC_FABSL_WORKS): Likewise.
6615         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
6616         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
6617         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
6618         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
6619         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
6620         * m4/fma.m4 (gl_FUNC_FMA_WORKS): Likewise.
6621         * m4/fmaf.m4 (gl_FUNC_FMAF_WORKS): Likewise.
6622         * m4/fmal.m4 (gl_FUNC_FMAL_WORKS): Likewise.
6623         * m4/fmod.m4 (gl_FUNC_FMOD): Likewise.
6624         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
6625         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
6626         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
6627         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): Likewise.
6628         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
6629         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Likewise.
6630         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
6631         * m4/hypotf.m4 (gl_FUNC_HYPOTF, gl_FUNC_HYPOTF_WORKS): Likewise.
6632         * m4/hypotl.m4 (gl_FUNC_HYPOTL, gl_FUNC_HYPOTL_WORKS): Likewise.
6633         * m4/ilogb.m4 (gl_FUNC_ILOGB_WORKS): Likewise.
6634         * m4/ilogbf.m4 (gl_FUNC_ILOGBF_WORKS): Likewise.
6635         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
6636         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
6637         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
6638         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
6639         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
6640         * m4/log.m4 (gl_FUNC_LOG, gl_FUNC_LOG_WORKS): Likewise.
6641         * m4/logf.m4 (gl_FUNC_LOGF, gl_FUNC_LOGF_WORKS): Likewise.
6642         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): Likewise.
6643         * m4/log10.m4 (gl_FUNC_LOG10, gl_FUNC_LOG10_WORKS): Likewise.
6644         * m4/log10f.m4 (gl_FUNC_LOG10F, gl_FUNC_LOG10F_WORKS): Likewise.
6645         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): Likewise.
6646         * m4/log1p.m4 (gl_FUNC_LOG1P): Likewise.
6647         * m4/log1pf.m4 (gl_FUNC_LOG1PF, gl_FUNC_LOG1PF_WORKS): Likewise.
6648         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Likewise.
6649         * m4/log2.m4 (gl_FUNC_LOG2, gl_FUNC_LOG2_WORKS): Likewise.
6650         * m4/log2f.m4 (gl_FUNC_LOG2F, gl_FUNC_LOG2F_WORKS): Likewise.
6651         * m4/log2l.m4 (gl_FUNC_LOG2L_WORKS): Likewise.
6652         * m4/logb.m4 (gl_FUNC_LOGB_WORKS): Likewise.
6653         * m4/logbf.m4 (gl_FUNC_LOGBF_WORKS): Likewise.
6654         * m4/logbl.m4 (gl_FUNC_LOGBL_WORKS): Likewise.
6655         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Likewise.
6656         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT, gl_MBRTOWC_C_LOCALE): Likewise.
6657         * m4/mkdir.m4 (gl_FUNC_MKDIR): Likewise.
6658         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
6659         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): Likewise.
6660         * m4/modf.m4 (gl_FUNC_MODF): Likewise.
6661         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
6662         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
6663         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
6664         * m4/perror.m4 (gl_FUNC_PERROR): Likewise.
6665         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
6666         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE,
6667         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2,
6668         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): Likewise.
6669         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Likewise.
6670         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
6671         * m4/regex.m4 (gl_REGEX): Likewise.
6672         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
6673         * m4/remainderf.m4 (gl_FUNC_REMAINDERF,
6674         gl_FUNC_REMAINDERF_WORKS): Likewise.
6675         * m4/remainderl.m4 (gl_FUNC_REMAINDERL,
6676         gl_FUNC_REMAINDERL_WORKS): Likewise.
6677         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
6678         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
6679         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
6680         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
6681         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
6682         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
6683         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
6684         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
6685         * m4/sqrtl.m4 (gl_FUNC_SQRTL_WORKS): Likewise.
6686         * m4/stdint.m4 (gl_STDINT_H): Likewise.
6687         * m4/strerror.m4 (gl_FUNC_STRERROR_0): Likewise.
6688         * m4/strncat.m4 (gl_FUNC_STRNCAT): Likewise.
6689         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
6690         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
6691         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
6692         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
6693         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
6694         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
6695         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
6696         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
6697         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Likewise.
6698         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
6699         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
6700         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
6701         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
6702         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
6703         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
6704         Likewise.
6705         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
6706         * m4/chown.m4 (AC_FUNC_CHOWN): Add cross-compilation guess for native
6707         Windows. Enable also on Autoconf 2.70.
6708         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
6709         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
6710         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
6711         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO,
6712         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
6713         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): Add cross-compilation guess
6714         for native Windows.
6715         (gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
6716         gl_VSNPRINTF_ZEROSIZE_C99): Add comment.
6718 2017-07-13  Bruno Haible  <bruno@clisp.org>
6720         Improve cross-compilation guesses for native Windows.
6721         * m4/memchr.m4 (gl_FUNC_MEMCHR): Add cross-compilation guess for native
6722         Windows.
6723         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Don't use internals of
6724         memchr.m4.
6725         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
6727 2017-07-13  Bruno Haible  <bruno@clisp.org>
6729         Improve cross-compilation guesses for native Windows.
6730         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Add cross-compilation guess for
6731         native Windows.
6732         (gl_FUNC_FFLUSH): Update accordingly.
6733         * m4/fclose.m4 (gl_FUNC_FCLOSE): Likewise.
6734         * m4/fseeko.m4 (gl_FUNC_FFLUSH_STDIN): Likewise.
6736 2017-07-11  Bruno Haible  <bruno@clisp.org>
6738         More systematic m4 quoting and indentation.
6739         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Quote systematically.
6740         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
6741         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
6742         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
6743         * m4/host-os.m4 (gl_HOST_OS): Likewise.
6744         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H,
6745         gl_WINSIZE_IN_PTEM): Likewise.
6746         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Likewise.
6747         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
6748         * m4/pselect.m4 (gl_FUNC_PSELECT): Likewise.
6749         * m4/fchownat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Quote systematically.
6750         Correct indentation.
6751         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
6752         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
6753         * m4/jm-winsz2.m4 (gl_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL): Likewise.
6754         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
6755         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
6756         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
6758 2017-07-10  Bruno Haible  <bruno@clisp.org>
6760         round, roundf: Avoid compiler warning in configure test.
6761         * m4/round.m4 (gl_FUNC_ROUND): Use 'return' instead of exit().
6762         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
6764 2017-07-10  Bruno Haible  <bruno@clisp.org>
6766         getlogin tests: Avoid #ifdefs when sharing code between modules.
6767         * modules/getlogin_r-tests (Files): Add tests/test-getlogin.h.
6768         * modules/getlogin-tests (Files): Likewise. Remove
6769         tests/test-getlogin_r.c.
6770         * tests/test-getlogin.h: Extracted from tests/test-getlogin_r.c.
6771         * tests/test-getlogin.c: Extracted from tests/test-getlogin_r.c.
6772         * tests/test-getlogin_r.c: Include test-getlogin.h. Omit code that tests
6773         getlogin().
6775 2017-07-10  Paul Eggert  <eggert@cs.ucla.edu>
6777         getlogin: don’t assume one name per uid
6778         Problem reported by Wolfgang F. Muthmann (Bug#27640).
6779         * modules/getlogin-tests (Files): Add tests/test-getlogin_r.c.
6780         (ttyname): Remove test.
6781         * modules/getlogin_r-tests (ttyname): Remove test.
6782         * tests/test-getlogin.c: Replace this near-clone of test-getlogin_r.c
6783         with ‘#define TEST_LOGIN’ followed by ‘#include "test-getlogin_r.c"’.
6784         * tests/test-getlogin_r.c: If TEST_GETLOGIN is defined, test
6785         getlogin rather than getlogin_r.  This avoids code duplication.
6786         (main): Use isatty and fstat rather than ttyname and stat.
6787         Use getpwnam instead of getpwuid, to be portable to test platforms
6788         that have multiple login names for the same uid.
6790 2017-07-10  Tim Rühsen  <tim.ruehsen@gmx.de>
6791             Bruno Haible  <bruno@clisp.org>
6793         glob: Fix more memory leaks.
6794         * lib/glob.c (glob): Use 'goto out' in order to free dirname before
6795         returning.
6796         Reported by Tim Rühsen.
6798 2017-07-10  Bruno Haible  <bruno@clisp.org>
6800         Make sure $host and $host_os are defined when used.
6801         * m4/argz.m4 (gl_FUNC_ARGZ): Require AC_CANONICAL_HOST.
6802         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Likewise.
6803         * m4/csharpexec.m4 (gt_CSHARPEXEC): Likewise.
6804         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
6805         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
6806         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
6807         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Likewise.
6808         * m4/opendir.m4 (gl_FUNC_OPENDIR): Likewise.
6809         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
6810         * m4/pselect.m4 (gl_FUNC_PSELECT): Likewise.
6811         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Likewise.
6812         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Likewise.
6813         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
6814         * m4/ceill.m4 (gl_FUNC_CEILL): Require AC_CANONICAL_HOST outside the
6815         m4_ifdef block.
6817 2017-07-09  Bruno Haible  <bruno@clisp.org>
6819         *printf: Fix cross-compilation guess for Solaris.
6820         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): Fix copy-and-paste mistake from
6821         2010-12-21.
6823 2017-07-07  Paul Eggert  <eggert@cs.ucla.edu>
6824             Bruno Haible  <bruno@clisp.org>
6826         vasnprintf: port to macOS 10.13
6827         Problem reported by comex in:
6828         http://lists.gnu.org/r/bug-gnulib/2017-07/msg00056.html
6829         * lib/vasnprintf.c (VASNPRINTF): Don’t use %n on macOS.
6831 2017-07-06  Bruno Haible  <bruno@clisp.org>
6833         imaxdiv tests: Fix logic.
6834         * tests/test-imaxdiv.c (main): Use == instead of =.
6835         Reported by Coverity.
6837 2017-07-06  Bruno Haible  <bruno@clisp.org>
6839         uninorm/filter: Fix use-after-free bug.
6840         * lib/uninorm/uninorm-filter.c (uninorm_filter_write): Maintain
6841         sortbuf == filter->sortbuf invariant.
6842         Reported by Coverity.
6844 2017-07-06  Bruno Haible  <bruno@clisp.org>
6846         glob: Fix more memory leaks.
6847         * lib/glob.c (glob): Free dirname before returning.
6848         Reported by Coverity and Tim Rühsen.
6850 2017-07-06  Paul Eggert  <eggert@cs.ucla.edu>
6852         parse-datetime: fix uninit var bug
6853         Reported by Bruno Haible in:
6854         http://lists.gnu.org/r/bug-gnulib/2017-07/msg00038.html
6855         * lib/parse-datetime.y (parse_datetime2): Do not use
6856         uninitialized.
6858 2017-07-05  Bruno Haible  <bruno@clisp.org>
6860         doc: Update for MSVC 14.
6861         * doc/posix-headers/*.texi: Add info about MSVC 14.
6862         * doc/posix-functions/*.texi: Likewise.
6863         * doc/pastposix-functions/*.texi: Likewise.
6864         * doc/glibc-headers/*.texi: Likewise.
6865         * doc/glibc-functions/*.texi: Likewise.
6867 2017-07-05  Bruno Haible  <bruno@clisp.org>
6869         sched: Fix build failure on native Windows (regression from 2017-06-19).
6870         * m4/sched_h.m4 (gl_SCHED_H): Set HAVE_STRUCT_SCHED_PARAM always.
6872 2017-07-03  John E. Malmberg  <wb8tyw@gmail.com>
6874         stdioext: Port to OpenVMS.
6875         * lib/stdio-impl.h: OpenVMS uses struct _iobuf for FILE information.
6876         * lib/fpending.c (fpending): Remove non-working VMS specific code.
6877         * lib/fbufmode.c (fbufmode): Fix _IOLBF test to use fp_ macro.
6878         * lib/fflush.c (clear_ungetc_buffer): Add OpenVMS to comments.
6879         * lib/fpurge.c (fpurge): Likewise.
6880         * lib/freadable.c (freadable): Likewise.
6881         * lib/freadahead.c (freadahead): Likewise.
6882         * lib/freading.c (freading): Likewise.
6883         * lib/freadptr.c (freadptr): Likewise.
6884         * lib/freadseek.c (freadseek): Likewise.
6885         * lib/fseeko.c (fseeko): Likewise.
6886         * lib/fseterr.c (fseterr): Likewise.
6887         * lib/fwritable.c (fwriteable): Likewise.
6888         * lib/fwriting.c (fwriting): Likewise.
6890 2017-07-01  Benno Schulenberg  <bensberg@telfort.nl>
6892         glob: Declare variables at the very start of their scope.
6893         * lib/glob.c (convert_dirent, convert_dirent64): Give each fragment
6894         its separate scope, so the functions will compile on Haiku.
6896 2017-07-01  Bruno Haible  <bruno@clisp.org>
6898         logbl: Work around a glibc bug on PowerPC64LE.
6899         * m4/logbl.m4 (gl_FUNC_LOGBL_WORKS): Test also negative subnormal
6900         numbers.
6901         * doc/posix-functions/logbl.texi: Update.
6903 2017-06-29  Bruno Haible  <bruno@clisp.org>
6905         stat, fstat: Compile stat-w32.c only on platforms that need it.
6906         Suggested by Paul Eggert.
6907         * modules/stat (configure.ac): Request stat-w32.o only on native
6908         Windows.
6909         * modules/fstat (configure.ac): Likewise.
6911 2017-06-25  Bruno Haible  <bruno@clisp.org>
6913         stat: Improve last change.
6914         * lib/stat-w32.c: Revert last change. Use generic idiom instead.
6916 2017-06-25  Paul Eggert  <eggert@cs.ucla.edu>
6918         stat: port to xlc 12.01
6919         * lib/stat-w32.c: Always include <sys/types.h>.  Otherwise, xlc
6920         12.01 complains "Compilation unit is empty."
6922 2017-06-24  Paul Eggert  <eggert@cs.ucla.edu>
6924         xalloc-oversized: port to icc
6925         * lib/xalloc-oversized.h (xalloc_oversized): Do not use
6926         __builtin_mul_overflow if ICC is defined, as this results in
6927         "undefined reference to `__builtin_mul_overflow'" with icc 17.0.2
6928         20170213.
6930 2017-06-19  Bruno Haible  <bruno@clisp.org>
6932         classpath: Avoid including config.h twice, as it produces warnings.
6933         Reported by John E. Malmberg <wb8tyw@gmail.com>.
6934         * lib/classpath.h: Conditionalize the include of config.h.
6936 2017-06-19  Bruno Haible  <bruno@clisp.org>
6937             John E. Malmberg  <wb8tyw@gmail.com>  (tiny change)
6939         sched: Fix compilation failure on OpenVMS.
6940         * m4/sched_h.m4 (gl_SCHED_H): Require AC_CANONICAL_HOST. On OpenVMS,
6941         test whether <pthread.h> exists and defines struct sched_param.
6942         * lib/sched.in.h: On OpenVMS, include <pthread.h>.
6944 2017-06-17  Paul Eggert  <eggert@cs.ucla.edu>
6946         diffseq: port to GCC 7 with --enable-gcc-warnings
6947         * lib/diffseq.h (diag): Use an if, not an ifdef, for most of the
6948         heuristic check.  This way, GCC 7 with --enable-gcc-warnings does
6949         not complain about big_snake being defined but not used.
6951 2017-06-15  Bruno Haible  <bruno@clisp.org>
6953         gettext-h: Update theoretical condition for use of variable size arrays.
6954         Reported by Paul Eggert.
6955         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Extend comment
6956         to include the theoretical condition for availability of variable size
6957         arrays, if we could trust the value of __STDC_VERSION__.
6959 2017-06-12  Bruno Haible  <bruno@clisp.org>
6961         Relicense some modules under LGPLv2+.
6962         Daiki Ueno's approval is in
6963         https://lists.gnu.org/r/bug-gnulib/2017-06/msg00058.html.
6964         * modules/uniwidth/base (License): Change to LGPLv2+.
6965         * modules/uniwidth/width (License): Likewise.
6967 2017-06-11  Bruno Haible  <bruno@clisp.org>
6969         localename: Fix test failure on DragonFly BSD.
6970         * lib/localename.c (gl_locale_name_thread_unsafe): Treat DragonFly BSD
6971         like FreeBSD.
6973 2017-06-11  Bruno Haible  <bruno@clisp.org>
6975         float: Fix 'float' and 'isinf' failures on DragonFly BSD.
6976         * m4/float_h.m4 (gl_FLOAT_H): Treat DragonFly BSD like FreeBSD.
6977         * lib/float.in.h: Likewise.
6978         * m4/fmal.m4, m4/frexpl.m4, m4/logbl.m4: Update accordingly.
6980 2017-06-11  Bruno Haible  <bruno@clisp.org>
6982         gnulib-tool: Clean up after autotools.
6983         * gnulib-tool (func_create_testdir, func_create_megatestdir): Remove
6984         useless directory left over by the Autotools.
6986 2017-06-11  Paul Eggert  <eggert@cs.ucla.edu>
6988         getopt-posix: port to glibc 2.25.90
6989         Problem reported by Daniel P. Berrange in:
6990         http://lists.gnu.org/r/bug-gnulib/2017-06/msg00003.html
6991         * lib/getopt-pfx-core.h (_GETOPT_CORE_H):
6992         * lib/getopt-pfx-ext.h (_GETOPT_EXT_H):
6993         #undef if __GETOPT_PREFIX is defined.
6995 2017-06-11  Bruno Haible  <bruno@clisp.org>
6997         strtod-obsolete: Fix license.
6998         * modules/strtod-obsolete (License): Change to LGPL.
7000 2017-06-10  Jim Meyering  <meyering@fb.com>
7002         maint: update to work with GCC7's -Werror=implicit-fallthrough=
7003         * lib/savewd.c (FALLTHROUGH): Define.
7004         (savewd_save, savewd_restore): Use this, rather than a comment,
7005         whenever one switch case falls through into the next.
7007 2017-06-08  Bruno Haible  <bruno@clisp.org>
7009         host-cpu-c-abi: Support for aarch64 ILP32 ABI.
7010         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Recognize the aarch64 ILP32
7011         ABI. Set HOST_CPU_C_ABI=arm64-ilp32 and define __arm64_ilp32__ in this
7012         case.
7014 2017-06-08  Paul Eggert  <eggert@cs.ucla.edu>
7016         doc: remove robots, add prereqs
7017         * doc/build-automation.texi, doc/gnulib.texi: Mention prereqs for
7018         builds.  Simon's robot site does not seem to be up, so remove
7019         mentions of it for now.
7021 2017-06-08  Bruno Haible  <bruno@clisp.org>
7023         gnulib-tool: Fix bug in func_symlink_if_changed, from 2006-11-13.
7024         * gnulib-tool (func_symlink_target): New function, extracted from
7025         func_symlink.
7026         (func_symlink, func_symlink_if_changed): Use it.
7028 2017-06-08  Bruno Haible  <bruno@clisp.org>
7030         gnulib-tool: Fix bug in func_ln_s, from 2016-01-15.
7031         * gnulib-tool (func_ln_s): Determine cp_src correctly.
7033 2017-06-07  Bruno Haible  <bruno@clisp.org>
7035         canonicalize-lgpl: Avoid conflict with gnulib 'getcwd' module on VMS.
7036         Reported by John E. Malmberg <wb8tyw@gmail.com> in
7037         <https://lists.gnu.org/r/bug-gnulib/2017-06/msg00029.html>.
7038         * lib/canonicalize-lgpl.c (__getcwd): On VMS, when using gnulib's getcwd
7039         override, pass 2 arguments to getcwd, not 3.
7041 2017-06-04  Paul Eggert  <eggert@cs.ucla.edu>
7043         same-inode: port better to VMS 8.2 and later
7044         Problem reported by John E. Malmberg in:
7045         http://lists.gnu.org/r/bug-gnulib/2017-06/msg00005.html
7046         * lib/same-inode.h (SAME_INODE) [__VMS && 80200000 <= __CRTL_VER]:
7047         Use the usual POSIX definition.
7048         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Define _USE_STD_STAT.
7050 2017-06-01  Paul Eggert  <eggert@cs.ucla.edu>
7052         error: fix POSIX violation for va_end
7053         Problem reported by Bruno Haible in:
7054         http://lists.gnu.org/r/bug-gnulib/2017-06/msg00001.html
7055         * lib/error.c (error_tail): Do not call va_end here.
7056         (error, error_at_line): Call it here instead.
7058 2017-05-28  Bruno Haible  <bruno@clisp.org>
7060         c-strtod: Make it usable in C++ mode.
7061         * lib/c-strtod.h: Add 'extern "C"' marker for C++.
7063 2017-05-25  Jim Meyering  <meyering@fb.com>
7065         quotearg: fix compilation failure due to FALLTHROUGH misuse
7066         * lib/quotearg.c (quotearg_buffer_restyled): Revert one FALLTHROUGH
7067         macro back to /* fall through */ comment.  The macro can apply only
7068         to a following case statement.  Reported by Assaf Gordon.
7070 2017-05-25  Paul Eggert  <eggert@cs.ucla.edu>
7072         intprops: port to recent icc
7073         Port to icc (ICC) 17.0.4 20170411, which defines __GNUC__ to be 5
7074         but does not support __builtin_add_overflow etc.
7075         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW) [__ICC]:
7076         Define to 0.
7078 2017-05-23  Karl Berry  <karl@freefriends.org>
7080         * config/srclist.txt (iconv.m4): sync broken, comment out
7081         until (hopefully) the next gettext release.
7083 2017-05-22  Bjarni Ingi Gislason  <bjarniig@rhi.hi.is>
7085         Remove repeated words in comments.
7087 2017-05-22  Bernhard Voelker  <mail@bernhard-voelker.de>
7089         fallthrough: reinstate a FALLTHROUGH instance in quotearg
7090         quotearg.c: Reinstate this instance which is significant
7091         when the if branch is not taken.
7093 2017-05-21  Bruno Haible  <bruno@clisp.org>
7095         gnulib-tool: Add options to create hard links.
7096         * gnulib-tool (func_usage): Document options --hardlink,
7097         --local-hardlink, --more-hardlinks.
7098         (func_symlink): Renamed from func_ln.
7099         (func_symlink_if_changed): Renamed from func_ln_if_changed.
7100         (func_hardlink): New function.
7101         (copymode, lcopymode): New variables.
7102         (symbolic, lsymbolic): Remove variables.
7103         (Options): Implement options --hardlink, --local-hardlink,
7104         --more-hardlinks.
7105         (func_should_link): Renamed from func_should_symlink. Set copyaction.
7106         (func_add_file, func_update_file): Update invocation of
7107         func_should_link. Invoke func_hardlink when appropriate.
7108         (func_import): Update comments.
7109         (func_create_testdir): Update invocation of func_should_link. Invoke
7110         func_hardlink when appropriate.
7111         Finally, invoke 'git update-index --refresh' to mitigate the effects of
7112         the hard links on git.
7114 2017-05-20  Bruno Haible  <bruno@clisp.org>
7116         argp: Simplify bit manipulation.
7117         * lib/argp-parse.c (parser_parse_opt): Use &, |, ~ instead of shifts
7118         on a signed integer type.
7120 2017-05-20  Bruno Haible  <bruno@clisp.org>
7122         Avoid wrong configure results with gcc -fsanitize=address.
7123         This completes the work done on 2016-02-06 on this topic.
7124         * m4/memmem.m4 (gl_FUNC_MEMMEM): Free allocated memory before returning.
7125         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
7126         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
7127         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
7128         * m4/fopen.m4 (gl_FUNC_FOPEN): Close allocated FILE streams before
7129         returning.
7130         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Likewise.
7131         * m4/fpurge.m4 (gl_FUNC_FPURGE): Likewise.
7132         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
7133         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
7134         * m4/signbit.m4 (gl_FLOATTYPE_SIGN_LOCATION): Likewise.
7135         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Likewise.
7136         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Close allocated FILE streams and
7137         free allocated memory before returning.
7138         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
7139         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Close allocated DIR
7140         objects before returning.
7141         * m4/iconv.m4 (AM_ICONV_LINK): Close allocated iconv_t handles before
7142         returning.
7144 2017-05-20  Bruno Haible  <bruno@clisp.org>
7146         gnulib-tool: Don't create hard links between gnulib and its testdirs.
7147         * gnulib-tool (func_create_testdir): Don't invoke 'ln'.
7149 2017-05-20  Bruno Haible  <bruno@clisp.org>
7151         argp, tsearch tests: Fix file list.
7152         * modules/argp-tests (Files): Add tests/macros.h.
7153         * modules/tsearch-tests (Files): Likewise.
7155 2017-05-20  Bruno Haible  <bruno@clisp.org>
7157         getopt-posix tests: Remove redundant include.
7158         * tests/test-getopt.h: Don't include "macros.h". It's already included
7159         by tests/test-getopt-main.h.
7161 2017-05-19  Jim Meyering  <meyering@fb.com>
7163         dfa: two small simplifications
7164         * lib/dfa.c (build_state): Avoid repeating longer expressions.
7166 2017-05-18  Jim Meyering  <meyering@fb.com>
7168         fallthrough: update for GCC 7/8
7169         * lib/quotearg.c (FALLTHROUGH): New macro.
7170         Use it whenever one switch case falls through into the next,
7171         replacing "/* Fall through */" comments.  This exposed one
7172         instance of an unwarranted "fall through" comment: unwarranted
7173         because it preceded a "goto" label not a case statement.
7174         * lib/freopen-safer.c (freopen_safer): Likewise.
7175         * lib/fts.c (leaf_optimization_applies): Likewise.
7176         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Likewise.
7177         * tests/test-getopt_long.h (getopt_long_loop): Likewise.
7178         * tests/test-tsearch.c (mangle_tree): Likewise.  Also include
7179         tests/macros.h for the definition.
7180         * tests/test-argp.c (group1_parser): Likewise.
7181         * tests/test-getopt.h (getopt_loop): Likewise.
7183 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
7185         argp: fix shift bug
7186         * lib/argp-parse.c (parser_parse_opt): Rework to avoid undefined
7187         behavior on shift overflow, caught by gcc -fsanitize=undefined.
7189         argp: fix pointer-subtraction bug
7190         * lib/argp-help.c (hol_append): Don’t subtract pointers to
7191         different arrays, as this can run afoul of -fcheck-pointer-bounds.
7192         See the thread containing Bruno Haible’s report in:
7193         http://lists.gnu.org/r/bug-gnulib/2017-05/msg00171.html
7195 2017-05-19  Bruno Haible  <bruno@clisp.org>
7197         printf-posix tests: Avoid test failure with "gcc --coverage".
7198         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
7199         * tests/test-printf-posix2.c (main): Test a width of 10000000 rather
7200         than 5000000.
7201         * tests/test-fprintf-posix2.c (main): Likewise.
7203 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
7205         closeout: don’t close stderr when sanitizing
7206         * NEWS: Document this.
7207         * lib/closeout.c (__has_feature): New macro, if not already defined.
7208         (SANITIZE_ADDRESS): New constant.
7209         (close_stdout): Don’t close stderr if sanitizing addresses.
7211 2017-05-19  Bruno Haible  <bruno@clisp.org>
7213         get-rusage-data tests: Avoid failure on Linux/glibc.
7214         * tests/test-get-rusage-data.c (main): Don't expect a strict increase
7215         on glibc systems.
7217 2017-05-18  Bruno Haible  <bruno@clisp.org>
7219         localename: Include necessary header files on Cygwin.
7220         * lib/localename.c [__CYGWIN__]: Include <langinfo.h>, since this is
7221         where NL_LOCALE_NAME is defined.
7223 2017-05-18  Bruno Haible  <bruno@clisp.org>
7225         gettext: Update macros from gettext git.
7226         * m4/intldir.m4: Require Autoconf >= 2.60.
7227         * m4/progtest.m4: Fix typos in copyright notice.
7229 2017-05-18  Bruno Haible  <bruno@clisp.org>
7231         copy-file tests: Fix link error (regression from 2017-05-01).
7232         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
7233         * modules/copy-file-tests (Makefile.am): Link test-copy-file with
7234         $(LIB_CLOCK_GETTIME).
7236 2017-05-18  Bruno Haible  <bruno@clisp.org>
7238         unicase/special-casing: Fix incompatibility with gperf-3.0.4
7239         (regression from 2017-02-13).
7240         * lib/unicase/special-casing.in.h: Renamed from
7241         lib/unicase/special-casing.h.
7242         * modules/unicase/special-casing (Files): Add
7243         lib/unicase/special-casing.in.h. Remove lib/unicase/special-casing.h.
7244         (Makefile.am): Add rule for generating unicase/special-casing.h.
7245         Update BUILT_SOURCES and MOSTLYCLEANFILES accordingly.
7246         * lib/unicase/special-casing.c: Include "unicase/special-casing.h",
7247         not "special-casing.h".
7248         * lib/unicase/u*.c: Likewise.
7250 2017-05-17  Bruno Haible  <bruno@clisp.org>
7252         README: Don't ask people to read a TeXinfo file.
7253         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
7254         * README: Tell people how to read the HTML formatted manual.
7256 2017-05-16  Tim Rühsen  <tim.ruehsen@gmx.de>
7258         parse-datetime: Fix memleak
7259         * lib/parse-datetime.y (parse_datetime2): Cleanup on
7260         localtime_rz() failure.
7262 2017-05-16  Bruno Haible  <bruno@clisp.org>
7264         javacomp: Fix handle leak.
7265         Found by Coverity.
7266         * lib/javacomp.c (get_classfile_version): Close fd before returning.
7268 2017-05-16  Bruno Haible  <bruno@clisp.org>
7270         relocate: Make it easier to reclaim allocated memory.
7271         * lib/relocatable.h (relocate2): New declaration/macro.
7272         * lib/relocatable.c (relocate2): New function.
7273         * doc/relocatable-maint.texi (Supporting Relocation): Mention the
7274         relocate2 function.
7275         * lib/localcharset.c (relocate2): Define fallback.
7276         (get_charset_aliases): Invoke relocate2 instead of relocate. Free the
7277         allocated memory.
7278         * lib/javaversion.c (relocate2): Define fallback.
7279         (javaexec_version): Invoke relocate2 instead of relocate. Free the
7280         allocated memory.
7282 2017-05-16  Bruno Haible  <bruno@clisp.org>
7284         relocate: Simplify EMX specific code.
7285         * lib/relocatable.c (relocate): Assume pathname is non-NULL. Use
7286         ISSLASH macro consistently. Avoid dangerous string concatenation idiom.
7288 2017-05-16  Bruno Haible  <bruno@clisp.org>
7290         sigpipe tests: Fix file list.
7291         * modules/sigpipe-tests (Files): Add tests/macros.h.
7293 2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>
7295         manywarnings: update for GCC 7
7296         * build-aux/gcc-warning.spec:
7297         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
7298         Add GCC 7 warnings, notably -Wimplicit-fallthrough=5, which
7299         requires a non-comment fallthrough attribute.  This is a bit
7300         cleaner than the comment versions.
7301         * lib/strftime.c, lib/dfa.c, lib/fnmatch.c, lib/mbrtowc.c:
7302         * lib/vasnprintf.c, tests/macros.h (FALLTHROUGH): New macro.
7303         Use it whenever one switch case falls through into the next.
7304         * lib/fnmatch_loop.c, tests/test-mbrtowc.c, tests/test-sigpipe.c:
7305         Use FALLTHROUGH macro.
7307 2017-05-15  Bruno Haible  <bruno@clisp.org>
7309         gnulib-tool: Fix generated code when libtests contains module 'alloca'.
7310         * gnulib-tool (func_emit_tests_Makefile_am): For libtests.a, use
7311         @ALLOCA@, not @LTALLOCA@.
7313 2017-05-15  Bruno Haible  <bruno@clisp.org>
7315         sys_select: Avoid "was expanded before it was required" warning.
7316         * modules/sys_select (configure.ac): Require, not invoke,
7317         gl_HEADER_SYS_SELECT.
7319 2017-05-14  Paul Eggert  <eggert@cs.ucla.edu>
7321         gnulib-tool: improve GNU Make debugging
7322         * gnulib-tool (func_emit_lib_Makefile_am): Omit unnecessary echo.
7323         Report autoconf diagnostics when it fails, in the output makefile.
7325 2017-05-14  Bruno Haible  <bruno@clisp.org>
7327         stat-time tests: Improve comment.
7328         * tests/test-stat-time.c: Add hyperlink, from Paul Eggert.
7330 2017-05-14  Bruno Haible  <bruno@clisp.org>
7332         same-inode: Adapt for windows-stat-inodes.
7333         * lib/same-inode.h: Include <sys/types.h>.
7334         (SAME_INODE) [_GL_WINDOWS_STAT_INODES]: Define specifically.
7335         * modules/same-inode (Depends-on): Add sys_types.
7337 2017-05-14  Bruno Haible  <bruno@clisp.org>
7339         windows-stat-inodes: New module.
7340         * m4/windows-stat-inodes.m4: New file.
7341         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set WINDOWS_STAT_INODES.
7342         * modules/sys_types (Makefile.am): Substitute WINDOWS_STAT_INODES.
7343         * lib/sys_types.in.h [WINDOWS_STAT_INODES]: Override dev_t and ino_t.
7344         (_GL_WINDOWS_STAT_INODES): New macro.
7345         * lib/stat-w32.c: Set _WIN32_WINNT. Include <string.h>, verify.h.
7346         (GetFileInformationByHandleExFunc): New variable.
7347         (initialize): Initialize it.
7348         (_gl_fstat_by_handle) [_GL_WINDOWS_STAT_INODES]: Initialize st_dev and
7349         st_ino appropriately.
7350         * lib/stat.c (rpl_stat): Use the directory entry based approach only as
7351         a fallback, because it does not provide st_dev and st_ino values.
7352         * modules/fstat (Depends-on): Add 'verify'.
7353         * modules/windows-stat-inodes: New file.
7354         * doc/windows-stat-inodes.texi: New file.
7355         * doc/gnulib.texi: Include it.
7356         * doc/posix-headers/sys_stat.texi: Mention the new module.
7358 2017-05-14  Bruno Haible  <bruno@clisp.org>
7360         stat-time tests: Workaround for native Windows.
7361         * tests/test-stat-time.c: Include <stdio.h>, <time.h>.
7362         (filename_stamp1, filename_testfile, filename_stamp2, filename_stamp3):
7363         New variables.
7364         (initialize_filenames): New function.
7365         (main): Invoke it.
7366         (cleanup, prepare_test): Update.
7368 2017-05-14  Bruno Haible  <bruno@clisp.org>
7370         stat-time: Adapt for windows-stat-timespec.
7371         * lib/stat-time.h (get_stat_birthtime) [_GL_WINDOWS_STAT_TIMESPEC]: Use
7372         entire st_ctim field.
7374 2017-05-13  Jim Meyering  <meyering@fb.com>
7376         maint.mk: update regex to reflect 2013 addition of "assume" to verify.h
7377         * top/maint.mk (sc_prohibit_verify_without_use): Don't reject a source
7378         file that uses the assume macro, claiming that verify.h is unused.
7380 2017-05-13  Bruno Haible  <bruno@clisp.org>
7382         Use symbolic values for _WIN32_WINNT.
7383         * lib/ftruncate.c (_WIN32_WINNT): Use symbolic value _WIN32_WINNT_WIN2K.
7384         * lib/sethostname.c (_WIN32_WINNT): Likewise.
7386 2017-05-13  Bruno Haible  <bruno@clisp.org>
7388         year2038: New module.
7389         * m4/year2038.m4: New file.
7390         * modules/year2038: New file.
7391         * doc/year2038.texi: New file.
7392         * doc/gnulib.texi: Include it.
7394 2017-05-13  Bruno Haible  <bruno@clisp.org>
7396         largefile: Simplify.
7397         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Remove unused definition
7398         of _GL_WINDOWS_64_BIT_ST_SIZE.
7400 2017-05-13  Bruno Haible  <bruno@clisp.org>
7402         largefile: Improve and document.
7403         * m4/largefile.m4 (gl_LARGEFILE): Set WINDOWS_64_BIT_ST_SIZE to 0 if
7404         the mingw headers already define 'stat' appropriately.
7405         * modules/largefile (Description): Clarify.
7406         * doc/largefile.texi: New file.
7407         * doc/gnulib.texi: Include it.
7408         * doc/posix-headers/sys_types.texi: Update.
7410 2017-05-13  Bruno Haible  <bruno@clisp.org>
7412         truncate: New module.
7413         * lib/unistd.in.h (truncate): New declaration.
7414         * lib/truncate.c: New file.
7415         * m4/truncate.m4: New file.
7416         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'truncate' is declared.
7417         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TRUNCATE, HAVE_TRUNCATE,
7418         REPLACE_TRUNCATE.
7419         * modules/unistd (Makefile.am): Substitute GNULIB_TRUNCATE,
7420         HAVE_TRUNCATE, REPLACE_TRUNCATE.
7421         * modules/truncate: New file.
7422         * tests/test-unistd-c++.cc (truncate): Test signature.
7423         * doc/posix-functions/truncate.texi: Mention the new module.
7425         * tests/test-truncate.c: New file.
7426         * modules/truncate-tests: New file.
7428 2017-05-13  Bruno Haible  <bruno@clisp.org>
7430         windows-stat-timespec: New module.
7431         * modules/windows-stat-timespec: New file.
7432         * m4/windows-stat-timespec.m4: New file.
7433         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Set WINDOWS_STAT_TIMESPEC.
7434         * modules/sys_stat (Makefile.am): Substitute WINDOWS_STAT_TIMESPEC.
7435         * lib/sys_stat.in.h (struct stat) [WINDOWS_STAT_TIMESPEC]: Declare with
7436         fields st_atim, st_mtim, st_ctim.
7437         (st_atime, st_mtime, st_ctime): Define as macros.
7438         (_GL_WINDOWS_STAT_TIMESPEC): New macro.
7439         * lib/stat-w32.h (_gl_convert_FILETIME_to_timespec)
7440         [_GL_WINDOWS_STAT_TIMESPEC]: New declaration.
7441         * lib/stat-w32.c (_gl_convert_FILETIME_to_timespec)
7442         [_GL_WINDOWS_STAT_TIMESPEC]: New function.
7443         (_gl_convert_FILETIME_to_POSIX): Adjust coding style.
7444         (_gl_fstat_by_handle): If _GL_WINDOWS_STAT_TIMESPEC, convert the
7445         FILETIME to 'struct timespec', not 'time_t'.
7446         * lib/stat.c (rpl_stat): If _GL_WINDOWS_STAT_TIMESPEC, convert the
7447         FILETIME to 'struct timespec', not 'time_t'.
7448         * lib/stat-time.h (STAT_TIMESPEC): Define also if
7449         _GL_WINDOWS_STAT_TIMESPEC.
7450         * doc/windows-stat-timespec.texi: New file.
7451         * doc/gnulib.texi: Include it.
7453 2017-05-13  Bruno Haible  <bruno@clisp.org>
7455         windows-stat-override: New module.
7456         * lib/sys_stat.in.h (stat) [GNULIB_OVERRIDES_STRUCT_STAT]: Provide own
7457         definition. Define GNULIB_defined_struct_stat.
7458         (fstat, fstatat, lstat, stat) [GNULIB_OVERRIDES_STRUCT_STAT]: Provoke
7459         link error if this symbol is used and the corresponding module is not
7460         in use.
7461         (_stat64, _stat32i64, _stati64, _stat32, _stat64i32): Don't redefine if
7462         GNULIB_OVERRIDES_STRUCT_STAT.
7463         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
7464         GNULIB_OVERRIDES_STRUCT_STAT.
7465         * modules/sys_stat (Makefile.am): Substitute
7466         GNULIB_OVERRIDES_STRUCT_STAT.
7467         * modules/windows-stat-override: New file.
7469 2017-05-13  Bruno Haible  <bruno@clisp.org>
7471         fstat: Fix module dependency conditions.
7472         * modules/fstat (Depends-on): Fix typo.
7474 2017-05-13  Bruno Haible  <bruno@clisp.org>
7476         stat, fstat: Complete removal of old native Windows code.
7477         * lib/stat.c: Remove old macrology for WINDOWS_NATIVE.
7478         * lib/fstat.c: Likewise.
7479         * lib/stat-w32.c: Likewise.
7481 2017-05-13  Bruno Haible  <bruno@clisp.org>
7483         stat: Complete removal of REPLACE_FUNC_STAT_DIR code.
7484         * lib/stat.c: Remove all REPLACE_FUNC_STAT_DIR code.
7486 2017-05-11  Paul Eggert  <eggert@cs.ucla.edu>
7488         getopt-posix: port to mingw
7489         * lib/getopt.c (flockfile, funlockfile): Define on mingw.
7490         Problem reported by Daniel P. Berrage in:
7491         http://lists.gnu.org/r/bug-gnulib/2017-05/msg00086.html
7493 2017-05-11  Bruno Haible  <bruno@clisp.org>
7495         gettimeofday: Increase precision on mingw.
7496         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Require AC_CANONICAL_HOST.
7497         Set REPLACE_GETTIMEOFDAY to 1 on mingw.
7498         * lib/gettimeofday.c (gettimeofday): On native Windows, use the
7499         GetSystemTimePreciseAsFileTime based implementation always.
7500         * doc/posix-functions/gettimeofday.texi: Mention precision problem on
7501         mingw.
7503 2017-05-11  Bruno Haible  <bruno@clisp.org>
7505         poll: Fix confusion between SOCKETs and FDs on native Windows.
7506         Fix proposed by Daniel P. Berrange <berrange@redhat.com>.
7507         * lib/poll.c [WINDOWS_NATIVE]: Undefine select.
7509 2017-05-11  Bruno Haible  <bruno@clisp.org>
7511         doc: Clarify doc about socket functions on native Windows.
7512         This reworks doc that was added on 2008-09-29.
7513         * doc/posix-functions/select.texi: Fix copy-and-paste mistake and use
7514         clearer wording.
7515         * doc/posix-functions/accept.texi: Use clearer wording.
7516         * doc/posix-functions/bind.texi: Likewise.
7517         * doc/posix-functions/connect.texi: Likewise.
7518         * doc/posix-functions/getpeername.texi: Likewise.
7519         * doc/posix-functions/getsockname.texi: Likewise.
7520         * doc/posix-functions/getsockopt.texi: Likewise.
7521         * doc/posix-functions/ioctl.texi: Likewise.
7522         * doc/posix-functions/listen.texi: Likewise.
7523         * doc/posix-functions/recv.texi: Likewise.
7524         * doc/posix-functions/recvfrom.texi: Likewise.
7525         * doc/posix-functions/send.texi: Likewise.
7526         * doc/posix-functions/sendto.texi: Likewise.
7527         * doc/posix-functions/setsockopt.texi: Likewise.
7528         * doc/posix-functions/shutdown.texi: Likewise.
7529         * doc/posix-functions/socket.texi: Likewise.
7531 2017-05-10  Bruno Haible  <bruno@clisp.org>
7533         poll: Fix link error on native Windows.
7534         * lib/poll.c [WINDOWS_NATIVE]: Undefine recv.
7536 2017-05-10  Bruno Haible  <bruno@clisp.org>
7538         time: Fix missing initialization of HAVE_TIMEZONE_T.
7539         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEZONE_T
7540         here...
7541         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): ... not here.
7542         * m4/time_rz.m4 (gl_TIME_RZ): Require gl_HEADER_TIME_H_DEFAULTS, not
7543         gl_HEADER_SYS_TIME_H_DEFAULTS.
7544         * modules/time_rz (Depends-on): Add 'time'. Remove useless quoting.
7545         (configure.ac): Remove useless quoting.
7547 2017-05-10  Bruno Haible  <bruno@clisp.org>
7549         Implement a way to opt out from MSVC support, part 2.
7550         * modules/msvc-inval (Include): Document recommended idiom.
7551         * modules/msvc-nothrow (Include): Likewise.
7553         Implement a way to opt out from MSVC support.
7554         This is useful for Emacs.
7555         * modules/msvc-nothrow (configure.ac): Invoke gl_MODULE_INDICATOR.
7556         * lib/accept4.c: Include <io.h> as an alternative to msvc-nothrow.h.
7557         * lib/error.c: Likewise.
7558         * lib/fcntl.c: Likewise.
7559         * lib/flock.c: Likewise.
7560         * lib/fstat.c: Likewise.
7561         * lib/fsync.c: Likewise.
7562         * lib/ioctl.c: Likewise.
7563         * lib/isapipe.c: Likewise.
7564         * lib/lseek.c: Likewise.
7565         * lib/nonblocking.c: Likewise.
7566         * lib/poll.c: Likewise.
7567         * lib/select.c: Likewise.
7568         * lib/sockets.h: Likewise.
7569         * lib/sockets.c: Likewise.
7570         * lib/stdio-read.c: Likewise.
7571         * lib/stdio-write.c: Likewise.
7572         * lib/utimens.c: Likewise.
7573         * lib/w32sock.h: Likewise.
7574         * lib/w32spawn.h: Likewise.
7575         * tests/test-cloexec.c: Likewise.
7576         * tests/test-dup-safer.c: Likewise.
7577         * tests/test-dup2.c: Likewise.
7578         * tests/test-dup3.c: Likewise.
7579         * tests/test-fcntl.c: Likewise.
7580         * tests/test-pipe.c: Likewise.
7581         * tests/test-pipe2.c: Likewise.
7582         * lib/ftruncate.c: Likewise.
7583         (chsize_nothrow): Renamed from chsize.
7584         * lib/msvc-nothrow.c: Don't include msvc-inval.h if
7585         HAVE_MSVC_INVALID_PARAMETER_HANDLER is not defined.
7586         * lib/close.c: Likewise.
7587         * lib/dup.c: Likewise.
7588         * lib/fclose.c: Likewise.
7589         * lib/raise.c: Likewise.
7590         * tests/test-fgetc.c: Likewise.
7591         * tests/test-fputc.c: Likewise.
7592         * tests/test-fread.c: Likewise.
7593         * tests/test-fwrite.c: Likewise.
7594         * lib/getdtablesize.c: Likewise.
7595         (_setmaxstdio_nothrow): Renamed from _setmaxstdio.
7596         * lib/isatty.c: Don't include msvc-inval.h if
7597         HAVE_MSVC_INVALID_PARAMETER_HANDLER is not defined.
7598         Include <io.h> as an alternative to msvc-nothrow.h.
7599         * lib/read.c: Likewise.
7600         * lib/write.c: Likewise.
7601         * lib/dup2.c: Likewise.
7602         (dup2_nothrow): New function.
7603         (ms_windows_dup2): Use it.
7604         * m4/close.m4 (gl_FUNC_CLOSE): Invoke gl_MSVC_INVAL and test
7605         HAVE_MSVC_INVALID_PARAMETER_HANDLER only if gl_MSVC_INVAL is defined.
7606         * m4/dup.m4 (gl_FUNC_DUP): Likewise.
7607         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Likewise.
7608         * m4/raise.m4 (gl_FUNC_RAISE): Likewise.
7609         * m4/read.m4 (gl_FUNC_READ): Likewise.
7610         * m4/write.m4 (gl_FUNC_WRITE): Likewise.
7611         * doc/windows-without-msvc.texi: New file.
7612         * doc/gnulib.texi (Native Windows Support without MSVC Support): New
7613         section.
7615 2017-05-10  Bruno Haible  <bruno@clisp.org>
7617         wait-process: Adjust native Windows support.
7618         * lib/wait-process.c: Use the usual condition for recognizing a native
7619         Windows platform.
7621 2017-05-10  Bruno Haible  <bruno@clisp.org>
7623         doc: New chapter "Native Windows Support".
7624         * doc/gnulib.texi (Native Windows Support): New chapter.
7625         * doc/windows-libtool.texi: Small wording changes.
7626         * doc/windows-sockets.texi: Small wording and formatting changes.
7628 2017-05-10  Bruno Haible  <bruno@clisp.org>
7630         doc: Move section "Library version handling".
7631         * doc/gnulib.texi: Move section "Library version handling"
7632         from chapter "Miscellaneous Notes" to chapter "Particular Modules".
7634 2017-05-10  Bruno Haible  <bruno@clisp.org>
7636         doc: Move section "Running self-tests under valgrind".
7637         * doc/gnulib.texi: Move section "Running self-tests under valgrind"
7638         from chapter "Particular Modules" to chapter "Miscellaneous Notes".
7640 2017-05-10  Bruno Haible  <bruno@clisp.org>
7642         doc: New chapter "Build Infrastructure Modules".
7643         * doc/gnulib.texi (Build Infrastructure Modules): New chapter.
7645 2017-05-10  Bruno Haible  <bruno@clisp.org>
7647         Prepare for reordering sections in the manual.
7648         * doc/gnulib.texi: Move several sections to separate files. Include
7649         these files.
7650         * doc/out-of-memory.texi: New file, extracted from doc/gnulib.texi.
7651         * doc/obsolete.texi: Likewise.
7652         * doc/extra-tests.texi: Likewise.
7653         * doc/transversal.texi: Likewise.
7654         * doc/namespace.texi: Likewise.
7655         * doc/check-version.texi: Likewise.
7656         * doc/windows-sockets.texi: Likewise.
7657         * doc/windows-libtool.texi: Likewise.
7658         * doc/licenses-texi.texi: Likewise.
7659         * doc/build-automation.texi: Likewise.
7660         * doc/c-locale.texi: Likewise.
7662 2017-05-10  Bruno Haible  <bruno@clisp.org>
7664         Fix instructions how to update manual on www.gnu.org.
7665         * doc/README: Add -I option, so that texi2dvi finds texinfo.tex.
7667 2017-05-09  Bruno Haible  <bruno@clisp.org>
7669         tzset: Expand comment about TZ problem on native Windows.
7670         * lib/tzset.c (tzset): Elaborate comment, based on explanations by
7671         Paul Eggert.
7672         * lib/ctime.c (rpl_ctime): Likewise.
7673         * lib/localtime.c (rpl_localtime): Likewise.
7674         * lib/mktime.c (mktime): Likewise.
7675         * lib/strftime-fixes.c (rpl_strftime): Likewise.
7676         * lib/wcsftime.c (rpl_wcsftime): Likewise.
7678 2017-05-08  Paul Eggert  <eggert@cs.ucla.edu>
7680         intprops: don’t depend on ‘verify’
7681         Problem reported by Ævar Arnfjörð Bjarmason in:
7682         http://lists.gnu.org/r/bug-gnulib/2017-05/msg00054.html
7683         * lib/intprops.h: Do not include verify.h, and move compile-time
7684         checks from here ...
7685         * tests/test-intprops.c (main): ... to here, if they’re not here
7686         already.  Check widths of other standard integer types.
7687         * modules/intprops (Depends-on): Remove ‘verify’.
7689 2017-05-07  Bruno Haible  <bruno@clisp.org>
7691         utimens: On native Windows, support 100ns resolution also if fd < 0.
7692         * lib/utime.in.h: Include <time.h>.
7693         (_gl_utimens_windows): New declaration.
7694         * lib/utime.c (_gl_utimens_windows): New function, based on utime.
7695         (utime): Invoke it.
7696         * lib/utimens.c (fdutimens): On native Windows, call _gl_utimens_windows
7697         instead of utime.
7698         * modules/utime (Depends-on): Add 'time'.
7700 2017-05-07  Bruno Haible  <bruno@clisp.org>
7702         utimens: Improve error code on native Windows.
7703         * lib/utimens.c (fdutimens): If fd was not opened with O_RDWR, fail with
7704         error code EACCES, not EINVAL.
7706 2017-05-07  Bruno Haible  <bruno@clisp.org>
7708         utime: Handle more Windows error codes.
7709         * lib/utime.c (utime): Handle ERROR_BAD_NETPATH.
7710         Based on explanations by Billy O'Neal.
7712 2017-05-05  Bruno Haible  <bruno@clisp.org>
7714         crypto/rijndael: Fix "strict-aliasing rules" warnings, alignment issues.
7715         * lib/rijndael-api-fst.c (rijndaelBlockEncrypt): Declare 'block' as a
7716         union.
7717         (rijndaelPadEncrypt, rijndaelBlockDecrypt): Likewise.
7718         (rijndaelPadDecrypt): Likewise. Use local variable 'iv' to cache the
7719         value of cipher->IV.
7721 2017-05-05  Bruno Haible  <bruno@clisp.org>
7723         wctype-h-c++-tests: Update.
7724         * tests/test-wctype-h-c++.cc: Reorder to match lib/wchar.in.h.
7726 2017-05-05  Bruno Haible  <bruno@clisp.org>
7728         wchar-c++-tests: Update.
7729         * tests/test-wchar-c++.cc (wcsftime): Declare, missing since 2017-04-30.
7731 2017-05-05  Bruno Haible  <bruno@clisp.org>
7733         utime-h-c++-tests: New module.
7734         * tests/test-utime-h-c++.cc: New file.
7735         (utime): Declare, missing since 2017-04-30.
7736         * modules/utime-h-c++-tests: New file.
7738 2017-05-05  Bruno Haible  <bruno@clisp.org>
7740         unistd-c++-tests: Update.
7741         * tests/test-unistd-c++.cc (isatty): Declare, missing since 2012-01-03.
7742         (read): Declare, missing since 2011-04-15.
7743         (sethostname): Declare, missing since 2011-12-03.
7745 2017-05-05  Bruno Haible  <bruno@clisp.org>
7747         time-c++-tests: Update.
7748         * tests/test-time-c++.cc (tzset): Declare, missing since 2017-05-01.
7749         (localtime, gmtime): Declare, missing since 2017-04-30.
7750         (ctime): Declare, missing since 2017-04-30.
7751         (strftime): Declare, missing since 2017-04-30.
7752         (tzalloc, tzfree, localtime_rz, mktime_z): Declare, missing since
7753         2015-07-24.
7755 2017-05-05  Bruno Haible  <bruno@clisp.org>
7757         sys_resource-c++-tests: New module.
7758         * tests/test-sys_resource-c++.cc: New file.
7759         (getrusage): Declare, missing since 2012-04-13.
7760         * modules/sys_resource-c++-tests: New file.
7762 2017-05-05  Bruno Haible  <bruno@clisp.org>
7764         strings-c++-tests: New module.
7765         * tests/test-strings-c++.cc: New file.
7766         (ffs): Declare, missing since 2011-07-12.
7767         * modules/strings-c++-tests: New file.
7769 2017-05-05  Bruno Haible  <bruno@clisp.org>
7771         string-c++-tests: Update.
7772         * tests/test-string-c++.cc (ffsl): Declare, missing since 2011-07-15.
7773         (ffsll): Declare, missing since 2011-07-15.
7775 2017-05-05  Bruno Haible  <bruno@clisp.org>
7777         stdlib-c++-tests: Update.
7778         * tests/test-stdlib-c++.cc (posix_openpt): Declare, missing since
7779         2011-10-18.
7780         (ptsname_r): Declare, missing since 2011-11-07.
7781         (qsort_r): Declare, missing since 2014-08-29.
7782         (random, srandom, initstate, setstate): Declare, missing since
7783         2012-01-14.
7784         (secure_getenv): Declare, missing since 2013-02-05.
7786 2017-05-05  Bruno Haible  <bruno@clisp.org>
7788         stdio-c++-tests: Update.
7789         * tests/test-stdio-c++.cc (pclose): Declare, missing since 2011-09-18.
7791 2017-05-05  Bruno Haible  <bruno@clisp.org>
7793         signal-h-c++-tests: Update.
7794         * tests/test-signal-h-c++.cc (raise): Remove redundant declaration.
7796 2017-05-05  Bruno Haible  <bruno@clisp.org>
7798         math-c++-tests: Update.
7799         * tests/test-math-c++.cc (fmaf): Declare, missing since 2011-10-17.
7800         (fma): Declare, missing since 2011-10-17.
7801         (fmal): Declare, missing since 2011-10-17.
7803 2017-05-05  Bruno Haible  <bruno@clisp.org>
7805         locale-c++-tests: Update.
7806         * tests/test-locale-c++.cc (localeconv): Declare, missing since
7807         2012-03-25.
7809 2017-05-05  Bruno Haible  <bruno@clisp.org>
7811         inttypes-c++-tests: New module.
7812         * tests/test-inttypes-c++.cc: New file.
7813         (strtoimax): Declare, missing since 2012-01-05.
7814         (strtoumax): Declare, missing since 2012-01-05.
7815         * modules/inttypes-c++-tests: New file.
7817 2017-05-05  Bruno Haible  <bruno@clisp.org>
7819         dirent-c++-tests: Update.
7820         * tests/test-dirent-c++.cc (readdir): Declare, missing since 2011-09-13.
7821         (rewinddir): Declare, missing since 2011-09-13.
7822         (dirfd): Declare, missing since 2010-03-08.
7824 2017-05-04  Bruno Haible  <bruno@clisp.org>
7826         argp: Fix mistake in 2017-04-23 commit.
7827         * lib/argp-help.c (__argp_failure): If GNULIB_STRERROR_R_POSIX is set,
7828         assume that strerror_r returns 'int', not 'char *'.
7830 2017-05-04  Reuben Thomas  <rrt@sc3d.org>
7832         argp: Fix typo.
7833         * lib/argp-help.c (argp_doc): Fix spelling mistake in comment.
7835 2017-05-02  Paul Eggert  <eggert@cs.ucla.edu>
7837         utimens: port to Emacs + MS-Windows
7838         Skip the new MS-Windows-specific code if Emacs.
7839         * lib/utimens.c [EMACS_CONFIGUATION]:
7840         Avoid new MS-Windows-specific code.
7841         (USE_SETFILETIME): New macro.
7842         (fdutimens): Use it.
7844 2017-05-01  Paul Eggert  <eggert@cs.ucla.edu>
7846         tzset: update doc for TZ problems on MS-Windows
7847         * doc/posix-functions/ctime.texi,  doc/posix-functions/daylight.texi:
7848         * doc/posix-functions/localtime.texi, doc/posix-functions/mktime.texi:
7849         * doc/posix-functions/strftime.texi, doc/posix-functions/timezone.texi:
7850         * doc/posix-functions/tzname.texi, doc/posix-functions/tzset.texi:
7851         * doc/posix-functions/wcsftime.texi:
7852         Mention some issues with TZ under MS-Windows.
7854 2017-05-01  Bruno Haible  <bruno@clisp.org>
7856         copy-file: Fix build error on mingw.
7857         * modules/copy-file (Depends-on): Add 'close'.
7859 2017-05-01  Bruno Haible  <bruno@clisp.org>
7861         tzset: Work around TZ problem on native Windows.
7862         * m4/tzset.m4 (gl_FUNC_TZSET): Require AC_CANONICAL_HOST. On native
7863         Windows, set REPLACE_TZSET to 1.
7864         * lib/tzset.c (tzset): On native Windows, fix TZ if necessary, and
7865         invoke '_tzset' instead of 'tzset'.
7866         * doc/posix-functions/tzset.texi: Mention the native Windows workaround.
7868         * modules/time_rz (Depends-on): Add tzset.
7869         * lib/time_rz.c (tzset): Remove fallback definition.
7870         * m4/time_rz.m4 (gl_TIME_RZ): Don't test for tzset.
7872 2017-05-01  Bruno Haible  <bruno@clisp.org>
7874         mktime: Fix dependencies.
7875         * modules/mktime (Depends-on): Add 'time'.
7877 2017-05-01  Bruno Haible  <bruno@clisp.org>
7879         New module 'localtime-buffer', split off from module 'gettimeofday'.
7880         * lib/localtime-buffer.h: New file.
7881         * lib/localtime-buffer.c: New file, extracted from lib/gettimeofday.c.
7882         * lib/time.in.h (tzset): New declaration.
7883         (localtime, gmtime): Don't test GNULIB_GETTIMEOFDAY.
7884         * lib/tzset.c: New file, extracted from lib/gettimeofday.c.
7885         * lib/gettimeofday.c: Include localtime-buffer.h. Remove code that was
7886         moved to lib/localtime-buffer.c or lib/tzset.c.
7887         * m4/localtime-buffer.m4: New file.
7888         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TZSET,
7889         HAVE_TZSET, REPLACE_TZSET.
7890         * m4/tzset.m4 (gl_FUNC_TZSET): Move code from m4/gettimeofday.m4 to
7891         here, with modifications. Set HAVE_TZSET, REPLACE_TZSET. Invoke
7892         gl_LOCALTIME_BUFFER_NEEDED.
7893         (gl_FUNC_TZSET_CLOBBER): Don't require gl_HEADER_SYS_TIME_H; not needed
7894         since 2007-01-18.
7895         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Remove code that deals with
7896         tzset.
7897         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Require gl_LOCALTIME_BUFFER_DEFAULTS.
7898         Invoke gl_LOCALTIME_BUFFER_NEEDED instead of
7899         gl_GETTIMEOFDAY_REPLACE_LOCALTIME.
7900         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Remove macro.
7901         * modules/localtime-buffer: New file.
7902         * modules/time (Depends-on): Remove 'gettimeofday'.
7903         (Makefile.am): Substitute GNULIB_TZSET, HAVE_TZSET,
7904         REPLACE_TZSET. Don't substitute GNULIB_GETTIMEOFDAY.
7905         * modules/tzset (Description): Enable hyperlink to POSIX spec.
7906         (Files): Add lib/tzset.c.
7907         (Depends-on): Remove gettimeofday. Add localtime-buffer, time.
7908         (configure.ac): Arrange to conditionally compile lib/tzset.c. Invoke
7909         gl_TIME_MODULE_INDICATOR.
7910         * modules/gettimeofday (Depends-on): Add localtime-buffer.
7912 2017-05-01  Bruno Haible  <bruno@clisp.org>
7914         copy-file: Preserve sub-second time stamps.
7915         * lib/copy-file.c: Include stat-time.h, utimens.h instead of <utime.h>.
7916         (qcopy_file_preserving): Use 'struct timespec' and utimens() to
7917         transport the time stamps from the original file to the destination
7918         file.
7919         * m4/copy-file.m4 (gl_COPY_FILE): Don't test for utime, utimes.
7920         * modules/copy-file (Depends-on): Add stat-time, utimns instead of
7921         utime-h.
7923 2017-05-01  Bruno Haible  <bruno@clisp.org>
7925         wctype-t: Fix problems if <wchar.h> gets included after <wctype.h>.
7926         * lib/wctype.in.h: Include not only <ctype.h> but also <wchar.h>. Do so
7927         also on MSVC.
7928         Reported by Eli Zaretskii <eliz@gnu.org>.
7930 2017-05-01  Bruno Haible  <bruno@clisp.org>
7932         wchar: Fix compilation error with the original mingw.org mingw.
7933         * lib/wchar.in.h (rpl_wint_t): If <crtdefs.h> does not exist, include
7934         <stddef.h> instead.
7935         * m4/wint_t.m4 (gl_TYPE_WINT_T_PREREQ): New macro, extracted from
7936         gl_WCTYPE_H.
7937         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set HAVE_CRTDEFS_H here; require
7938         gl_TYPE_WINT_T_PREREQ instead.
7939         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_TYPE_WINT_T_PREREQ.
7940         * modules/wchar (Makefile.am): Substitute HAVE_CRTDEFS_H.
7941         Reported by Eli Zaretskii <eliz@gnu.org>.
7943 2017-04-30  Bruno Haible  <bruno@clisp.org>
7945         utimecmp: Add support for native Windows.
7946         * lib/utimecmp.c (SYSCALL_RESOLUTION): Set to 100 on native Windows.
7948 2017-04-30  Bruno Haible  <bruno@clisp.org>
7950         utimens: Add support for native Windows.
7951         * lib/utimens.c: Include <windows.h>, msvc-nothrow.h.
7952         (fdutimens): Provide a native Windows implementation, like utime.c with
7953         added tv_nsec support.
7954         * modules/utimens (Depends-on): Add msvc-nothrow, utime.
7955         Suggested by Tim Rühsen <tim.ruehsen@gmx.de>.
7957 2017-04-30  Bruno Haible  <bruno@clisp.org>
7959         wcsftime: New module.
7960         * lib/wchar.in.h (wcsftime): New declaration.
7961         * lib/wcsftime.c: New file.
7962         * m4/wcsftime.m4: New file.
7963         * m4/wchar_h.m4 (gl_WCHAR_H): Test for wcsftime declaration.
7964         (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_WCSFTIME,
7965         HAVE_WCSFTIME, REPLACE_WCSFTIME.
7966         * modules/wchar (Makefile.am): Substitute GNULIB_WCSFTIME,
7967         HAVE_WCSFTIME, REPLACE_WCSFTIME.
7968         * modules/wcsftime: New file.
7969         * doc/posix-functions/wcsftime.texi: Mention the new module.
7971 2017-04-30  Bruno Haible  <bruno@clisp.org>
7973         strftime-fixes: New module.
7974         * lib/time.in.h (strftime): New declaration.
7975         * lib/strftime-fixes.c: New file.
7976         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Inline gl_FUNC_STRFTIME macro.
7977         (gl_FUNC_STRFTIME): Remove macro.
7978         * m4/strftime-fixes.m4: New file.
7979         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_STRFTIME,
7980         REPLACE_STRFTIME.
7981         * modules/time (Makefile.am): Substitute GNULIB_STRFTIME,
7982         REPLACE_STRFTIME.
7983         * modules/strftime-fixes: New file.
7984         * doc/posix-functions/strftime.texi: Mention the new module.
7986 2017-04-30  Bruno Haible  <bruno@clisp.org>
7988         mktime: Work around TZ problem on native Windows.
7989         * lib/mktime.c: Add #ifs to make the algorithmic workaround independent
7990         from the native Windows workaround.
7991         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): New macro, extracted from
7992         gl_FUNC_MKTIME. If guessing, set gl_cv_func_working_mktime to
7993         'guessing no'.
7994         (gl_FUNC_MKTIME): Require it. Require AC_CANONICAL_HOST.
7995         Set REPLACE_MKTIME to 1 on native Windows. Define NEED_MKTIME_WORKING,
7996         NEED_MKTIME_WINDOWS.
7997         (gl_FUNC_MKTIME_INTERNAL): Require gl_FUNC_MKTIME_WORKS, not
7998         gl_FUNC_MKTIME. Set WANT_MKTIME_INTERNAL, not REPLACE_MKTIME. Define
7999         NEED_MKTIME_INTERNAL.
8000         * m4/timegm.m4 (gl_FUNC_TIMEGM): Require gl_FUNC_MKTIME_WORKS, not
8001         gl_FUNC_MKTIME. Cope with 'guessing yes' value.
8002         * modules/mktime-internal (configure.ac): Test WANT_MKTIME_INTERNAL,
8003         not REPLACE_MKTIME.
8004         * doc/posix-functions/mktime.texi: Mention the native Windows
8005         workaround.
8007 2017-04-30  Bruno Haible  <bruno@clisp.org>
8009         localtime: New module.
8010         * lib/time.in.h (localtime): Declare also if requested by module
8011         'localtime'.
8012         * lib/localtime.c: New file.
8013         * m4/localtime.m4: New file.
8014         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_LOCALTIME.
8015         * modules/time (Makefile.am): Substitute GNULIB_LOCALTIME.
8016         * modules/localtime: New file.
8017         * doc/posix-functions/localtime.texi: Mention the new module.
8019 2017-04-30  Bruno Haible  <bruno@clisp.org>
8021         ctime: New module.
8022         * lib/time.in.h (ctime): New declaration.
8023         * lib/ctime.c: New file.
8024         * m4/ctime.m4: New file.
8025         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_CTIME,
8026         REPLACE_CTIME.
8027         * modules/time (Makefile.am): Substitute GNULIB_CTIME, REPLACE_CTIME.
8028         * modules/ctime: New file.
8029         * doc/posix-functions/ctime.texi: Mention the new module.
8031 2017-04-30  Bruno Haible  <bruno@clisp.org>
8033         gettimeofday: Provide higher resolution on native Windows.
8034         * lib/gettimeofday.c: Don't include <sys/timeb.h>.
8035         (GetSystemTimePreciseAsFileTimeFuncType): New variable.
8036         (initialize): Initialize it.
8037         (gettimeofday) [WINDOWS_NATIVE]: Use it, and convert from FILETIME to
8038         'struct timeval'. Don't use _ftime().
8039         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): Don't test for
8040         <sys/timeb.h> and _ftime.
8042 2017-04-30  Bruno Haible  <bruno@clisp.org>
8044         Document the problem with the Cygwin environment variable TZ.
8045         * doc/posix-functions/tzset.texi: Add note about TZ.
8046         * doc/posix-functions/ctime.texi: Likewise.
8047         * doc/posix-functions/localtime.texi: Likewise.
8048         * doc/posix-functions/mktime.texi: Likewise.
8049         * doc/posix-functions/strftime.texi: Likewise.
8050         * doc/posix-functions/wcsftime.texi: Likewise.
8051         * doc/pastposix-functions/ftime.texi: Likewise.
8053 2017-04-30  Bruno Haible  <bruno@clisp.org>
8055         utime-tests: New module.
8056         * tests/test-utime.c: New file, based on tests/test-utimens.h.
8057         * tests/test-utimens-common.h: Include <sys/stat.h>.
8058         * modules/utime-tests: New file.
8060 2017-04-29  Bruno Haible  <bruno@clisp.org>
8062         utime: New module.
8063         * lib/utime.in.h: Add comment for snippets.
8064         (utime): New declaration.
8065         * lib/utime.c: New file.
8066         * m4/utime.m4: New file.
8067         * m4/utime_h.m4 (gl_UTIME_H): Test for utime declaration.
8068         (gl_UTIME_H_DEFAULTS): Initialize GNULIB_UTIME, HAVE_UTIME,
8069         REPLACE_UTIME.
8070         * modules/utime-h (Depends-on): Add snippets.
8071         (Makefile.am): Substitute GNULIB_UTIME, HAVE_UTIME, REPLACE_UTIME.
8072         Insert snippets.
8073         * modules/utime: New file.
8074         * doc/posix-functions/utime.texi: Mention the new module.
8076 2017-04-29  Bruno Haible  <bruno@clisp.org>
8078         utime-h: Modernize handling of 'struct utimbuf'.
8079         * lib/utime.in.h: Include next <utime.h> if it exists.
8080         (utimbuf): Define to _utimbuf on native Windows.
8081         * m4/utime_h.m4 (gl_UTIME_H): Check for prerequisites of include_next.
8082         Set UTIME_H on native Windows.
8083         (gl_UTIME_MODULE_INDICATOR, gl_HEADER_UTIME_H_DEFAULTS): New macros.
8084         * modules/utime-h (Depends-on): Add include_next.
8085         (Makefile.am): Substitute also HAVE_UTIME_H, INCLUDE_NEXT,
8086         PRAGMA_SYSTEM_HEADER, PRAGMA_COLUMNS, NEXT_UTIME_H.
8088         * lib/utimens.c (utimbuf): Remove fallback definition.
8089         * m4/utimens.m4 (gl_UTIMENS): Don't require
8090         gl_CHECK_TYPE_STRUCT_UTIMBUF.
8091         * m4/utimbuf.m4: Remove file.
8092         * modules/utimens (Files): Remove m4/utimbuf.m4.
8094 2017-04-29  Bruno Haible  <bruno@clisp.org>
8096         Make use of module 'utime-h'.
8097         * modules/copy-file (Depends-on): Add utime-h.
8098         * lib/copy-file.c: Assume that <utime.h> exists.
8099         * m4/copy-file.m4 (gl_COPY_FILE): Don't test for <utime.h>.
8101         * modules/utimens (Depends-on): Add utime-h.
8102         * lib/utimens.c: Assume that <utime.h> exists.
8104 2017-04-29  Bruno Haible  <bruno@clisp.org>
8106         utime-h: New module.
8107         * m4/utime_h.m4: New file.
8108         * lib/utime.in.h: New file.
8109         * modules/utime-h: New file.
8110         * doc/posix-headers/utime.texi: Mention the new module.
8112         * tests/test-utime-h.c: New file.
8113         * modules/utime-h-tests: New file.
8115 2017-04-30  Bruno Haible  <bruno@clisp.org>
8117         Fix a few typos.
8118         * m4/fstat.m4 (gl_FUNC_FSTAT): Require AC_CANONICAL_HOST.
8119         * m4/stat.m4 (gl_FUNC_STAT): Fix comment.
8120         * doc/posix-functions/fstat.texi: Fix a plural typo.
8121         * doc/posix-functions/stat.texi: Likewise.
8122         * m4/include_next.m4: Update comments.
8124 2017-04-29  Bruno Haible  <bruno@clisp.org>
8126         error: Fix mistake in 2017-04-23 commit.
8127         * lib/error.c (print_errno_message): If GNULIB_STRERROR_R_POSIX is set,
8128         assume that strerror_r returns 'int', not 'char *'.
8130 2017-04-29  Bruno Haible  <bruno@clisp.org>
8132         stat: Fix time_t values and other problems on native Windows platforms.
8133         * doc/posix-functions/stat.texi: Mention the problem with the Microsoft
8134         implementations of stat().
8135         * lib/stat.c: Include filename.h instead of dosname.h. Include
8136         malloca.h, stat-w32.h.
8137         (is_unc_root): New function.
8138         (rpl_stat): New implementation for native Windows. Remove
8139         REPLACE_FUNC_STAT_DIR code.
8140         * m4/stat.m4 (gl_FUNC_STAT): On native Windows, set REPLACE_STAT always.
8141         Don't define REPLACE_FUNC_STAT_DIR.
8142         (gl_PREREQ_STAT): Require gl_HEADER_SYS_STAT_H.
8143         * modules/stat (Files): Add lib/stat-w32.h, lib/stat-w32.c.
8144         (Depends-on): Remove dosname. Add filename, malloca.
8145         (configure.ac): Also compile lib/stat-w32.c.
8147 2017-04-29  Bruno Haible  <bruno@clisp.org>
8149         fstat: Fix time_t values on native Windows platforms.
8150         * doc/posix-functions/fstat.texi: Mention the problem with st_*time.
8151         * lib/stat-w32.h: New file.
8152         * lib/stat-w32.c: New file.
8153         * lib/fstat.c: Don't include msvc-inval.h. Include msvc-nothrow.h,
8154         stat-w32.h instead.
8155         (fstat_nothrow): Remove function.
8156         (rpl_fstat): Implement by means of _gl_fstat_by_handle.
8157         * m4/fstat.m4 (gl_FUNC_FSTAT): On native Windows, set REPLACE_FSTAT
8158         always.
8159         (gl_PREREQ_FSTAT): Require gl_HEADER_SYS_STAT_H.
8160         * modules/fstat (Files): Add lib/stat-w32.h, lib/stat-w32.c.
8161         (Depends-on): Remove msvc-inval. Add pathmax, msvc-nothrow.
8162         (configure.ac): Also compile lib/stat-w32.c.
8164 2017-04-29  Paul Eggert  <eggert@cs.ucla.edu>
8166         getopt: port to Solaris 10 with circa-1997 glibc getopt.h
8167         Problem reported by Assaf Gordon and Gavin Smith in:
8168         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00157.html
8169         * lib/getopt-pfx-ext.h (_getopt_internal) [__GETOPT_PREFIX]:
8170         #define this, too.
8172 2017-04-29  Bruno Haible  <bruno@clisp.org>
8174         strerror_r-posix: Fixes for MSVC 14.
8175         * lib/strerror_r.c: Include <stdarg.h>.
8176         (strerror_r): Provide error messages for errno values 100...140.
8177         * doc/posix-functions/strerror_r.texi: Mention the MSVC 14 problem.
8179 2017-04-28  Bruno Haible  <bruno@clisp.org>
8181         noreturn: New module.
8182         * lib/noreturn.h: New file.
8183         * modules/noreturn: New file.
8184         * tests/test-noreturn.c: New file.
8185         * modules/noreturn-tests: New file.
8186         * tests/test-noreturn-c++.cc: New file.
8187         * modules/noreturn-c++-tests: New file.
8189 2017-04-27  Bruno Haible  <bruno@clisp.org>
8191         wctype-h: Fix compilation error with the original mingw.org mingw.
8192         * m4/wctype_h.m4 (gl_WCTYPE_H): Test for <crtdefs.h>. Set
8193         HAVE_CRTDEFS_H.
8194         * modules/wctype-h (Makefile.am): Substitute HAVE_CRTDEFS_H.
8195         * lib/wctype.in.h (rpl_wint_t): If <crtdefs.h> does not exist, include
8196         <stddef.h> instead.
8197         Reported and proposed by Eli Zaretskii <eliz@gnu.org>.
8199 2017-04-26  Pádraig Brady  <P@draigBrady.com>
8201         nap.h: Fix compilation on non windows platforms
8202         * tests/nap.h: Move misplaced endif.
8204 2017-04-26  Pádraig Brady  <P@draigBrady.com>
8205         and Paul Eggert  <eggert@cs.ucla.edu>
8207         time_rz: fix heap buffer overflow vulnerability
8208         Reported and analyzed at https://bugzilla.redhat.com/CVE-2017-7476
8209         * lib/time_rz.c (save_abbr): Rearrange the calculation determining
8210         whether there is enough buffer space available, thus avoiding
8211         the problematic promotion of signed to unsigned causing an invalid
8212         comparison when zone_copy is more than ABBR_SIZE_MIN bytes beyond
8213         the start of the buffer.
8214         * tests/test-parse-datetime.c (main): Add a test case written by
8215         Paul Eggert, which overwrites enough of the heap so that
8216         standard glibc will fail with "free(): invalid pointer"
8217         without the patch applied.
8219 2017-04-26  Paul Eggert  <eggert@cs.ucla.edu>
8221         xalloc: add missing integer overflow check
8222         * lib/xalloc.h (x2nrealloc): Also check for multiplication
8223         overflow when P is null.
8225 2017-04-25  Paul Eggert  <eggert@cs.ucla.edu>
8227         parse-datetime: make it standalone
8228         * lib/parse-datetime.y: Include <stdarg.h>, for va_start etc.
8229         (_GL_ATTRIBUTE_FORMAT): New macro.
8230         These are needed to get './gnulib-tool --test parse-datetime' to work.
8232 2017-04-23  Bruno Haible  <bruno@clisp.org>
8234         nap.h: Port to native Windows.
8235         * tests/nap.h (nap_get_stat): Renamed from get_stat. Remove argument fd;
8236         use nap_fd instead. On native Windows, close and reopen nap_fd.
8237         (nap_works): Don't compare the ctimes, because on native Windows, these
8238         are the creation times.
8239         (nap): Update.
8241 2017-04-23  Bruno Haible  <bruno@clisp.org>
8243         nap.h: Fix logic.
8244         * tests/nap.h (nap): Avoid signed integer overflow in loop.
8246 2017-04-23  Bruno Haible  <bruno@clisp.org>
8248         Fix conflict between strerror_r-posix module and AC_FUNC_STRERROR_R.
8249         * modules/strerror_r-posix (configure.ac): Invoke gl_MODULE_INDICATOR.
8250         * lib/error.c: Test GNULIB_STRERROR_R_POSIX before testing
8251         HAVE_DECL_STRERROR_R, HAVE_STRERROR_R, or STRERROR_R_CHAR_P.
8252         * lib/argp-help.c (__argp_failure): Likewise.
8254 2017-04-23  Bruno Haible  <bruno@clisp.org>
8256         strerror_r-posix: Revert commits from 2016-10-16,2016-11-04,2016-11-14.
8257         * m4/strerror_r.m4: Revert changes since 2016-10-16.
8258         * lib/strerror_r.c: Likewise.
8260 2017-04-23  Paul Eggert  <eggert@cs.ucla.edu>
8262         Target a C99 subset, not a C89 subset
8263         For many years Gnulib has targeted C89 and has resisted using C99
8264         features, as some Gnulib-using programs still wanted to target
8265         C89.  As this no longer seems to be the case, relax the porting
8266         requirements to allow some C99 features.  This is merely a change
8267         to the documentation, to give other Gnulib developers a chance to
8268         weigh in on the topic.
8269         * doc/extern-inline.texi (extern inline):
8270         * doc/gnulib-readme.texi (Portability guidelines):
8271         * doc/gnulib-tool.texi (Initial import):
8272         * doc/gnulib.texi (Header files):
8273         Modernize to talk about C99 and C11 instead of C89 and C99.
8274         * doc/gnulib-readme.texi (Portability guidelines):
8275         Now a section, not merely a subsection, so that it
8276         can be split up.  Modernize a bit.
8277         (C language versions, C99 features assumed)
8278         (C99 features avoided):
8279         New sections.
8281 2017-04-23  Bruno Haible  <bruno@clisp.org>
8283         doc: New section "Modules that modify the way other modules work".
8284         * doc/gnulib.texi (Modules that modify the way other modules work): New
8285         section.
8287 2017-04-23  Bruno Haible  <bruno@clisp.org>
8289         stat-time: Update comments.
8290         * lib/stat-time.h: Fix reference regarding st_ctime on Windows.
8291         * tests/test-utimens-common.h: Add reference regarding st_ctime on
8292         Windows.
8294 2017-04-01  Bruno Haible  <bruno@clisp.org>
8296         glob: Fix more memory leaks.
8297         * lib/glob.c (glob): Free allocated memory before returning.
8298         Reported by Coverity via Tim Rühsen.
8300 2017-04-22  Paul Eggert  <eggert@cs.ucla.edu>
8302         poll: improve fast check for out-of-range NFD
8303         * lib/poll.c: Do not include intprops.h.
8304         (poll): Compare NFD to INT_MAX, not to TYPE_MAXIMUM (nfds_t) / 2.
8305         * modules/poll (Depends-on): Remove intprops.
8307         ftoastr: cite a newer paper
8308         * lib/ftoastr.c (FTOASTR): In comment, cite Andrysco et al. 2016
8309         instead of Loitsch 2010.
8311 2017-04-22  Bruno Haible  <bruno@clisp.org>
8313         poll: Enable argument check also in the Windows implementation.
8314         * lib/poll.c (poll) [WINDOWS_NATIVE]: Check value of nfd correctly.
8315         Reported by Paul Eggert.
8317 2017-04-22  Bruno Haible  <bruno@clisp.org>
8319         getlogin_r: Work around bug in Mac OS X 10.12.
8320         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test also against the Mac OS X
8321         bug.
8322         * lib/getlogin_r.c (getlogin_r): When getlogin_r returns a string of the
8323         given size minus 1, call getlogin_r a second time, on a larger buffer.
8324         * modules/getlogin_r (Depends-on): Add malloca.
8325         * doc/posix-functions/getlogin_r.texi: Mention the Mac OS X bug.
8327 2017-04-22  Paul Eggert  <eggert@cs.ucla.edu>
8329         parse-datetime: fix %z and prefer signed int
8330         %z problem reported by Pádraig Brady in:
8331         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00103.html
8332         While fixing it, I decided to prefer signed ints to size_t, as
8333         they are less error-prone (e.g., ubsan catches overflow).
8334         * lib/parse-datetime.y (textint, parser_control, lookup_word, yylex)
8335         (parse_datetime2): Prefer ptrdiff_t to size_t for sizes and object
8336         counts, since signed integers make for better debugging.
8337         (date): Don’t assume %z works in printf formats.
8338         (debug_strfdatetime, debug_strfdate, debug_strftime): Use int for
8339         sizes of buffers known to be small, e.g., because we’re using snprintf.
8340         (parse_datetime2): Simplify call to debug_mktime_not_ok.
8342 2017-04-22  Bruno Haible  <bruno@clisp.org>
8344         *printf: Work around rounding bug on Mac OS X.
8345         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Test for Mac OS X 10.12 bug.
8346         * doc/posix-functions/*printf.texi: Mention the rounding bugs of
8347         Mac OS X and FreeBSD.
8348         * doc/glibc-functions/*printf.texi: Likewise.
8350 2017-04-22  Bruno Haible  <bruno@clisp.org>
8352         vasnprintf tests: Avoid warnings.
8353         * tests/test-vasnprintf-posix3.c (test_function, my_asnprintf,
8354         test_vasnprintf, test_asnprintf): Don't define if there's nothing to
8355         test.
8357 2017-04-22  Bruno Haible  <bruno@clisp.org>
8359         sys_file tests: Avoid warning.
8360         * tests/test-sys_file.c (main): Add a default clause to the switch
8361         statement.
8363 2017-04-22  Bruno Haible  <bruno@clisp.org>
8365         sethostname: Update doc.
8366         * doc/glibc-functions/sethostname.texi: Mention differing prototype on
8367         Mac OS X.
8369 2017-04-22  Bruno Haible  <bruno@clisp.org>
8371         quotearg tests: Avoid warnings.
8372         * tests/test-quotearg.c: Don't include test-quotearg.h if ENABLE_NLS is
8373         false.
8375 2017-04-22  Bruno Haible  <bruno@clisp.org>
8377         poll: Enable argument check.
8378         * lib/poll.c: Include intprops.h.
8379         (poll): Check value of nfd correctly.
8380         * modules/poll (Depends-on): Add intprops.
8382 2017-04-22  Bruno Haible  <bruno@clisp.org>
8384         get-rusage-data: Avoid warnings on Mac OS X.
8385         * lib/get-rusage-data.c: On Mac OS X, don't define
8386         get_rusage_data_via_setrlimit nor get_rusage_data_via_iterator.
8387         (get_rusage_data) [Mac OS X]: Just return 0.
8389 2017-04-22  Bruno Haible  <bruno@clisp.org>
8391         xbinary-io: Fix build error.
8392         * modules/xbinary-io (Depends-on): Add gettext-h.
8393         * lib/xbinary-io.c: Include gettext.h and define _().
8394         Reported by Gisle Vanem <gisle.vanem@gmail.com> in
8395         <https://lists.gnu.org/r/bug-gnulib/2017-04/msg00089.html>.
8397 2017-04-22  Paul Eggert  <eggert@cs.ucla.edu>
8399         parse-datetime: overflow and debug cleanups
8400         This long patch was triggered by this bug report from Ruediger Meier:
8401         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00028.html
8402         I fixed the bug he noted, then found some others nearby, and then
8403         still others.  Oh my goodness, there were a lot of bugs.  I cleaned
8404         up some of the code to follow GNU standards while I was at it.
8405         * lib/parse-datetime.y (ISDIGIT): Remove; all callers changed to
8406         use c_isdigit.
8407         (EPOCH_YEAR): Remove; unused.
8408         (TM_YEAR_BASE): Now an enum rather than a macro.
8409         (HOUR, debug_strfdatetime): Multiply hour by 3600, not 60, to get
8410         time zone offset, since timezones now are in terms of seconds and
8411         not minutes.
8412         (long_time_t): Remove.  All uses replaced by time_t or intmax_t as
8413         appropriate.  Verify that intmax_t is wide enough.
8414         (time_overflow, time_zone_str): New functions, used to deal
8415         more reliably with overflow.
8416         (dbg_printf): Add printf attribute, to help catch integer width errors.
8417         (textint, relative_time, parser_control, time_zone_hhmm, set_hhmmss)
8418         (%union, to_hour, yylex, parse_datetime2):
8419         Use intmax_t instead of long int and/or long_time_t.
8420         All uses changed.
8421         (DBGBUFSIZE): Move earlier.
8422         (relative_time, set_hhmmss, parser_control):
8423         Just use int for nanoseconds and for time zones; that’s wide enough.
8424         (parser_control): Use bool for members like year_seen that can
8425         be booleans instead of counters.  All uses changed.
8426         Remove debug_default_input_timezone; no longer needed.
8427         All uses removed.
8428         (apply_relative_time): Return a bool overflow flag.
8429         All uses changed to check for overflow.
8430         (apply_relative_time, zone, date, relunit, relunit_snumber)
8431         (signed_seconds, unsigned_seconds, yylex, parse_datetime2):
8432         Check for integer overflow portably.
8433         (str_days): Use just int for N, as it’s wide enough.
8434         Prefer 2D char arrays to arrays of char * when it looks like
8435         2D is a win on typical platforms.
8436         Prefer snprintf to strncpy/strncat, for simplicity;
8437         all buffers are smaller than INT_MAX so this is safe.
8438         (TIME_ZONE_BUFSiZE, TM_YEAR_BUFSIZE): New constants.
8439         (debug_print_current_time): Don’t assume tv_nsec is of type long,
8440         as this is not true on x32.  Output "." before any nanoseconds.
8441         (debug_print_current_time, parse_datetime2):
8442         Output local zones using a more-consistent format.
8443         (debug_print_current_time, date, parse_datetime2):
8444         (main) [TEST]:
8445         Don’t assume time_t is the same width as long.
8446         (print_rel_part): New function, replacing ...
8447         (PRINT_REL_PART): ... this macro, which was removed.  All uses changed.
8448         (debug_print_relative_time): Use bool for boolean.
8449         (local_zone): dsts_seen now counts only tDST instances.
8450         (date): Fix printf of size_t to use %z.  Do not assume numeric
8451         tokens have negative values merely because the context suggests
8452         a syntax with "-" separating tokens.
8453         (time_zone_hhmm): Return bool success indicator, which checks for
8454         overflow.  Store result into PC->time_zone instead.  All callers
8455         changed.
8456         (tm_year_str): New function.  Return a bool success indicator and
8457         store the result into a buffer.  All callers changed.  Output the
8458         numerically correct string even if adding 1900 to the year would
8459         overflow.
8460         (to_tm_year): New function, replacing the old to_year.  All
8461         callers changed.
8462         (tm_diff): Sync with glibc.
8463         (lookup_word): Use to_uchar instead of doing it by hand.
8464         (TZBUFSIZE): Now local to the only function that needs it.
8465         (debug_strfdatetime): Simplify now that time zones are int seconds.
8466         (debug_strfdate): Work even if tm_year + 1900 would overflow.
8467         (get_effective_timezone): Remove.  All uses removed.
8468         (parse_datetime2): Use fprintf in pieces instead of snprintfing
8469         to a fixed-size buffer.  Don’t assume that gmtime succeeds iff
8470         localtime succeeds.  Use tm_gmtoff if available.  Simplify how
8471         ‘goto fail;’ works in conjunction with the ‘ok’ flag.
8472         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Don’t define
8473         TIME_T_FITS_IN_LONG_INT, as it is no longer needed.
8474         * modules/parse-datetime (Depends-on): Add inttypes.
8476 2017-04-21  Bruno Haible  <bruno@clisp.org>
8478         gettext-h: Avoid -Wundef warning.
8479         * lib/gettext.h: Test the value of ENABLE_NLS only if it is defined.
8480         Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
8481         <https://lists.gnu.org/r/bug-gnulib/2017-04/msg00022.html>.
8483 2017-04-05  Tim Rühsen  <tim.ruehsen@gmx.de>
8485         error: Avoid "function declaration isn't a prototype" warning.
8486         * lib/error.c (strerror_r): Turn K&R C prototype to an ANSI C prototype.
8488 2017-04-21  Bruno Haible  <bruno@clisp.org>
8490         vasnprintf: Fix for MSVC 14.
8491         * lib/vasnprintf.c (USE_MSVC__SNPRINTF): New macro.
8492         Everywhere, use !HAVE_SNPRINTF_RETVAL_C99 || USE_MSVC__SNPRINTF instead
8493         of !HAVE_SNPRINTF_RETVAL_C99.
8495 2017-04-21  Bruno Haible  <bruno@clisp.org>
8497         mbrtowc tests: Fix test failures on MSVC 14.
8498         * tests/test-mbrtowc-w32.c (test_one_locale): Accept MSVC's conversion
8499         behaviour for invalid input.
8501 2017-04-21  Bruno Haible  <bruno@clisp.org>
8503         mbsinit: Fix for MSVC 14.
8504         * lib/mbsinit.c (mbsinit): If GNULIB_defined_mbstate_t, provide an
8505         implementation that is in sync with mbrtowc.c. On other platforms, use
8506         an adequate ad-hoc implementation.
8508 2017-04-21  Bruno Haible  <bruno@clisp.org>
8510         Fix test-mbrtowc5.sh failure on native Windows.
8511         * lib/setlocale.c (setlocale_unixlike): Accept "POSIX" as an alias for
8512         "C".
8514 2017-04-21  Bruno Haible  <bruno@clisp.org>
8516         Avoid accidental use of native Windows APIs on Cygwin.
8517         * lib/getaddrinfo.c (WINDOWS_NATIVE): Don't define on Cygwin.
8518         * lib/localcharset.c (WINDOWS_NATIVE): Likewise.
8519         * lib/localename.c (WINDOWS_NATIVE): Likewise.
8521 2017-04-20  Bruno Haible  <bruno@clisp.org>
8523         Remove red warnings from the generated MODULES.html.
8524         * modules/fcntl (Description): Disambiguate function references.
8525         * modules/getcwd-lgpl (Description): Likewise.
8526         * modules/hostent (Description): Likewise.
8527         * modules/servent (Description): Likewise.
8528         * modules/tempname (Description): Likewise.
8530 2017-04-20  Bruno Haible  <bruno@clisp.org>
8532         verify tests: Fix spurious failure with parallel make.
8533         * gnulib-tool (func_emit_tests_Makefile_am): Emit initialization of
8534         EXTRA_PROGRAMS.
8535         * tests/test-verify.sh: Build test-verify-try.o, not test-verify.o.
8536         * tests/test-verify-try.c: New file.
8537         * modules/verify-tests (Files): Add it.
8538         (EXTRA_PROGRAMS): Add test-verify-try.
8539         (MOSTLYCLEANFILES): Update accordingly.
8540         Reported by Adam James Stewart <ajstewart@anl.gov>.
8542 2017-04-18  Bruno Haible  <bruno@clisp.org>
8544         vma-iter: Fix compilation error on Solaris 7.
8545         * lib/vma-iter.c (vma_iterate): Treat missing MAP_ANONYMOUS on Solaris
8546         like on IRIX, OSF/1.
8547         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
8549 2017-04-18  Bruno Haible  <bruno@clisp.org>
8551         vma-iter: Fix conflict with module 'largefile' on 32-bit Solaris 9.
8552         * modules/vma-iter (configure.ac): Test whether <sys/procfs.h> can be
8553         included.
8554         * lib/vma-iter.c: On Solaris, test HAVE_SYS_PROCFS_H before including
8555         <sys/procfs.h>.
8556         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Don't define on Solaris when
8557         <sys/procfs.h> cannot be included.
8558         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
8560 2017-04-18  Bruno Haible  <bruno@clisp.org>
8562         getopt-gnu: Add comments.
8563         * m4/getopt.m4 (gl_FUNC_GETOPT_GNU): Add comments.
8564         * modules/getopt-gnu (configure.ac): Likewise.
8566 2017-04-16  Paul Eggert  <eggert@cs.ucla.edu>
8568         regex: port better to Solaris 10
8569         Solaris 10 <locale.h> includes <libintl.h>, which #defines
8570         gettext, and this causes a double #define.
8571         Problem reported by Gavin Smith in:
8572         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00056.html
8573         * lib/regex_internal.h (gettext): #undef before #defining.
8575 2017-04-15  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
8577         intprops: improve comments
8578         * lib/intprops.h: Improve and shorten commentary.
8579         For the record, if we ever run into a pedantic compiler that
8580         behaves differently from GCC when converting an out-of-range value
8581         to a signed integer, we can work around the problem with something
8582         like the following code, where UCT is the signed counterpart of T
8583         (UCT is sometimes narrower than UT) and all callers are changed
8584         accordingly:
8585         #if __SUNPRO_C <= 0x5120
8586         # define _GL_INT_OP_WRAPV_VIA_UNSIGNED(a, b, op, uct, ut, t) \
8587            ((t) ((ut) (a) op (ut) (b)))
8588         #else
8589         # define _GL_INT_OP_WRAPV_VIA_UNSIGNED(a, b, op, uct, ut, t) \
8590            (TYPE_MINIMUM (t) <= (uct) ((ut) (a) op (ut) (b)) \
8591             ? ((t) (uct) (((ut) (a) op (ut) (b)) - TYPE_MINIMUM (t)) \
8592                + TYPE_MINIMUM (t)) \
8593             : (t) (uct) ((ut) (a) op (ut) (b)))
8594         #endif
8596 2017-04-14  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
8598         intprops: try to avoid tickling similar bugs
8599         * lib/intprops.h (_GL_INT_OP_CALC): Document that UT no longer
8600         needs to be the same width as T; it can be wider.
8601         Change callers so that UT is at least as wide as unsigned int,
8602         as I suspect that this is less likely to run into compiler bugs.
8604         intprops: port to Oracle Studio 12.3 x86
8605         Problem reported by Gavin Smith in:
8606         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00049.html
8607         * lib/intprops.h (_GL_INT_OP_WRAPV_VIA_UNSIGNED):
8608         Convert unsigned to signed via the usual rather than the standard way,
8609         to avoid a compiler bug in Oracle Studio 12.3 x86.
8611 2017-04-08  Paul Eggert  <eggert@cs.ucla.edu>
8613         getopt: prefer - to _ in new file names
8614         * lib/getopt-cdefs.in.h: Rename from lib/getopt_cdefs.in.h.
8615         * lib/getopt-core.h: Rename from lib/getopt_core.h.
8616         * lib/getopt-ext.h: Rename from lib/getopt_ext.h.
8617         * lib/getopt-pfx-core.h: Rename from lib/getopt_pfx_core.h.
8618         * lib/getopt-pfx-ext.h: Rename from lib/getopt_pfx_ext.h.
8619         All uses changed.
8621         getopt: port recent getopt changes to macOS
8622         Problem reported by Harald Maier (Bug#26398).
8623         The macOS C compiler uses __nonnull for its own purposes and that
8624         clashes with glibc's __nonnull.
8625         * lib/getopt.in.h: Add comment for _GL_ARG_NONNULL snippet.
8626         * lib/getopt_cdefs.in.h (__nonnull): Remove.
8627         * lib/getopt_core.h (getopt):
8628         * lib/getopt_ext.h (getopt_long, getopt_long_only):
8629         Use _GL_ARG_NONNULL, not __nonnull.
8630         * lib/unistd.in.h: Move snippet hooks to before where the getopt
8631         .h files are included, so that _GL_ARG_NONNULL is defined in time.
8632         * modules/getopt-posix (Depends-on): Add snippet/arg-nonnull.
8633         (getopt.h): Interpolate _GL_ARG_NONNULL snippet.
8635 2017-04-06  Paul Eggert  <eggert@cs.ucla.edu>
8637         getopt-gnu: omit some duplicate code
8638         * m4/getopt.m4 (gl_FUNC_GETOPT_GNU): Don’t require
8639         gl_FUNC_GETOPT_POSIX, as the configure.ac code generated by
8640         gnulib-tool already does this.
8641         * modules/getopt-gnu (configure.ac): Omit code duplicated from
8642         getopt-posix, which we depend on.
8644         getopt-posix: use angle-bracket include
8645         * lib/getopt1.c: Include <config.h>, not "config.h".
8647 2017-04-06  Zack Weinberg  <zackw@panix.com>
8649         getopt: annotate files with relationship to glibc
8651         As the final act in this patchset, adjust the message at the top of
8652         each file to indicate which files are synced with glibc.  (This has
8653         already been done for most of the headers.)
8655         * lib/getopt.c, lib/getopt1.c, lib/getopt_int.h:
8656         Mention in top-of-file boilerplate that these files are shared
8657         between glibc and gnulib.
8660         getopt: split up getopt.in.h and eliminate __need_getopt
8662         Over in glibc, all of the __need macros are being phased out in favor
8663         of small headers that declare only the necessary components, as this
8664         is much simpler and less prone to bugs.  As getopt is shared with
8665         glibc, gnulib needs to do the same for __need_getopt.
8667         __need_getopt is misnamed; what it really means is "we want only the
8668         getopt features specified in POSIX, not the GNU extensions".  glibc
8669         placed the "meat" of getopt.h into getopt_core.h and getopt_ext.h;
8670         these files can be shared verbatim with gnulib.  The portability
8671         wrapper, on the other hand, they have renounced altogether; glibc's
8672         getopt.h will no longer be shared with gnulib at all.  In exchange,
8673         certain glibc-specific quirks (having to do with __posix_getopt) no
8674         longer need appear in gnulib's headers at all.
8676         This patch merges getopt_core.h and getopt_ext.h from glibc, and
8677         splits up the current gnulib-side portability wrapper into three
8678         additional headers: getopt_pfx_core.h and getopt_pfx_ext.h handle
8679         __GETOPT_PREFIX for their respective headers, getopt_cdefs.in.h
8680         handles things like __BEGIN_DECLS and __THROW, and getopt.in.h and
8681         unistd.in.h just use them.  All new files are clearly marked with
8682         whether they are shared with glibc.
8684         * lib/getopt.in.h: Eliminate __need_getopt.  Break up into ...
8685         * lib/getopt_core.h, lib/getopt_ext.h: ... these new files shared
8686         with glibc, and ...
8687         * lib/getopt_cdefs.in.h, lib/getopt_pfx_core.h
8688         * lib/getopt_pfx_ext.h: ... these new files not shared with glibc.
8689         * lib/unistd.in.h: Include getopt_cdefs.h and getopt_pfx_core.h,
8690         instead of defining __need_getopt and including the full getopt.h.
8692         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): Check for sys/cdefs.h.
8693         Define substitution variables GETOPT_CDEFS_H and HAVE_SYS_CDEFS_H.
8694         * modules/getopt-posix (Files): Add new headers and sort list.
8695         (Depends-on): No longer need snippet/arg-nonnull.
8696         (Makefile.am): Generate getopt_cdefs.h.
8699         getopt: better handling of ambiguous options
8701         glibc's getopt uses alloca to construct a linked list of possibilities
8702         for an "ambiguous" long option.  In gnulib, malloc should be used
8703         instead.  Providing for both cases complicates things a fair bit.
8705         This patch rewrites ambiguous-option handling to use a boolean vector
8706         instead of a linked list.  There is then only one allocation that
8707         might need freeing; in glibc it can honor __libc_use_alloca as usual,
8708         and in gnulib we define __libc_use_alloca to always be false, so we
8709         don't need ifdefs in the middle of the function.  This should also be
8710         slightly more efficient in the normal case of long options being fully
8711         spelled out -- I think most people aren't even aware they _can_
8712         sometimes abbreviate long options.
8714         One interesting consequence is that the list of possibilities is now
8715         printed in exactly the order they appear in the list of long options,
8716         instead of the first possibility being shuffled to the end.
8718         (The patch looks bigger than it really is because there's a fair bit
8719         of reindentation and code rearrangement.)
8721         * lib/getopt.c: When used standalone, define __libc_use_alloca
8722         as always false and alloca to abort if called.
8723         (process_long_option): Rewrite handling of ambiguous long options
8724         to use a single boolean vector, not a linked list; use
8725         __libc_use_alloca to decide whether to allocate this using alloca.
8728         getopt: refactor long-option handling
8730         There were two copies of the bulk of the code to handle long options.
8731         Now there is only one.
8733         This change temporarily removes the logic to avoid using alloca when
8734         standalone; the next patch in the series will restore it.
8736         * lib/getopt.c (process_long_option): New function split out
8737         from _getopt_internal_r.
8738         (_getopt_internal_r): Replace both copies of the long-option
8739         processing code with calls to process_long_option.
8742         getopt: tidy up _getopt_initialize a bit
8744         _getopt_data.__posixly_correct is completely redundant to
8745         _getopt_data.__ordering, and some work that logically belongs in
8746         _getopt_initialize was being done by _getopt_internal_r, making the
8747         code harder to understand.
8749         As a side effect, getenv will no longer be called if the first
8750         character of the options string is '+' or '-', which is probably a
8751         Good Thing.  (Perhaps we should have a flag character that
8752         specifically asks for the permutation behavior?)
8754         * lib/getopt_int.h (_getopt_data): Remove __posixly_correct field.
8755         * lib/getopt.c (_getopt_internal_r): Move some initialization code...
8756         (_getopt_initialize): ...here. Don't set d->__posixly_correct.
8759         getopt: merge from glibc: repetition reduction
8761         The definitions of the entry point functions 'getopt' and
8762         '__posix_getopt' can be made substantially less repetitive with a
8763         helper macro.
8765         While I was merging the const-correctness changes from gnulib into
8766         glibc I noticed there are still some unnecessary casts in
8767         _getopt_internal_r.
8769         * lib/getopt.c (getopt, __posix_getopt): Eliminate repetition with
8770         a macro.  Consistently cast 'argv' to 'char **' when calling
8771         _getopt_internal.
8772         (_getopt_internal_r): Remove unnecessary casts when calling exchange.
8775         getopt: clean up error reporting
8777         getopt can print a whole bunch of error messages, and when used
8778         standalone (from gnulib) it uses fprintf to do that.  But fprintf is a
8779         cancellation point and getopt isn't, and also applying fprintf to a
8780         stream in wide-character mode is not allowed.  So every single error
8781         reporting case has an #ifdef _LIBC block in which it calls internal
8782         libc functions instead.  The counterpart patch series in glibc makes
8783         it possible to simplify all of that down to a set of #defines at the
8784         top of the file; core code is written as if it is safe to just call
8785         fprintf, flockfile, and funlockfile.  (One caveat: it's *not* safe to
8786         call any *other* stdio functions.)
8788         * lib/getopt.c: When _LIBC is defined, define fprintf to
8789         __fxprintf_nocancel, flockfile to _IO_flockfile, and funlockfile
8790         to _IO_funlockfile.  When neither _LIBC nor
8791         _POSIX_THREAD_SAFE_FUNCTIONS is defined, define flockfile and
8792         funlockfile as no-ops.
8793         (_getopt_internal_r): Remove all internal #ifdef _LIBC blocks; the
8794         standalone error-printing code can now be used for libc as well.
8795         Add an flockfile/funlockfile pair around one case where the error
8796         message is printed in several chunks.  Don't use fputc.
8799         getopt: fix fencepost error in ambiguous-W-option handling
8801         getopt_long contains an undocumented (AFAICT) feature in which, if you
8802         put "W;" in the short-options list, then '-W foo' and '-Wfoo' are
8803         treated as equivalent to '--foo'.  This is implemented with a partial
8804         second copy of the code for handling long options, and that code
8805         increments optind one too many times when recovering from an ambiguous
8806         abbreviated option, which can cause the main loop to walk past the end
8807         of argv and crash.
8809         I discovered this while writing a test case that tries to exercise all
8810         of getopt's error reporting paths; I wouldn't be surprised to learn
8811         that this feature is never used by real applications.
8813         * lib/getopt.c (_getopt_internal_r): Don't increment
8814         d->optind a second time when reporting ambiguous -W options.
8817         getopt: clean up getopt.c and getopt1.c file headers
8819         In getopt.c, there is no need to include wchar.h at all, and it is
8820         safe nowadays to assume that stdlib.h does declare getenv (several
8821         other gnulib modules make this assumption).
8823         In getopt1.c, the #ifdef _LIBC block at the top can be simplified
8824         by using "" inclusions consistently, and there is no actual need to
8825         include stdlib.h (except in the #ifdef TEST block, where it should be
8826         unconditional), nor to provide a backup definition of NULL at all.
8828         * lib/getopt1.c: Simplify #ifdeffage at top of file.
8829         Move inclusion of stdlib.h to #ifdef TEST block and make
8830         unconditional.  Do not define NULL.
8831         * lib/getopt.c: Don't include wchar.h. No need to declare getenv.
8832         * m4/getopt.m4 (gl_PREREQ_GETENV): Delete.
8833         * modules/getopt-gnu, modules/getopt-posix: Don't call
8834         gl_PREREQ_GETENV.
8837         getopt: harmonize comments with glibc
8839         The comments explaining how the behavior of 'getopt' varies depending
8840         on whether it's the standalone version and whether there are special
8841         characters at the beginning of the options string were inconsistent
8842         between gnulib and glibc, and also out of sync with the code.
8844         * lib/getopt.c, lib/getopt_int.h: Harmonize comments with glibc.
8847         getopt: remove USE_NONOPTION_FLAGS
8849         getopt includes code to parse an environment variable named
8850         _XXX_GNU_nonoption_argv_flags_ (where XXX is the current process's PID
8851         in decimal); but all of it has been #ifdefed out since 2001, with no
8852         official way to turn it back on.
8854         According to commentary in glibc's config.h.in, bash version 2.0
8855         set this environment variable to indicate argv elements that were
8856         the result of glob expansion and therefore should not be treated
8857         as options, but the feature was "disabled later" because "it
8858         caused problems".  According to bash's CHANGES file, "later" was
8859         release 2.01; it gives no more detail about what the problems
8860         were.
8862         Version 2.0 of bash was released on the last day of 1996, and version
8863         2.01 in June of 1997.  Twenty years later, I think it is safe to
8864         assume that this environment variable isn't coming back.
8866         * lib/getopt_int.h: Remove all #ifdef USE_NONOPTION_FLAGS blocks.
8867         * lib/getopt.c: Likewise. Also remove SWAP_FLAGS and the
8868         __libc_argc and __libc_argv externs, which were only used by
8869         #ifdef USE_NONOPTION_FLAGS blocks.
8872         getopt: tabify, in preparation for merge with glibc
8874         glibc sticks to the GNU default of indenting with a mix of
8875         8-column tabs and spaces; make the gnulib copy match.
8877         getopt.h is not included because it is *not* going to be merged in its
8878         present form.
8880         * getopt.c, getopt1.c, getopt_int.h: Tabify.
8882 2017-04-02  Bruno Haible  <bruno@clisp.org>
8884         relocatable-lib-lgpl: Fix link error (regression from 2011-06-16).
8885         * modules/relocatable-lib-lgpl (configure.ac): Add AC_LIBOBJ invocation,
8886         like it was done in modules/relocatable-lib on 2011-05-21 and in
8887         modules/relocatable-prog on 2011-08-15.
8888         Reported by Reuben Thomas <rrt@sc3d.org>.
8890 2017-03-31  Bruno Haible  <bruno@clisp.org>
8892         glob: Fix invalid free() call.
8893         * lib/glob.c (glob): Reset malloc_home_dir when assigning a pointer to
8894         static storage to home_dir.
8895         Reported by Coverity via Tim Rühsen.
8897 2017-03-31  Bruno Haible  <bruno@clisp.org>
8899         glob: Fix memory leaks.
8900         * lib/glob.c (glob): Free allocated memory before returning.
8901         Reported by Coverity via Tim Rühsen.
8903 2017-03-31  Bruno Haible  <bruno@clisp.org>
8905         md5, sha1, sha256, sha512: Add comments regarding correctness.
8906         * lib/md5.h (buflen): Add comments regarding range.
8907         * lib/sha1.h (buflen): Likewise.
8908         * lib/sha256.h (buflen): Likewise.
8909         * lib/sha512.h (buflen): Likewise.
8910         * lib/md5.c (md5_process_bytes): Add comment why memmove is not needed.
8911         * lib/sha1.c (sha1_process_bytes): Likewise.
8912         * lib/sha256.c (sha256_process_bytes): Likewise.
8913         * lib/sha512.c (sha512_process_bytes): Likewise.
8914         Reported by Coverity via Tim Rühsen.
8916 2017-03-22  Paul Eggert  <eggert@cs.ucla.edu>
8918         getopt: merge from glibc
8919         This does not change anything substantial; it merely simplifies
8920         hypothetical merges back to glibc.
8921         * lib/getopt.c, lib/getopt.in.h, lib/getopt1.c, lib/getopt_int.h:
8922         Change copyright notice to match what is in glibc.
8923         * lib/getopt.c: Reorder includes to match glibc.  Remove uses of
8924         USE_IN_LIBIO.  Remove 'register'.  In __LIBC code, use
8925         __open_memstream rather than open_memstream and __glibc_likely
8926         instead of __builtin_expect.
8927         * lib/getopt.in.h (__posix_getopt) [!__GETOPT_PREFIX]: New decl.
8929 2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>
8931         dfa: make [0-9] faster in non-C locales
8932         Problem reported by John P. Linderman (Bug#26193).
8933         * lib/dfa.c (parse_bracket_exp): Remove redundant assignment.
8934         If both ends of the range are ASCII digits, do not worry about
8935         multi-character collating sequences and the like.  Be consistent
8936         about using isalpha as a precondition for setbit_case_fold_c.
8938 2017-03-19  Bruno Haible  <bruno@clisp.org>
8940         lock: Fix compilation error with HP-UX IA64 cc.
8941         * lib/glthread/lock.h (pthread_rwlockattr_setkind_np): Don't declare
8942         weak on non-glibc platforms.
8944 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
8946         stdalign: tweak version# and test for HP-UX IA64
8947         Problems reported by Bruno Haible in:
8948         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00078.html
8949         * lib/stdalign.in.h (_Alignas):
8950         * m4/stdalign.m4 (gl_STDALIGN_H):
8951         Use octal, not decimal, for __HP_cc version.  Perhaps HP formerly
8952         used octal (as that is how they document it), but it is decimal in
8953         practice now and the ancient implementations no longer matter.
8954         * tests/test-stdalign.c (main) [__HP_cc && __ia64]: Skip test.
8956 2017-03-19  Bruno Haible  <bruno@clisp.org>
8958         vma-iter: Add support for Solaris.
8959         * lib/vma-iter.c (vma_iterate): On Solaris, use the /proc filesystem
8960         approach.
8961         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on Solaris.
8962         * lib/get-rusage-as.c: Update comment about Solaris.
8963         * lib/get-rusage-data.c: Likewise.
8965 2017-03-19  Bruno Haible  <bruno@clisp.org>
8967         vma-iter: Prefer HP-UX specific API on HP-UX.
8968         * lib/vma-iter.c (vma_iterate): Move HP-UX specific implementation up.
8969         * lib/vma-iter.h: Update.
8970         Just in case HP-UX ever implements mquery().
8972 2017-03-18  Paul Eggert  <eggert@cs.ucla.edu>
8974         stdalign: restore previous behavior for HP-UX IA64
8975         See Bruno Haible's email in:
8976         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00066.html
8977         which cites p 150 of a manual saying that 'aligned' works on Itanium.
8978         * lib/stdalign.in.h (_Alignas):
8979         Assume the '061200' applies to Itanium, not to PA-RISC.
8980         * m4/stdalign.m4 (gl_STDALIGN_H): Adjust to match stdalign.in.h.
8982 2017-03-17  Bruno Haible  <bruno@clisp.org>
8984         stat-time, timespec: Support use of the header files in C++ mode.
8985         * lib/stat-time.h: Add "C" linkage declaration.
8986         * lib/timespec.h: Likewise.
8988 2017-03-17  Bruno Haible  <bruno@clisp.org>
8990         stdalign: Make it work with HP-UX cc.
8991         * lib/stdalign.in.h (_Alignas): Don't define for HP-UX cc.
8992         * m4/stdalign.m4 (gl_STDALIGN_H): No need to enable the extra test
8993         for HP-UX cc.
8995 2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>
8997         flexmember: try to detect HP-UX 11.31 cc bug
8998         Problem reported by Bruno Haible in:
8999         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00066.html
9000         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
9001         Attempt to detect bug in HP-UX 11.31 cc.
9003 2017-03-16  Bruno Haible  <bruno@clisp.org>
9005         stdint: Fix test compilation failure with HP-UX 11 cc.
9006         * lib/stdint.in.h (_STDINT_MIN): Remove macro.
9007         (_STDINT_UNSIGNED_MIN, _STDINT_SIGNED_MIN): New macros.
9008         (PTRDIFF_MIN, SIG_ATOMIC_MIN, WCHAR_MIN, WINT_MIN): Define using
9009         _STDINT_UNSIGNED_MIN, _STDINT_SIGNED_MIN.
9011 2017-03-14  Bruno Haible  <bruno@clisp.org>
9013         gnulib-tool: Don't produce a tests directory with only snippet .h files.
9014         * gnulib-tool (func_modules_transitive_closure_separately): If
9015         testsrelated_modules ends up with no "real" modules, aside from
9016         modules with applicability 'all', set it to empty.
9018 2017-03-14  Bruno Haible  <bruno@clisp.org>
9020         vma-iter: Add support for HP-UX.
9021         * modules/vma-iter (configure.ac): Check for 'pstat_getprocvm'.
9022         * lib/vma-iter.c (vma_iterate): On HP-UX, use pstat_getprocvm().
9023         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on HP-UX.
9024         * lib/get-rusage-as.c: Update comment about HP-UX.
9025         * lib/get-rusage-data.c: Likewise.
9026         (get_rusage_data): Use get_rusage_data_via_setrlimit.
9028 2017-03-14  Bruno Haible  <bruno@clisp.org>
9030         limits-h: Make it work with HP-UX cc.
9031         * lib/limits.in.h (LLONG_MIN, LLONG_MAX, ULLONG_MAX): Define if not
9032         defined.
9034 2017-03-14  Bruno Haible  <bruno@clisp.org>
9036         Fix test failures on DragonFlyBSD.
9037         * tests/test-localeconv.c (main): Treat DragonFlyBSD like FreeBSD.
9038         * tests/test-select.h (test_bad_fd): Likewise.
9039         * tests/test-get-rusage-data.c (main): Treat DragonFlyBSD like OpenBSD.
9041 2017-03-14  Bruno Haible  <bruno@clisp.org>
9043         freadahead: Silence warning on DragonFlyBSD.
9044         * lib/freadahead.c (__sreadahead): Declare ourselves.
9046 2017-03-14  Bruno Haible  <bruno@clisp.org>
9048         vma-iter: Add comment about AIX.
9049         * lib/vma-iter.c: Add comment about why this module is not implemented
9050         on AIX.
9052 2017-03-14  Paul Eggert  <eggert@cs.ucla.edu>
9054         snippets: move unadjusted snippet sources to lib
9055         Problem reported by Michal Privoznik in:
9056         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00039.html
9057         * lib/_Noreturn.h: Rename from build-aux/snippet/_Noreturn.h.
9058         * lib/arg-nonnull.h: Rename from build-aux/snippet/arg-nonnull.h.
9059         * lib/c++defs.h: Rename from build-aux/snippet/c++defs.h.
9060         * lib/unused-parameter.h: Rename from
9061         build-aux/snippet/unused-parameter.h.
9062         * lib/warn-on-use.h: Rename from build-aux/snippet/warn-on-use.h.
9063         * modules/snippet/_Noreturn (Files:, _NORETURN_H):
9064         * modules/snippet/arg-nonnull (Files:, ARG_NONNULL_H):
9065         * modules/snippet/c++defs (Files:, CXXDEFS_H):
9066         * modules/snippet/unused-parameter (Files:, UNUSED_PARAMETER_H):
9067         * modules/snippet/warn-on-use (Files: WARN_ON_USE_H):
9068         Adjust to file renamings.
9070 2017-03-14  Mathieu Lirzin  <mthl@gnu.org>
9072         gnulib-tool: don't automatically distribute files from top/
9073         * gnulib-tool (func_get_automake_snippet_unconditional): To be able to
9074         not distribute top/README-release by default, don't distribute files
9075         from top/ unconditionally.
9076         * modules/gnumakefile (Makefile.am): Distribute top/GNUmakefile.
9077         * modules/maintainer-makefile (Makefile.am): Distribute top/maint.mk.
9079 2017-03-14  Paul Eggert  <eggert@cs.ucla.edu>
9081         gnulib-tool: fix typo in comment output
9082         * gnulib-tool (func_import): Fix typo with previous change.
9084         snippets: work around GNU Make 3.82 VPATH
9085         When using 'gnulib-tool --gnu-make' on Emacs, and building
9086         the resulting tarball on Solaris 10 which bundles GNU Make 3.82,
9087         an out-of-source (VPATH) build failed because the sans-copyright
9088         snippet file was not built before the file that used it.
9089         Presumably this is some sort of VPATH thing.  Work around the
9090         problem by using the original snippet, i.e., don’t bother to
9091         remove its copyright notice.
9092         * modules/snippet/_Noreturn, modules/snippet/link-warning:
9093         Don’t assume Automake in comments.  Omit long-incorrect comment.
9094         * modules/snippet/arg-nonnull (BUILT_SOURCES, arg-nonnull.h)
9095         (MOSTLYCLEANFILES):
9096         * modules/snippet/c++defs (BUILT_SOURCES, c++defs.h)
9097         (MOSTLYCLEANFILES):
9098         * modules/snippet/unused-parameter (BUILT_SOURCES, unused-parameter.h)
9099         (MOSTLYCLEANFILES):
9100         * modules/snippet/warn-on-use (BUILT_SOURCES, warn-on-use.h)
9101         (MOSTLYCLEANFILES):
9102         Remove.
9103         * modules/snippet/arg-nonnull (ARG_NONNULL_H):
9104         * modules/snippet/c++defs (CXXDEFS_H):
9105         * modules/snippet/unused-parameter (UNUSED_PARAMETER_H):
9106         * modules/snippet/warn-on-use (WARN_ON_USE_H):
9107         Don’t bother to remove the copyright notice; just use the
9108         original snippet as-is.
9110 2017-03-13  Paul Eggert  <eggert@cs.ucla.edu>
9112         gnulib-tool: minor --gnu-make fixups
9113         * gnulib-tool (func_emit_lib_Makefile_am):
9114         Remove useless code that was a blind alley during implementation.
9115         Problem reported by Thien-Thi Nguyen in:
9116         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00029.html
9117         (func_import): Note the "--gnu-make" option in the output comment.
9119 2017-03-12  Paul Eggert  <eggert@cs.ucla.edu>
9121         gnulib-tool: new option --gnu-make
9122         This is for applications like GNU Emacs that use GNU Make
9123         features instead of Automake.
9124         * doc/gnulib-tool.texi (Initial import): Mention --gnu-make.
9125         * doc/gnulib.texi (Unit test modules, Build robot for gnulib):
9126         Do not assume Automake.
9127         * gnulib-tool (func_determine_path_separator)
9128         (func_modules_transitive_closure, func_update_file)
9129         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
9130         (func_import): Add support for --gnu-make.
9132 2017-03-11  Paul Eggert  <eggert@cs.ucla.edu>
9134         gnulib-common.m4: avoid aclocal.m4 bloat
9135         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB):
9136         Hide AM_PROG_AR from aclocal, so that aclocal does not
9137         install irrelevant macro definitions into aclocal.m4.
9139 2017-03-10  Bruno Haible  <bruno@clisp.org>
9141         vma-iter: Let callers know about error.
9142         * lib/vma-iter.h (vma_iterate): Return 'int', not 'void'.
9143         * lib/vma-iter.c (vma_iterate): Return -1 in case of error.
9145 2017-03-05  Bruno Haible  <bruno@clisp.org>
9147         Fix value of LD for 64-bit compilers on AIX.
9148         * m4/lib-ld.m4 (AC_LIB_PROG_LD): For 64-bit compilers on AIX
9149         ("gcc -maix64" and "xlc -q64"), add option -b64 to $LD.
9151 2017-03-04  Paul Eggert  <eggert@cs.ucla.edu>
9153         dtotimespec: simplify
9154         * lib/dtotimespec.c (dtotimespec): Simplify.
9156 2017-03-04  Bruno Haible  <bruno@clisp.org>
9158         test-calloc-gnu: Reenable test also for GCC 7.
9159         * tests/test-calloc-gnu.c (eight): New function.
9160         (main): Don't skip test; use eight() instead.
9162 2017-03-04  Jim Meyering  <meyering@fb.com>
9164         test-calloc-gnu: port to GCC7
9165         * tests/test-calloc-gnu.c (main) [__GNUC__ >= 7]: Skip a test
9166         that attempts to calloc more than SIZE_MAX bytes, because GCC7
9167         and newer would detect that at compilation time.
9169 2017-03-04  Bruno Haible  <bruno@clisp.org>
9171         tests: Avoid compiler warning about uses of null_ptr.
9172         * tests/null-ptr.h: New file.
9173         * tests/test-canonicalize.c: Include null-ptr.h.
9174         (null_ptr): Remove function.
9175         * tests/test-canonicalize-lgpl.c: Likewise.
9176         * tests/test-memmem.c: Likewise.
9177         * tests/test-ptsname_r.c: Likewise.
9178         * modules/canonicalize-tests (Files): Add tests/null-ptr.h.
9179         * modules/canonicalize-lgpl-tests: Likewise.
9180         * modules/memmem-tests: Likewise.
9181         * modules/ptsname_r-tests: Likewise.
9182         Reported by Jim Meyering.
9184 2017-03-03  Bruno Haible  <bruno@clisp.org>
9186         doc: Mention Mac OS X deficiencies regarding semaphores.
9187         * doc/posix-functions/sem_init.texi: Mention status on Mac OS X.
9188         * doc/posix-functions/sem_destroy.texi: Likewise.
9189         * doc/posix-functions/sem_getvalue.texi: Likewise.
9191 2017-03-03  Bruno Haible  <bruno@clisp.org>
9193         lock tests: Fix test failure on Mac OS X (regression from 2017-01-05).
9194         Reported by Assaf Gordon <assafgordon@gmail.com> via
9195         Pádraig Brady <P@draigBrady.com>.
9196         * tests/test-lock.c: On Mac OS X, use named semaphores, not unnamed
9197         semaphores.
9198         (USE_NAMED_SEMAPHORE, USE_UNNAMED_SEMAPHORE): New macros.
9199         (atomic_int_semaphore): New macro.
9201 2017-02-28  Bruno Haible  <bruno@clisp.org>
9203         perror tests: Tweak for z/OS.
9204         Reported by Daniel Richard G. <skunk@iskunk.org>.
9205         * tests/test-perror.sh: Don't fail z/OS style perror output.
9207 2017-02-26  Bruno Haible  <bruno@clisp.org>
9209         nproc: Refactor large function.
9210         * lib/nproc.c (num_processors_ignoring_omp): New function, extracted
9211         from num_processors.
9212         (num_processors): In this function, only deal with OMP.
9214 2017-02-26  Pádraig Brady  <P@draigBrady.com>
9216         nproc: adjust handling of OpenMP environment variables
9217         to match the return value from omp_get_num_threads(), i.e.:
9218          - honor OMP_THREAD_LIMIT without OMP_NUM_THREADS
9219          - Treat 0 as an invalid value and ignore
9220         Also remove the call to omp_get_num_threads() because
9221         it's ineffective without the omp pragmas in place.
9222         * lib/nproc.c (parse_omp_threads): Return 0 if specified,
9223         so that it can be ignored.
9224         (num_processors): Honor OMP_THREAD_LIMIT even without
9225         OMP_NUM_THREADS being set.  Also fix a typo in the environment
9226         variable being checked, from the previous recent commit.
9228 2017-02-26  Pádraig Brady  <P@draigBrady.com>
9230         nproc: support nested OMP_NUM_THREADS, and OMP_THREAD_LIMIT
9231         * lib/nproc.c (parse_omp_threads): A new function refactored
9232         from num_processors() to support parsing both of the
9233         above environment variables.
9234         (num_processors): Prefer using omp_get_num_threads() with [_OPENMP]
9235         to accurately reflect the current OpenMP nesting level.
9236         Also support the OMP_THREAD_LIMIT environment variable
9237         to limit the max value determined from OMP_NUM_THREADS.
9238         * modules/nproc: Depend on minmax header.
9239         Suggested by Oliver Heimlich.
9241 2017-02-25  Bruno Haible  <bruno@clisp.org>
9243         maintainer-makefile: Fix AC_PROG_SED with autoconf cache.
9244         * m4/gnulib-common.m4 (AC_PROG_SED): Fix AC_CACHE_CHECK invocation.
9246 2017-02-24  Paul Eggert  <eggert@cs.ucla.edu>
9248         ftoastr: port to -Wdouble-promotion
9249         Work around -Wdouble-promotion false alarm in recent GCCs.
9250         * lib/ftoastr.c (PROMOTED_FLOAT): New macro.
9251         (ftoastr_snprintf, FTOASTR): Use it.
9253 2017-02-21  Bruno Haible  <bruno@clisp.org>
9255         lock tests: Fix build failure on GNU/Hurd (regression from 2017-01-05).
9256         Reported by Rene Saavedra <rennes@openmailbox.org> in
9257         https://debbugs.gnu.org/cgi/bugreport.cgi?bug=25821 via Paul Eggert.
9258         * lib/glthread/lock.h: On glibc systems without
9259         PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP, use the fallback
9260         implementation of rwlocks.
9261         * lib/glthread/lock.c: Likewise.
9263 2017-02-20  Bruno Haible  <bruno@clisp.org>
9265         lock tests: Fix build failure on z/OS.
9266         Reported by Daniel Richard G. <skunk@iskunk.org>.
9267         * modules/lock-tests (configure.ac): Test for <semaphore.h>.
9268         * tests/test-lock.c (USE_SEMAPHORE): Don't set if <semaphore.h> does not
9269         exist.
9271 2017-02-19  Bruno Haible  <bruno@clisp.org>
9273         havelib: Prefer the search path of /usr/bin/gcc over the one of $CC.
9274         This helps when CC=clang.
9275         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Prefer the search path
9276         of /usr/bin/gcc.
9278         havelib: Support overriding the result of AC_LIB_PREPARE_MULTILIB.
9279         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Use AC_CACHE_CHECK.
9281 2017-02-19  Bruno Haible  <bruno@clisp.org>
9283         gnulib-tool: Avoid conflict of havelib-tests with --single-configure.
9284         * gnulib_tool (func_create_testdir): Avoid havelib-tests when
9285         --with-tests --single-configure is specified.
9287 2017-02-16  Tim Rühsen  <tim.ruehsen@gmx.de>
9289         users.txt: Update links, use HTTPS where possible
9290         * users.txt: Updated to HTTPS where possible,
9291         fixed some links to new locations.
9293 2017-02-16  Bruno Haible  <bruno@clisp.org>
9295         xbinary-io: Fix inlining.
9296         * lib/xbinary-io.c: Set XBINARY_IO_INLINE, not XSETMODE_INLINE.
9298 2017-02-16  Paul Eggert  <eggert@cs.ucla.edu>
9300         xbinary-io: rename from xsetmode
9301         This patch is taken from suggestions by Bruno Haible in:
9302         http://lists.gnu.org/r/bug-gnulib/2017-02/msg00060.html
9303         http://lists.gnu.org/r/bug-gnulib/2017-02/msg00061.html
9304         * lib/binary-io.c (__gl_setmode_check): Set errno to EINVAL,
9305         not ENOTTY, when it is an inappropriate device.
9306         * lib/binary-io.h (SET_BINARY): Resurrect.
9307         * lib/xbinary-io.c: Rename from lib/xsetmode.c.
9308         (xset_binary_mode_error): Rename from xsetmode_error.
9309         * lib/xbinary-io.h: Rename from lib/xsetmode.h.
9310         (xset_binary_mode): Rename from xsetmode.
9311         All uses changed.
9312         * modules/xbinary-io: Rename from modules/xsetmode.
9313         Update file names.
9314         * tests/test-binary-io.sh (tmpfiles): Remove no-longer-used file name.
9315         * NEWS: Update to match revised behavior.
9317 2017-02-15  Paul Eggert  <eggert@cs.ucla.edu>
9319         tests: Adjust to recent SET_BINARY change
9320         * tests/test-binary-io.c (main):
9321         * tests/test-binary-io.sh: Remove test for SET_BINARY.
9322         * tests/test-closein.c, tests/test-fflush2.c, tests/test-ftell.c:
9323         * tests/test-ftello.c, tests/test-nonblocking-pipe-child.c:
9324         * tests/test-yesno.c: Use set_binary_mode, not SET_BINARY.
9326         xsetmode: new module
9327         This is to fix a problem noted by Eric Blake.
9328         Code was using xfreopen to change files to binary mode, but this
9329         fails for stdout when in append mode.  Such code should use
9330         xsetmode instead.
9331         * NEWS: Document incompatible changes to binary-io module.
9332         * lib/binary-io.c (__gl_setmode_check) [__DJGPP__ || __EMX__]:
9333         New function.
9334         * lib/binary-io.h (__gl_setmode): Rename from set_binary_mode.
9335         (set_binary_mode): New function, which also checks for tty.
9336         * lib/xsetmode.c, lib/xsetmode.h, modules/xsetmode: New files.
9338 2017-02-14  Paul Eggert  <eggert@cs.ucla.edu>
9340         headers: fix begin-end typos
9341         * lib/mbfile.h, lib/se-selinux.in.h: Fix typos by replacing
9342         _GL_INLINE_HEADER_BEGIN with _GL_INLINE_HEADER_END.
9344         selinux-h: port to PGI 16.10
9345         * lib/se-selinux.in.h: Don't assume that include_next skips over
9346         duplicate -I DIR options.
9348         argp: port to PGI 16.10
9349         * lib/argp-pin.c (dummy): Declare as needed to make file nonempty.
9351 2017-02-13  Darshit Shah  <darnir@gnu.org>
9353         unicase: Update function protoype to match definition.
9354         * lib/unicase/special-casing.h (gl_unicase_special_lookup): Gperf 3.1
9355         uses 'size_t' as the datatype for the 'len' parameter in the functions
9356         it generates. Update the prototype specified here to match the newly
9357         generated function.
9359 2017-02-12  Bruno Haible  <bruno@clisp.org>
9361         times test: Avoid gcc warnings on Linux/x32.
9362         * tests/test-times.c (main): Really cast printf arguments from clock_t
9363         to 'long int'.
9365 2017-02-12  Paul Eggert  <eggert@cs.ucla.edu>
9367         glob: port better to emscripten
9368         Problem reported by Bruno Haible in:
9369         http://lists.gnu.org/r/bug-gnulib/2017-02/msg00031.html
9370         * lib/glob.c (glob): Don't assume HAVE_GETPWNAM_R || _LIBC.
9372 2017-02-11  Bruno Haible  <bruno@clisp.org>
9374         host-cpu-c-abi: Support for 64-bit AIX, 32-bit armhf on arm64, hppa64.
9375         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Define also HOST_CPU.
9376         For the x32 ABI on x86_64, set HOST_CPU_C_ABI to 'x86_64-x32' and define
9377         both __x86_64__ and __x86_64_x32__. For the ELFv2 ABI on powerpc64,
9378         define both __powerpc64__ and __powerpc64_elfv2__. Recognize 64-bit
9379         compilation on AIX. Recognize 32-bit compilation on arm64/Linux.
9380         Distinguish hppa64 from hppa.
9382 2017-02-10  Bruno Haible  <bruno@clisp.org>
9384         search: Don't assume that tsearch() exists if 'VISIT' is defined.
9385         * m4/search_h.m4 (gl_SEARCH_H): Determine HAVE_TYPE_VISIT.
9386         * modules/search (Makefile.am): Substitute HAVE_TYPE_VISIT.
9387         * lib/search.in.h (VISIT): Define if HAVE_TYPE_VISIT is 0.
9389 2017-02-09  Bruno Haible  <bruno@clisp.org>
9391         doc: Don't mention obsolete AC_LIBTOOL_WIN32_DLL macro.
9392         * doc/gnulib.texi (Libtool and Windows): Recommend
9393         LT_INIT([win32-dll]) instead of AC_LIBTOOL_WIN32_DLL.
9394         Reported by Reuben Thomas <rrt@sc3d.org>.
9396 2017-02-08  Paul Eggert  <eggert@cs.ucla.edu>
9398         stddef-tests: port to SIZE_MAX <= INT_MAX
9399         * tests/test-stddef.c: Include <limits.h>, for INT_MAX.
9400         Do not assume that INT_MAX < SIZE_MAX.
9402 2017-02-01  Bruno Haible  <bruno@clisp.org>
9404         lock tests: Fix link error.
9405         * modules/lock-tests (test_rwlock1_LDADD): Add @YIELD_LIB@.
9406         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9408 2017-01-31  Bruno Haible  <bruno@clisp.org>
9410         lock: Fix link error (regression from 2017-01-05).
9411         * lib/glthread/lock.h [USE_POSIX_THREADS_WEAK]: Declare also
9412         pthread_rwlockattr_init, pthread_rwlockattr_setkind_np,
9413         pthread_rwlockattr_destroy weak.
9414         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9416 2017-01-30  Paul Eggert  <eggert@cs.ucla.edu>
9418         Port to PGI 16.10 x86-64
9419         This patch fixes one real bug in gl_anylinked_list2.h, along with
9420         some minor glitches that are not bugs.  It does not silence PGI’s
9421         thousands of bogus warnings when compiling test-intprops.c.
9422         Fortunately, the warnings do not cause a failure.
9423         * lib/c-ctype.h (_C_CTYPE_LOWER_A_THRU_F_N, _C_CTYPE_LOWER_N):
9424         Rename parameter to avoid PGI warning about ‘#define f(n) 'n'’.
9425         My goodness, PGI goes back a long ways - this predates C89!
9426         * lib/gl_anylinked_list2.h (ASYNCSAFE): Fix bug caught by PGI.
9427         For example, ASYNCSAFE (const void *) should expand to
9428         ‘const void *volatile’, not to ‘volatile const void *’.
9429         * lib/spawn.in.h (POSIX_SPAWN_USEVFORK): Don't define if already defined.
9430         * lib/verify.h (verify) [!__GNUC__]:
9431         Use shorter albeit meaningless string to bypass silly compiler limits.
9432         * tests/infinity.h (Infinityf, Infinityd, Infinityl) [__PGI]:
9433         * tests/nan.h (NaNf, NaNd, NaNl):
9434         Use static functions to avoid misguided compiler diagnostics.
9435         Is there some reason we don’t use static functions on all platforms?
9437 2017-01-20  Paul Eggert  <eggert@cs.ucla.edu>
9439         parse-datetime: handle timezones reentrantly
9440         This API change was prompted by a report by Pádraig Brady in:
9441         https://bug.debian.org/851934#10
9442         To help fix the bug, make parse_datetime2 more reentrant.
9443         * NEWS: Document this incompatible change.
9444         * lib/parse-datetime.h, lib/parse-datetime.y (parse_datetime2):
9445         Add two arguments, the timezone and the timezone name.
9446         All callers changed.  If TZ="..." is specified, use it for
9447         calculating defaults.
9448         * lib/parse-datetime.y: Don't include xalloc.h or use xmalloc, as
9449         this code should be usable in a library.
9450         (mktime_ok, get_effective_timezone):
9451         Accept timezone arg too.  All callers changed.
9452         (get_tz): Remove.
9453         (get_effective_timezone): Check for failures.
9455 2017-01-20  Eric Blake  <eblake@redhat.com>
9457         localename: port to cygwin 2.6
9458         * lib/localename.c (gl_locale_name_thread_unsafe): Add clause for
9459         Cygwin.
9460         * modules/localename (Depends-on): Add extensions, since
9461         NL_LOCALE_NAME() is not visible without it.
9463 2017-01-17  Pádraig Brady  <P@draigBrady.com>
9465         parse-datetime: fix dependence on AC_PROG_SED
9466         * modules/parse-datetime: Use `sed` directly like all other modules.
9467         Reported by J William Piggott
9469 2017-01-16  Paul Eggert  <eggert@cs.ucla.edu>
9471         intprops: update doc URLs
9472         * doc/intprops.texi (Integer Range Overflow): Update URLs.
9474 2017-01-16  Bruno Haible  <bruno@clisp.org>
9476         host-cpu-c-abi: Add support for armhf, arm64, x32, s390x.
9477         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Require gl_C_ASM. On x86_64
9478         systems, distinguish x86_64 and x32. On arm systems, distinguish arm,
9479         armhf, arm64, and no longer distinguish arm and armel. On s390x systems,
9480         distinguish s390 and s390x.
9481         * modules/host-cpu-c-abi (Files): Add m4/asm-underscore.m4.
9482         * NEWS: Mention the change regarding 'armel'.
9484 2017-01-15  Paul Eggert  <eggert@cs.ucla.edu>
9486         localeinfo: case_folded_counterparts and WEOF
9487         * NEWS: Document this.
9488         * lib/localeinfo.c (case_folded_counterparts):
9489         First arg is now wint_t, not wchar_t.  This generalizes the
9490         function to also work on WEOF, where it returns 0.
9492         dfa: port to gcc -fsanitize=undefined
9493         * lib/dfa.c (copy): Don’t pass NULL with size 0 to memcpy,
9494         as this runs afoul of gcc -fsanitize=undefined.
9496 2017-01-14  Paul Eggert  <eggert@cs.ucla.edu>
9498         strftime: %z is -00 if unknown
9499         * lib/strftime.c (DO_TZ_OFFSET): Omit arg 'negative'; it's now
9500         the caller's responsibility to set 'negative_number'.  All uses changed.
9501         (__strftime_internal): Put '-' before a zero UTC offset if the time
9502         zone abbreviation starts with "-", which is the recently-introduced
9503         tzdb convention for an unknown UTC offset that is arbitrarily set to 0.
9504         * tests/test-strftime.c: Test for this.
9506 2017-01-10  Paul Eggert  <eggert@cs.ucla.edu>
9508         dfa: port to older GCC
9509         Problem reported by Assaf Gordon in:
9510         http://lists.gnu.org/r/bug-gnulib/2017-01/msg00103.html
9511         * modules/c99: New module.  This merely attempts to use the latest
9512         C version, which should be enough to solve this particular problem.
9513         The idea is to document which Gnulib modules assume C99 or later.
9514         * modules/dfa (Depends-on): Add it.
9516 2017-01-10  Bruno Haible  <bruno@clisp.org>
9518         Update DEPENDENCIES.
9519         * DEPENDENCIES: List only https URLs. Update recommended version for
9520         autoconf, automake, gperf.
9522 2017-01-10  Jim Meyering  <meyering@fb.com>
9524         maint.mk: enforce spelling of "timestamp" (i.e., no space)
9525         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Also
9526         disallow /\btime\s+stamps?\b/.  Prefer "timestamp".
9528 2017-01-10  Paul Eggert  <eggert@cs.ucla.edu>
9530         dfa: minor simplification with emptyset
9531         * lib/dfa.c (build_state): Simplify by using emptyset.
9533 2017-01-09  Paul Eggert  <eggert@cs.ucla.edu>
9535         dfa: shrink constraints from 4 bits to 3
9536         * lib/dfa.c (newline_constraint, letter_constraint)
9537         (other_constraint, prev_newline_dependent)
9538         (prev_letter_dependent, NO_CONSTRAINT, BEGLINE_CONSTRAINT)
9539         (ENDLINE_CONSTRAINT, BEGWORD_CONSTRAINT, ENDWORD_CONSTRAINT)
9540         (LIMWORD_CONSTRAINT, NOTLIMWORD_CONSTRAINT):
9541         Constraints need only 3 bits, not 4.  Using smaller integers
9542         shrinks the code a bit and makes grep a tad faster on x86-64.
9544         dfa: omit unnecessary ptrdiff_t check
9545         * lib/dfa.c (alloc_position_set): Do not worry about ptrdiff_t
9546         overflow, since xnmalloc does that now.
9548         dfa: omit unnecessary allocation
9549         * lib/dfa.c (dfaanalyze): Do not allocate follow set, since
9550         an all-zero follow set works just fine.
9552         dfa: omit unused local
9553         * lib/dfa.c (build_state): Fix up recent change.
9555         maint: remove stray .texi files
9556         Although these were superseded by other files like
9557         doc/posix-functions/ctime.texi, the old files were not removed.
9558         * doc/ctime.texi, doc/inet_ntoa.texi: Remove.
9560 2017-01-08  Paul Eggert  <eggert@cs.ucla.edu>
9562         getprogname: fix port to IRIX
9563         * lib/getprogname.c (getprogname) [__sgi]:
9564         Don't dump core if malloc returns NULL.
9566         dfa: fix reallocation bug when matching newlines
9567         Problem reported for sed by S. Gilles (Bug#25390).
9568         * lib/dfa.c (realloc_trans_if_necessary): Move earlier.
9569         (dfastate): Reallocate before moving any newline transition ...
9570         (build_state): ... instead of reallocating here, where it is too late.
9572 2017-01-07  Tim Rühsen  <tim.ruehsen@gmx.de>  (tiny change)
9574         Avoid -Wundef warning about undefined WINDOWS_SOCKETS.
9575         * lib/sockets.h: Test if WINDOWS_SOCKETS is defined.
9577 2017-01-07  Tim Rühsen  <tim.ruehsen@gmx.de>  (tiny change)
9579         Avoid -Wundef warning about undefined __USE_FILE_OFFSET64.
9580         * lib/glob-libc.h: Test if __USE_FILE_OFFSET64 is defined.
9582 2017-01-07  Bruno Haible  <bruno@clisp.org>
9584         stdioext: Port to Minix 3.2 and newer.
9585         * lib/stdio-impl.h: Treat __minix like the newest NetBSD.
9586         * lib/fseeko.c (fseeko): Likewise.
9587         Reported by Nelson Beebe via Paul Eggert.
9589 2017-01-06  Paul Eggert  <eggert@cs.ucla.edu>
9591         getprogname: port to IRIX
9592         * lib/getprogname.c (getprogname): Port to IRIX.
9593         Based on an idea by Bastien Roucariès at:
9594         http://lists.gnu.org/r/bug-gnulib/2010-12/msg00096.html
9595         via code from Bruno Haible at:
9596         https://lists.gnu.org/r/bug-gnulib/2010-12/msg00249.html
9598         localename-tests: port to NetBSD 7
9599         Problem reported by Nelson H. F. Beebe.
9600         * tests/test-localename.c:
9601         Test newlocale and uselocale only if both exist.
9603         glob, intprops, xalloc: work around Clang bug
9604         Work around LLVM bug 16404, which is still not fixed.
9605         https://llvm.org/bugs/show_bug.cgi?id=16404
9606         Problem reported by Nelson H. F. Beebe.
9607         * lib/glob.c, lib/intprops.h, lib/xalloc-oversized.h (__has_builtin):
9608         Remove.
9609         * lib/glob.c (size_add_wrapv):
9610         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW, _GL_HAS_BUILTIN_OVERFLOW_P):
9611         * lib/xalloc-oversized.h (xalloc_oversized):
9612         Do not use overflow builtins if Clang.
9614         dfa: fix 'return' typo
9615         Problem reported by Nelson H. F. Beebe.
9616         * lib/dfa.c (merge): Fix typo that Sun compilers rejected.
9618 2017-01-05  Pádraig Brady  <P@draigBrady.com>
9620         parse-datetime: fix generated paths for coverage files
9621         * modules/parse-datetime: Adjust the paths for parse-datetime.y
9622         within parse-datetime.c, so that gcc generates appropriate .gcno
9623         files, allowing lcov to proceed without error.  Previously it
9624         would error trying to find "lib/lib/parse-datetime.y".
9626 2017-01-05  Pádraig Brady  <P@draigBrady.com>
9628         maint.mk: support parallel execution of coverage
9629         * top/maint.mk (coverage): Run dependencies serially,
9630         thus supporting parallel processing of each one,
9631         particularly build-coverage, which builds and runs tests.
9633 2017-01-05  Bruno Haible  <bruno@clisp.org>
9635         lock tests: Prefer semaphore over mutex.
9636         * tests/test-lock.c (USE_SEMAPHORE): New constant.
9637         (struct atomic_int, init_atomic_int, get_atomic_int_value,
9638         set_atomic_int_value) [USE_SEMAPHORE]: Define using a POSIX semaphore.
9639         Suggested by Torvald Riegel <triegel@redhat.com>.
9641 2017-01-05  Bruno Haible  <bruno@clisp.org>
9643         lock: Provide guarantee to avoid writer starvation for rwlocks.
9644         The rationale is: 1) Read-preferring read-write locks are prone to
9645         writer starvation if the number of reader threads multiplied by the
9646         percentage of time they have the lock held is too high. 2) Write-
9647         preferring read-write locks are the only reliable way to avoid this.
9648         3) There have been reports of 'test-lock' hanging on glibc systems
9649         http://lists.gnu.org/r/bug-gnulib/2017-01/msg00009.html,
9650         and glibc indeed implements read-preferring rwlocks by default, see
9651         http://man7.org/linux/man-pages/man3/pthread_rwlockattr_setkind_np.3.html
9652         and https://sourceware.org/bugzilla/show_bug.cgi?id=13701 .
9653         * m4/pthread_rwlock_rdlock.m4: New file.
9654         * m4/lock.m4 (gl_LOCK): Invoke gl_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER.
9655         * lib/glthread/lock.h [USE_POSIX_THREADS]: Test
9656         HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER. Use a different implementation
9657         of rwlock initialization on glibc systems without
9658         HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER. Use a different implementation
9659         of rwlocks altogether on non-glibc systems without
9660         HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER.
9661         [USE_PTH_THREADS]: Use a different implementation of rwlocks altogether.
9662         * lib/glthread/lock.c [USE_POSIX_THREADS]
9663         (glthread_rwlock_init_for_glibc): New function.
9664         [USE_POSIX_THREADS] (glthread_rwlock_rdlock_multithreaded): Update
9665         comment.
9666         [USE_PTH_THREADS]: New implementation of rwlocks.
9667         [USE_WINDOWS_THREADS] (glthread_rwlock_rdlock_func): Prefer writers over
9668         readers.
9669         * modules/lock (Files): Add m4/pthread_rwlock_rdlock.m4.
9670         (Depends-on): Add 'extensions'.
9671         * tests/test-rwlock1.c: New file.
9672         * lock-tests (Files): Add it.
9673         (Depends-on): Add usleep.
9674         (Makefile.am): Add test-rwlock1 to the tests.
9676 2017-01-05  Bruno Haible  <bruno@clisp.org>
9678         thread: Fix pth port.
9679         * lib/glthread/thread.h (pth_init): Declare weak.
9680         (glthread_create, glthread_sigmask, glthread_join, gl_thread_self,
9681         gl_thread_exit): Make sure Pth is initialized before invoking any Pth
9682         function.
9684 2017-01-04  Assaf Gordon  <assafgordon@gmail.com>
9686         parse-datetime: fix debug message on lone year number
9687         Input dates such as
9688           date -d "Apr 11 22:59:00 2011"
9689         are parsed as date (Apr 11, with default year 2016), then time, then a
9690         number (2011). Based on the combination of previously seen tokens,
9691         'digits_to_date_time' determines 2011 to be a year value.
9692         This fixes the debug messages to correctly show the updated year.
9693         Before:
9694             $ date --debug -d 'Apr 11 22:59:00 2011'
9695             date: parsed date part: (Y-M-D) 2016-04-11
9696             date: parsed time part: 22:59:00
9697             date: parsed number part: today/this/now
9698         After:
9699             $ ./src/date --debug -d 'Apr 11 22:59:00 2011'
9700             date: parsed date part: (Y-M-D) 2016-04-11
9701             date: parsed time part: 22:59:00
9702             date: parsed number part: year: 2011
9703         * lib/parse-datetime.y (struct parser_control): Add 'year_seen',
9704         'debug_year_seen' member fields.
9705         (digits_to_date_time): Update 'year_seen' as needed.
9706         (debug_print_current_time): Inform about year updates.
9707         (parse_datetime2): Initialize year_seen,debug_year_seen member fields.
9709         parse-datetime: fix local timezone debug messages
9710         "Local timezones" are strings that affect only DST relative to the
9711         default timezone. The debug messages in parse-datetime.y printed
9712         wrong information when encountering local timezones.
9713         Examples:
9714         Here EET/EEST are time zones ('zone' token, with values +02:00/+03:00):
9715              TZ=Asia/Tokyo ./src/date --debug -d '2011-12-11 EET'
9716              TZ=Asia/Tokyo ./src/date --debug -d '2011-06-11 EEST'
9717         When the default timezone relates to the zone strings, EET/EEST are
9718         parsed as local timezones (tLOCAL_ZONE), and only change the DST
9719         value (0/1, respectively):
9720              TZ=Europe/Helsinki ./src/date --debug -d '2011-12-11 EET'
9721              TZ=Europe/Helsinki ./src/date --debug -d '2011-06-11 EEST'
9722         * lib/parse-datetime.y (debug_print_current_time): If local timezone
9723         was seen, inform about DST change, don't print actual timezone.
9724         (debug_strfdatetime): If local timezone was seen, use default timezone
9725         (and adjust as needed) instead of using incorrect timezone.
9726         (parse_datetime2): Use correct time-zone source string, and adjust
9727         default timezone as needed.
9729         parse-datetime: add debug warning about DST changes
9730         Incorrect date arithmetic due to daylight saving time (DST) are a
9731         common (false) bug report in coreutils.
9732         Detect two such cases and print a warning:
9733         1. year/month/day adjustments (performed on 'struct tm'),
9734            where 'mktime' returns a different isdst value.
9735         2. hour/minute/seconds/ns adjustments (performed on 'time_t'),
9736            where the result of 'localtime(3)' on the value will return a
9737            different isdst value.
9738         Note: DST changes could be harmless or unnoticeable.
9739         Examples (with 'TZ=America/New_York'):
9740         Unnoticeable: result is 2016-Dec-14
9741            $ date -d '2016-06-15 EDT + 6 months' +%b
9742            Dec
9743         Unnoticeable: result is 2016-Dec-15 11:00:00
9744            $ date -d '2016-06-15 12:00:00 EDT + 6 months' +%F
9745            2016-12-15
9746         This is unexpected:
9747            $ date -d '2016-06-01 EDT + 6 months' +%F
9748            2016-11-30
9749         The new debug warnings will show:
9750            $ ./src/date --debug -d '2016-06-01 EDT + 6 months' +%F
9751            ...
9752            date: warning: daylight saving time changed after date adjustment
9753            ...
9754         * lib/parse-datetime.y (parse_datetime2): Detect DST changes, and
9755         print an appropriate warning message.
9757         parse-datetime: add debug warning about date arithmetic
9758         Date arithmetic are done directly on the fields of 'struct tm',
9759         which can result in invalid dates. Normalization with 'mktime(3)'
9760         will then produce a different date - which might cause unexpected
9761         results.
9762         Examples:
9763           '2016-10-31 - 1 month' => 2016-09-31 normalized to 2016-10-01.
9764           '2016-02-29 + 1 year'  => 2017-02-29 normalized to 2017-03-01.
9765         Note that date normalization is not inherently wrong and not rejected,
9766         as it has legitimate uses:
9767           '2016-12-29 + 5 days' => 2016-12-34 noramlized to 2017-01-03.
9768         If the user asked to adjust months but 'mday' changed,
9769         or user asked to adjust years but 'month' changed - warn about it.
9770             $ ./src/date --debug -d '2016-10-31 - 1 month'
9771             ...
9772             date: warning: when adding relative months/years, \
9773                            it is recommended to specify the 15th of the month
9774             ...
9775             date: warning: month/year adjustment resulted in shifted dates:
9776             date:      adjusted Y M D: 2016 09 31
9777             date:    normalized Y M D: 2010 10 01
9778             ...
9779         * lib/parse-datetime.y (parse_datetime2): Detect such cases and print
9780         a warning message. Improve recommendation of when to use 15 of the
9781         month or noon for date arithmetic.
9783         parse-datetime: fix debug message of relative part after timezone
9784         Relative part (e.g '+8 days') after a timezone string was not
9785         reported (was only reported after a timezone number). Due to the
9786         parser's structure, timezone strings with numbers were handled
9787         separately.
9788         before:
9789              # Timezone number + relative part: OK
9790              $ ./src/date --debug +%F -d '2013-10-30 00:00:00 +00:00 -8 days'
9791              ...
9792              date: parsed relative part: -8 day(s)
9793              # Timezone string + relative part: missing
9794              $ ./src/date --debug +%F -d '2013-10-30 00:00:00 UTC -8 days'
9795              [ missing message ]
9796         After: messages are printed in both cases.
9797         * lib/parse-datetime.y ('zone' token): Call debug_print_relative_time.
9799         parse-datetime: fix incorrect debug message on lone number
9800         A lone number is an absolute value, not a relative time part.
9801         before:
9802            $ date --debug -d '20130101'
9803            date: parsed number part: today/this/now
9804         After:
9805            $ ./src/date --debug -d '20130101'
9806            date: parsed number part: (Y-M-D) 2013-01-01
9807         * lib/parse-datetime.y ('item'/'number' tokens): Call
9808         'debug_print_current_time' instead of 'debug_print_relative_time'.
9810 2017-01-02  Paul Eggert  <eggert@cs.ucla.edu>
9812         doc: modernize for C11 etc.
9813         * doc/gnulib-readme.texi (Portability guidelines): Modernize a bit
9814         for C11, MinGW, etc.  This responds to Paul Smith's question in:
9815         http://lists.gnu.org/r/bug-gnulib/2017-01/msg00014.html
9817         dfa: prefer functions to FETCH_WC macro
9818         * lib/dfa.c (FETCH_WC): Remove, replacing with ...
9819         (fetch_wc, bracket_fetch_wc): ... new functions.  These store the
9820         wint_t result into DFA->lex.wctok instead of to a separate arg.
9821         All callers changed.  Move more local decls closer to where
9822         they're used.
9824         dfa: narrow more local var scopes
9825         * lib/dfa.c: Move more local decls to be more local.
9827         dfa: remove duplicate assignment
9828         Problem reported by Bruno Haible in:
9829         http://lists.gnu.org/r/bug-gnulib/2017-01/msg00007.html
9830         * lib/dfa.c (parse_bracket_exp): Simplify.
9832 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
9834         dfa: simplify constraint-dependency checking
9835         * lib/dfa.c (prev_newline_constraint, prev_letter_constraint)
9836         (prev_other_constraint): Remove.
9837         (prev_newline_dependent, prev_letter_dependent):
9838         Simplify, to avoid an unnecessary bitwise AND operation.
9840         dfa: prefer functions and constants to macros
9841         * lib/dfa.c: Prefer constants to macros where either will do.
9842         (streq, isasciidigit, newline_constraint)
9843         (letter_constraint, other_constraint, succeeds_in_context)
9844         (prev_newline_constraint, prev_letter_constraint)
9845         (prev_other_constraint, prev_newline_dependent)
9846         (prev_letter_dependent, accepting, accepts_in_context):
9847         Now static functions instead of function-like macros.
9848         Use lower-case names accordingly.  All uses changed.
9850         dfa: narrow more local var scopes
9851         * lib/dfa.c: Move some more local decls down to nearer where
9852         they're needed.
9854 2016-12-31  Jim Meyering  <meyering@fb.com>
9856         dfa: narrow the scope of many local variables
9857         * lib/dfa.c: Now that we are no longer constrained to c89, move
9858         declarations of many variables (often indices) "down" into the
9859         scope(s) where used or to the point of definition.  This is a
9860         no-semantic-change diff.
9862 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
9864         version-etc: new year
9865         * build-aux/gendocs.sh (version):
9866         * doc/gendocs_template:
9867         * doc/gendocs_template_min:
9868         * doc/gnulib.texi:
9869         * lib/version-etc.c (COPYRIGHT_YEAR):
9870         Update copyright dates by hand in templates and the like.
9871         * all files: Run 'make update-copyright'.
9873 2016-12-31  Eric Blake  <eblake@redhat.com>
9875         do-release-commit-and-tag: avoid shell syntax error
9876         * build-aux/do-release-commit-and-tag (curr_br): $branch can
9877         contain spaces when rebasing.
9879         maint.mk: hoist gnulib_dir definition earlier
9880         * top/maint.mk (gnulib_dir): Move near top of file.
9882 2016-12-31  Jim Meyering  <meyering@fb.com>
9884         maint.mk: do not always evaluate intprops-related shell
9885         * top/maint.mk (_intprops_names): Change := to just "=" to avoid
9886         using gnulib_dir undefined (gnulib_dir is defined later in the
9887         file, which will be fixed separately), and besides, there is no
9888         need to incur the cost of this shell invocation for every single
9889         use of this .mk file.  Reported by Eric Blake in
9890         https://lists.gnu.org/r/bug-gnulib/2016-12/msg00137.html
9892 2016-12-30  Jim Meyering  <meyering@fb.com>
9894         maint.mk: improve sc_prohibit_intprops_without_use
9895         * top/maint.mk (_intprops_names): Don't hard-code the list of
9896         symbol names.  Instead, derive it on the fly.
9898 2016-12-30  Paul Eggert  <eggert@cs.ucla.edu>
9900         dfa: shorten sbit, success
9901         * lib/dfa.c (struct regex_syntax.sbit):
9902         (struct dfa.success): Use char, not int, for array elements, since
9903         they are all in the range 0..7.
9905         dfa: simplify multibyte_prop etc.
9906         This follows up on a change made when dfa.c was in grep, namely grep
9907         commit c797046c7c13c2647182b919a79a4c5b4ecf82b1
9908         dated 2015-08-12 07:35:03 -0700, which removed unused multibyte support.
9909         That earlier simplification allows for some more simplification
9910         and trimming down here.
9911         * lib/dfa.c (struct mb_char_classes): New member nchars_alloc.
9912         (struct lexer_state): New mamber brack.
9913         (struct dfa, addtok_mb): multibyte_prop elements are now char, not int,
9914         since they must be in the range 0..3 now.
9915         Remove members mbcsets, nmbcsets, mbcsets_alloc, since
9916         the brack member now supersedes them.
9917         (parse_bracket_exp): Update dfa->lex.brack instead of dfa->mbcsets.
9918         (addtok): Use dfa->lex.brack instead of dfa->mbcsets.
9919         (dfaparse): Remove unnecessary initializations of already-0 storage.
9920         (free_mbdata): Free d->lex.brack.chars instead of d->mbcsets.
9921         (dfassbuild): No need to clear sup->mbcsets.
9923         dfa: minor performance tweak
9924         * lib/dfa.c (setbit_wc): Test < 0, not == EOF.
9926         dfa: wrap charclass inside a struct
9927         On my platform (gcc Ubuntu 5.4.0-6ubuntu1~16.04.4 x86-64,
9928         en_US.utf8 locale) this makes 'grep -Fi -f list.txt list.txt >out'
9929         about 5% faster, where list.txt is generated by 'aspell dump
9930         master | head -n 100000 >list.txt'.  See Bug#22239.
9931         * lib/dfa.c (charclass): Wrap inside a struct.  All uses changed.
9932         (CHARCLASS_INIT, tstbit, setbit, clrbit, zeroset, fillset, notset)
9933         (equal, emptyset, charclass_index, setbit_wc, setbit_case_fold_c):
9934         Adjust to this, e.g., by using charclass * rather than charclass.
9935         All callers changed as needed.
9936         (copyset): Remove.  All uses changed to simple assignment.
9937         (parse_bracket_exp): Use zeroset instead of memset.
9939 2016-12-30  Jim Meyering  <meyering@fb.com>
9941         maint.mk: update list of intprops.h symbol names
9942         * top/maint.mk (_intprops_names): Regenerate the list of symbol names.
9943         This avoids a false failure of the sc_prohibit_intprops_without_use
9944         rule in grep.
9946 2016-12-29  Eric Blake  <eblake@redhat.com>
9948         getopt: fix parallel test failure
9949         * tests/test-getopt-posix.c (TEST_GETOPT_TMP_NAME): Set name.
9950         * tests/test-getopt-gnu.c (TEST_GETOPT_TMP_NAME): Likewise.
9951         * tests/test-getopt-main.h (main): Use different file names
9952         in case test-getopt-gnu and test-getopt-posix run in parallel.
9954 2016-12-29  Paul Eggert  <eggert@cs.ucla.edu>
9956         xalloc: x2nrealloc check for ptrdiff_t overflow
9957         * lib/xalloc.h (x2nrealloc): Check for ptrdiff_t overflow, too.
9958         * modules/xalloc, modules/xvasprintf (Depends-on): Add stdint.
9960 2016-12-24  Bruno Haible  <bruno@clisp.org>
9962         lock test: Fix performance problem on multi-core machines.
9963         * tests/test-lock.c (USE_VOLATILE): New macro.
9964         (struct atomic_int): New type.
9965         (init_atomic_int, get_atomic_int_value, set_atomic_int_value): New
9966         functions.
9967         (lock_checker_done, rwlock_checker_done, reclock_checker_done): Define
9968         as 'struct atomic_int'.
9969         (lock_checker_thread, test_lock, rwlock_checker_thread, test_rwlock,
9970         reclock_checker_thread, test_recursive_lock): Use the new functions.
9971         Reported by Eric Blake in
9972         https://www.redhat.com/archives/libvir-list/2012-March/msg00854.html
9973         and by Pádraig Brady in
9974         http://lists.gnu.org/r/bug-gnulib/2016-12/msg00117.html.
9976 2016-12-19  Bruno Haible  <bruno@clisp.org>
9978         vma-iter: Fix endless loop on 64-bit Windows.
9979         * lib/vma-iter.c (vma_iterate): On Windows, use 'uintptr_t' instead of
9980         'unsigned long'.
9982 2016-12-19  Bruno Haible  <bruno@clisp.org>
9984         stdint: Fix WINT_MAX to match the gnulib provided wint_t on minw.
9985         * m4/wint_t.m4 (gt_TYPE_WINT_T): Define GNULIB_OVERRIDES_WINT_T here.
9986         * m4/stdint.m4 (gl_STDINT_H): Don't define GNULIB_OVERRIDES_WINT_T.
9987         Invoke gt_TYPE_WINT_T instead.
9988         (gl_STDINT_TYPE_PROPERTIES): Test GNULIB_OVERRIDES_WINT_T.
9989         * modules/stdint (Files): Add m4/wint_t.m4.
9990         * modules/wchar (Makefile.am): Substitute GNULIB_OVERRIDES_WINT_T.
9991         * modules/wctype-h (Makefile.am): Likewise.
9992         * lib/wchar.in.h (wint_t): Override if GNULIB_OVERRIDES_WINT_T is set,
9993         not only on MSVC.
9994         * lib/wctype.in.h (wint_t): Likewise.
9996 2016-12-19  Paul Eggert  <eggert@cs.ucla.edu>
9998         getopt-posix-tests: fix Makefile typo
9999         * modules/getopt-posix-tests (test_getopt_posix_LDADD):
10000         Fix typo: the last ‘_’ was missing in the name.
10001         I suspect that the typo explains this build failure:
10002         https://buildfarm.opencsw.org/buildbot/builders/ggrep-solaris10-sparc/builds/39
10003         although I can’t reproduce the problem on Solaris 10 sparc.
10005 2016-12-18  Paul Eggert  <eggert@cs.ucla.edu>
10007         dfa: improve worst-case 'replace' performance
10008         See my note in Bug#22357#71.
10009         * lib/dfa.c (insert, delete): Rework to avoid duplicate test.
10010         (merge_constrained): New function, which is like
10011         the old 'merge' function, except with a new argument C2.
10012         Simplify the body by avoiding the need for different sections
10013         of code depending on whether one input is exhausted.
10014         (merge): Use the new function.
10015         (delete): Return the constraint of the deleted position,
10016         not the entire position.  Caller changed.
10017         (replace): Change from O(N*(N + log N)) to O(N log N) algorithm.
10019 2016-12-18  Norihiro Tanaka  <noritnk@kcn.ne.jp>
10021         dfa: performance improvement for removal of epsilon closure
10022         See Bug#22357#32.
10023         * lib/dfa.c (delete): Use binary search to find deleted index.
10024         (replace): New function.  It replaces a position with the followed set.
10025         (epsclosure): Replace it with a new algorithm.  Update caller.
10027 2016-12-18  Bruno Haible  <bruno@clisp.org>
10029         Split tests for getopt-posix and getopt-gnu.
10030         * tests/test-getopt-posix.c: New file.
10031         * tests/test-getopt-gnu.c: New file, with code from test-getopt.c.
10032         * tests/test-getopt-main.h: Renamed from tests/test-getopt.c. Remove
10033         stuff moved to test-getopt-gnu.c. Test TEST_GETOPT_GNU instead of
10034         GNULIB_TEST_GETOPT_GNU.
10035         * modules/getopt-posix-tests (Files): Add test-getopt-posix.c,
10036         test-getopt-main.h. Remove test-getopt.c, test-getopt_long.h.
10037         (Makefile.am): Test test-getopt-posix instead of test-getopt.
10038         * modules/getopt-gnu-tests: New file.
10039         * modules/getopt-gnu (configure.ac): Don't define GNULIB_TEST_GETOPT_GNU.
10041 2016-12-18  Bruno Haible  <bruno@clisp.org>
10043         posix-modules: Add options for specific platforms.
10044         * posix-modules (func_usage): Document options --for-mingw, --for-msvc.
10045         (exclude_for_mingw, exclude_for_msvc, exclude): New variables.
10046         Invoke func_tmpdir. Filter out the excludes.
10048 2016-12-18  Bruno Haible  <bruno@clisp.org>
10050         getopt: Fix link error for users of getopt() in <unistd.h>.
10051         * lib/getopt.in.h (getopt etc.): Do the macro definitions also when
10052         __need_getopt is defined. Undefine all macros before defining them.
10053         * modules/getopt (Include): Clarify that including <unistd.h> is also
10054         OK.
10055         * tests/test-getopt.c: Add comment.
10057 2016-12-17  Bruno Haible  <bruno@clisp.org>
10059         getaddrinfo tests: Avoid compilation error on MSVC.
10060         * tests/test-getaddrinfo.c: Don't check the prototypes of freeaddrinfo,
10061         getaddrinfo on native Windows.
10063 2016-12-17  Bruno Haible  <bruno@clisp.org>
10065         getlogin, getlogin_r: Fix link errors on MSVC.
10066         * m4/getlogin.m4 (gl_LIB_GETLOGIN): New macro.
10067         * modules/getlogin (configure.ac): Require gl_LIB_GETLOGIN.
10068         (Link): New section.
10069         * modules/getlogin_r (Files): Add m4/getlogin.m4.
10070         (configure.ac): Require gl_LIB_GETLOGIN.
10071         (Link): New section.
10072         * NEWS: Mention the new link requirements.
10073         * modules/getlogin-tests (test_getlogin_LDADD): New variable.
10074         * modules/getlogin_r-tests (test_getlogin_r_LDADD): New variable.
10076 2016-12-17  Bruno Haible  <bruno@clisp.org>
10078         Un-deprecate the 'progname' module.
10079         * NEWS: Describe the appropriate use-cases of 'progname' versus
10080         'getprogname'. Based on discussion summary at
10081         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00105.html
10083 2016-12-17  Bruno Haible  <bruno@clisp.org>
10085         Reorganize NEWS a bit.
10086         * NEWS: Move some not so important changes away from section
10087         "Important Notes".
10089 2016-12-17  Bruno Haible  <bruno@clisp.org>
10091         tanhf: Avoid redefinition error on MSVC.
10092         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_TANHF.
10093         * m4/tanhf.m4 (gl_FUNC_TANHF): Set REPLACE_TANHF to 1 if the function
10094         may be defined as an inline function.
10095         * modules/math (Makefile.am): Substitute REPLACE_TANHF.
10096         * lib/math.in.h (tanhf): Override if REPLACE_TANHF is 1.
10098 2016-12-17  Bruno Haible  <bruno@clisp.org>
10100         tanf: Avoid redefinition error on MSVC.
10101         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_TANF.
10102         * m4/tanf.m4 (gl_FUNC_TANF): Set REPLACE_TANF to 1 if the function
10103         may be defined as an inline function.
10104         * modules/math (Makefile.am): Substitute REPLACE_TANF.
10105         * lib/math.in.h (tanf): Override if REPLACE_TANF is 1.
10107 2016-12-17  Bruno Haible  <bruno@clisp.org>
10109         sqrtf: Avoid redefinition error on MSVC.
10110         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_SQRTF.
10111         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Set REPLACE_SQRTF to 1 if the function
10112         may be defined as an inline function.
10113         * modules/math (Makefile.am): Substitute REPLACE_SQRTF.
10114         * lib/math.in.h (sqrtf): Override if REPLACE_SQRTF is 1.
10116 2016-12-17  Bruno Haible  <bruno@clisp.org>
10118         sinhf: Avoid redefinition error on MSVC.
10119         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_SINHF.
10120         * m4/sinhf.m4 (gl_FUNC_SINHF): Set REPLACE_SINHF to 1 if the function
10121         may be defined as an inline function.
10122         * modules/math (Makefile.am): Substitute REPLACE_SINHF.
10123         * lib/math.in.h (sinhf): Override if REPLACE_SINHF is 1.
10125 2016-12-17  Bruno Haible  <bruno@clisp.org>
10127         sinf: Avoid redefinition error on MSVC.
10128         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_SINF.
10129         * m4/sinf.m4 (gl_FUNC_SINF): Set REPLACE_SINF to 1 if the function
10130         may be defined as an inline function.
10131         * modules/math (Makefile.am): Substitute REPLACE_SINF.
10132         * lib/math.in.h (sinf): Override if REPLACE_SINF is 1.
10134 2016-12-17  Bruno Haible  <bruno@clisp.org>
10136         logf: Avoid redefinition error on MSVC.
10137         * m4/logf.m4 (gl_FUNC_LOGF): Set REPLACE_LOGF to 1 if the function
10138         may be defined as an inline function.
10140 2016-12-17  Bruno Haible  <bruno@clisp.org>
10142         log10l: Avoid redefinition error on MSVC.
10143         * m4/log10l.m4 (gl_FUNC_LOG10L): Set REPLACE_LOG10L to 1 if the function
10144         may be defined as an inline function.
10146 2016-12-17  Bruno Haible  <bruno@clisp.org>
10148         log10f: Avoid redefinition error on MSVC.
10149         * m4/log10f.m4 (gl_FUNC_LOG10F): Set REPLACE_LOG10F to 1 if the function
10150         may be defined as an inline function.
10152 2016-12-17  Bruno Haible  <bruno@clisp.org>
10154         hypotl: Avoid redefinition error on MSVC.
10155         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Set REPLACE_HYPOTL to 1 if the function
10156         may be defined as an inline function.
10158 2016-12-17  Bruno Haible  <bruno@clisp.org>
10160         hypotf: Avoid redefinition error on MSVC.
10161         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Set REPLACE_HYPOTF to 1 if the function
10162         may be defined as an inline function.
10164 2016-12-17  Bruno Haible  <bruno@clisp.org>
10166         fmodl: Avoid redefinition error on MSVC.
10167         * m4/fmodl.m4 (gl_FUNC_FMODL): Set REPLACE_FMODL to 1 if the function
10168         may be defined as an inline function.
10170 2016-12-17  Bruno Haible  <bruno@clisp.org>
10172         fmodf: Avoid redefinition error on MSVC.
10173         * m4/fmodf.m4 (gl_FUNC_FMODF): Set REPLACE_FMODF to 1 if the function
10174         may be defined as an inline function.
10176 2016-12-17  Bruno Haible  <bruno@clisp.org>
10178         expf: Avoid redefinition error on MSVC.
10179         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_EXPF.
10180         * m4/expf.m4 (gl_FUNC_EXPF): Set REPLACE_EXPF to 1 if the function
10181         may be defined as an inline function.
10182         * modules/math (Makefile.am): Substitute REPLACE_EXPF.
10183         * lib/math.in.h (expf): Override if REPLACE_EXPF is 1.
10185 2016-12-17  Bruno Haible  <bruno@clisp.org>
10187         coshf: Avoid redefinition error on MSVC.
10188         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_COSHF.
10189         * m4/coshf.m4 (gl_FUNC_COSHF): Set REPLACE_COSHF to 1 if the function
10190         may be defined as an inline function.
10191         * modules/math (Makefile.am): Substitute REPLACE_COSHF.
10192         * lib/math.in.h (coshf): Override if REPLACE_COSHF is 1.
10194 2016-12-17  Bruno Haible  <bruno@clisp.org>
10196         cosf: Avoid redefinition error on MSVC.
10197         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_COSF.
10198         * m4/cosf.m4 (gl_FUNC_COSF): Set REPLACE_COSF to 1 if the function
10199         may be defined as an inline function.
10200         * modules/math (Makefile.am): Substitute REPLACE_COSF.
10201         * lib/math.in.h (cosf): Override if REPLACE_COSF is 1.
10203 2016-12-17  Bruno Haible  <bruno@clisp.org>
10205         atan2f: Avoid redefinition error on MSVC.
10206         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ATAN2F.
10207         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Set REPLACE_ATAN2F to 1 if the function
10208         may be defined as an inline function.
10209         * modules/math (Makefile.am): Substitute REPLACE_ATAN2F.
10210         * lib/math.in.h (atan2f): Override if REPLACE_ATAN2F is 1.
10212 2016-12-17  Bruno Haible  <bruno@clisp.org>
10214         atanf: Avoid redefinition error on MSVC.
10215         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ATANF.
10216         * m4/atanf.m4 (gl_FUNC_ATANF): Set REPLACE_ATANF to 1 if the function
10217         may be defined as an inline function.
10218         * modules/math (Makefile.am): Substitute REPLACE_ATANF.
10219         * lib/math.in.h (atanf): Override if REPLACE_ATANF is 1.
10221 2016-12-17  Bruno Haible  <bruno@clisp.org>
10223         asinf: Avoid redefinition error on MSVC.
10224         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ASINF.
10225         * m4/asinf.m4 (gl_FUNC_ASINF): Set REPLACE_ASINF to 1 if the function
10226         may be defined as an inline function.
10227         * modules/math (Makefile.am): Substitute REPLACE_ASINF.
10228         * lib/math.in.h (asinf): Override if REPLACE_ASINF is 1.
10230 2016-12-17  Bruno Haible  <bruno@clisp.org>
10232         acosf: Avoid redefinition error on MSVC.
10233         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ACOSF.
10234         * m4/acosf.m4 (gl_FUNC_ACOSF): Set REPLACE_ACOSF to 1 if the function
10235         may be defined as an inline function.
10236         * modules/math (Makefile.am): Substitute REPLACE_ACOSF.
10237         * lib/math.in.h (acosf): Override if REPLACE_ACOSF is 1.
10239 2016-12-17  Bruno Haible  <bruno@clisp.org>
10241         Avoid redefinition errors on MSVC.
10242         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): Set REPLACE_SNPRINTF to 1 if
10243         the function may be defined as an inline function.
10244         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): Set REPLACE_VSNPRINTF to 1 if
10245         the function may be defined as an inline function.
10247 2016-12-17  Bruno Haible  <bruno@clisp.org>
10249         Avoid redefinition errors on MSVC.
10250         * lib/stdio.in.h: Include <stdlib.h> and <io.h> when necessary.
10251         * lib/unistd.in.h: Include <stdio.h> when necessary.
10253 2016-12-17  Bruno Haible  <bruno@clisp.org>
10255         stdint: Fix WINT_MAX to match the gnulib provided wint_t on MSVC.
10256         * m4/stdint.m4 (gl_STDINT_H): Define GNULIB_OVERRIDES_WINT_T.
10257         * modules/stdint (Makefile.am): Substitute GNULIB_OVERRIDES_WINT_T.
10258         * lib/stdint.in.h [GNULIB_OVERRIDES_WINT_T]: Redefine WINT_MIN and
10259         WINT_MAX.
10261 2016-12-17  Bruno Haible  <bruno@clisp.org>
10263         Avoid autoconf warning.
10264         * modules/frexpl (configure.ac): Require, not invoke, gl_FUNC_FREXPL.
10265         * modules/frexp (configure.ac): Require, not invoke, gl_FUNC_FREXP.
10267 2016-12-17  Bruno Haible  <bruno@clisp.org>
10269         fpending: Revert workaround against Emacs bug.
10270         * lib/stdio-impl.h [__MINGW32__]: Revert conditional.
10271         The Emacs bug is fixed by Eli Zaretskii in
10272         http://lists.gnu.org/r/emacs-devel/2016-12/msg00715.html
10274 2016-12-17  Bruno Haible  <bruno@clisp.org>
10276         getlogin_r tests: Port to mingw.
10277         * tests/test-getlogin_r.c: Don't include <pwd.h> on native Windows. Fixes
10278         regression introduced on 2014-05-19.
10280 2016-12-17  Bruno Haible  <bruno@clisp.org>
10282         getlogin: Port to newer mingw.
10283         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_GETLOGIN.
10284         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Set HAVE_DECL_GETLOGIN.
10285         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETLOGIN, not
10286         HAVE_GETLOGIN.
10287         * lib/unistd.in.h (getlogin): Test HAVE_DECL_GETLOGIN, not
10288         HAVE_GETLOGIN.
10289         * doc/posix-functions/getlogin.texi: Mention the issue.
10290         * tests/test-getlogin.c: Don't include <pwd.h> on native Windows. Fixes
10291         regression introduced on 2014-05-14.
10293 2016-12-16  Paul Eggert  <eggert@cs.ucla.edu>
10295         builtin-expect: improve port to IBM XL C
10296         Problem reported for z/OS by Daniel Richard G. in:
10297         http://lists.gnu.org/r/bug-gnulib/2016-12/msg00079.html
10298         * m4/builtin-expect.m4 (gl___BUILTIN_EXPECT):
10299         Test for <builtins.h> directly.
10301         builtin-expect: port to IBM XL C
10302         Problem reported for z/OS by Daniel Richard G. in:
10303         http://lists.gnu.org/r/bug-gnulib/2016-12/msg00074.html
10304         * m4/builtin-expect.m4 (gl___BUILTIN_EXPECT):
10305         Also allow __builtin_expect defined via a standard include file.
10307         regex: fix dependency
10308         Problem reported by Bruno Haible in:
10309         http://lists.gnu.org/r/bug-gnulib/2016-12/msg00073.html
10310         * modules/regex: Depend on builtin-expect.
10312         builtin-expect: new module
10313         Fix fnmatch to use it.
10314         Problem reported for z/OS by Daniel Richard G.
10315         * lib/fnmatch.c (__builtin_expect):
10316         * lib/glob.c (__builtin_expect):
10317         * lib/grantpt.c (__builtin_expect) [!_LIBC]:
10318         * lib/memmem.c (__builtin_expect) [!_LIBC]:
10319         * lib/scandir.c (__builtin_expect):
10320         * lib/strstr.c (__builtin_expect) [!_LIBC]:
10321         Remove macro; config.h now does this.
10322         * lib/gl_anytreehash_list1.h (add_to_bucket):
10323         * lib/regex_internal.h (BE):
10324         Assume __builtin_expect.
10325         * m4/builtin-expect.m4, modules/builtin-expect: New files.
10326         * modules/avltreehash-list, modules/fnmatch, modules/glob:
10327         * modules/grantpt, modules/memmem-simple, modules/rbtreehash-list:
10328         * modules/scandir, modules/strstr-simple:
10329         Depend on builtin-expect.
10331 2016-12-15  Bruno Haible  <bruno@clisp.org>
10333         init.sh: Add possibility to not delete temporary files.
10334         * tests/init.sh (remove_tmp_): If the environment variable KEEP is set
10335         to yes, don't erase the temporary directory.
10337 2016-12-16  Paul Eggert  <eggert@cs.ucla.edu>
10339         regex: fix integer-overflow bug in never-used code
10340         Problem reported by Clément Pit–Claudel in:
10341         http://lists.gnu.org/r/emacs-devel/2016-12/msg00654.html
10342         * lib/regex_internal.h: Include intprops.h.
10343         * lib/regexec.c (re_search_2_stub): Use it to avoid undefined
10344         behavior on integer overflow.
10345         * modules/regex (Depends-on): Add intprops.
10347         fpending: fix port to MinGW on Emacs
10348         * lib/stdio-impl.h [__MINGW32__]: Do not include errno.h.
10349         Problem reported by Eli Zaretskii in:
10350         http://lists.gnu.org/r/emacs-devel/2016-12/msg00642.html
10351         Is Plan 9 still a valid porting target, anyway?
10353 2016-12-15  Paul Eggert  <eggert@cs.ucla.edu>
10355         safe-alloc: use xalloc-oversized
10356         * lib/safe-alloc.c: Include xalloc-oversized.h.
10357         (safe_alloc_oversized): Remove.  All uses changed to xalloc_oversized.
10358         * modules/safe-alloc (Depends-on): Add xalloc-oversized.
10360         xalloc: do not exceed PTRDIFF_MAX
10361         * lib/xmalloc.c (xcalloc) [HAVE_GNU_CALLOC]: Do not omit
10362         xalloc_oversized check, since objects larger than PTRDIFF_MAX
10363         bytes have pointer-subtraction problems.
10365         malloca: do not exceed PTRDIFF_MAX
10366         * lib/malloca.h: Include xalloc-oversized.
10367         (nmalloca): Use xalloc_oversized instead of rolling our own.
10368         * modules/malloca (Depends-on):
10369         * modules/relocatable-prog-wrapper (Depends-on):
10370         Add xalloc-oversized.
10372         quotearg: pacify GCC better
10373         * modules/quotearg (Depends-on): Add minmax, stdint.
10374         * lib/quotearg.c: Include minmax.h, stdint.h.
10375         (nslots): Now int, as there seems little point to going to extra
10376         work merely to support the INT_MAX slot, which nobody ever uses.
10377         (quotearg_n_options): Redo size-overflow checks to pacify GCC
10378         and to catch (mostly-theoretical) ptrdiff_t problems too.
10379         This can be done via one comparison.
10381 2016-12-14  Paul Eggert  <eggert@cs.ucla.edu>
10383         xalloc-oversized: check for PTRDIFF_MAX too
10384         This avoids undefined behavior when subtracting pointers to
10385         objects containing more than PTRDIFF_MAX bytes.
10386         * lib/xalloc-oversized.h (__xalloc_oversized, xalloc_oversized):
10387         Also return 1 if the result would exceed PTRDIFF_MAX>
10388         * modules/xalloc-oversized (Depends-on):
10389         Add stdint.
10391         dfa: fix glitches in previous commit
10392         Sorry, I don't know how I managed to commit the wrong version.
10393         * lib/dfa.c (MIN): Move up.
10394         (xpalloc): Now static.
10396         dfa: fix some unlikely integer overflows
10397         I found these while reviewing the recent Coverity-related fix.
10398         This patch changes part of dfa.c to prefer ptrdiff_t instead of
10399         size_t for object counts.  Using ptrdiff_t is the style typically
10400         used in Emacs; although it wastes a sign bit as sizes can never be
10401         negative, it makes -fsanitize=undefined more likely to catch
10402         integer overflows in index calculation, and nowadays the upside is
10403         typically more important than the downside.  Although perhaps the
10404         rest of dfa.c should be changed to prefer ptrdiff_t as well (much
10405         of dfa.c already does, since it uses state_num which is signed),
10406         that is a bigger change and is not needed to fix the bugs I found.
10407         * lib/dfa.c: Include stdint.h and intprops.h.
10408         (TOKEN_MAX): New macro.
10409         (position_set, struct mb_char_classes, struct dfa, maybe_realloc)
10410         (charclass_index, parse_bracket_exp, addtok, insert, merge)
10411         (realloc_trans_if_necessary, free_mbdata):
10412         Use ptrdiff_t instead of size_t for object counts related to xpalloc.
10413         This is safe because xpalloc checks that the sizes do not exceed
10414         either SIZE_MAX or PTRDIFF_MAX.
10415         (xpalloc): New function, mostly taken from Emacs.
10416         (maybe_realloc, copy, realloc_trans_if_necessary): Use it.
10417         (maybe_realloc): Add NITEMS_MAX to signature.  All callers changed.
10418         (charclass_index): Check for integer overflow in computing
10419         charclass index; it must not exceed TOKEN_MAX - CSET, as CSET is
10420         added to it later.
10421         (alloc_position_set): Check for integer overflow.  On typical
10422         platforms this check has zero overhead, since the constant
10423         expression is false.
10424         (realloc_trans_if_necessary):
10425         Remove assertion, which I hope Coverity no longer needs.
10427         * modules/dfa (Depends-on): Add intprops, stdint.
10429 2016-12-12  Jim Meyering  <meyering@fb.com>
10431         dfa: add an assertion to avoid coverity false positive
10432         * lib/dfa.c (realloc_trans_if_necessary): Otherwise, coverity
10433         warned that "newalloc1 - 2" could overflow.
10435 2016-12-13   Arnold D. Robbins  <arnold@skeeve.com>
10437         dfa: remove DFA_CASE_FOLD flag in favor of RE_ICASE
10438         * dfa.h (DFA_CASE_FOLD): Remove.
10439         * dfa.c (dfasyntax): Set dfa->syntax.case_fold based on RE_ICASE.
10441 2016-12-13  John W. Eaton  <gnu@jweaton.org>
10443         link: fix test to declare use of rename()
10444         * m4/link.m4 (gl_FUNC_LINK): Include <stdio.h> needed with
10445         -Werror=implicit-function-declaration
10447 2016-12-12  Bruno Haible  <bruno@clisp.org>
10449         fpending: Port to native Windows with MSVC.
10450         * lib/fpending.c: Include stdio-impl.h.
10451         (__fpending): Include all known implementations. Err out if it's not
10452         ported.
10453         * m4/fpending.m4 (gl_PREREQ_FPENDING): Remove macro.
10454         * modules/fpending (Files): Add lib/stdio-impl.h.
10455         (configure.ac): Don't invoke gl_PREREQ_FPENDING.
10457 2016-12-12  Bruno Haible  <bruno@clisp.org>
10459         stdioext: Port to native Windows with MSVC.
10460         * lib/stdio-impl.h (WINDOWS_OPAQUE_FILE): New macro.
10461         (struct _gl_real_FILE): New type.
10462         (fp_, _IOREAD, _IOWRT, _IORW, _IOEOF, _IOERR): New macros, for native
10463         Windows.
10464         * lib/fbufmode.c (fbufmode): Add code for native Windows.
10465         * lib/fflush.c (clear_ungetc_buffer): Treat native Windows like the
10466         other SystemV derived implementations.
10467         * lib/fpurge.c (fpurge): Likewise.
10468         * lib/freadable.c (freadable): Likewise.
10469         * lib/freadahead.c (freadahead): Likewise.
10470         * lib/freading.c (freading): Likewise.
10471         * lib/freadptr.c (freadptr): Likewise.
10472         * lib/freadseek.c (freadptrinc): Likewise.
10473         * lib/fseeko.c (fseeko): Likewise.
10474         * lib/fseterr.c (fseterr): Likewise.
10475         * lib/fwritable.c (fwritable): Likewise.
10476         * lib/fwriting.c (fwriting): Likewise.
10477         Reported by Gisle Vanem <gvanem@yahoo.no>.
10479 2016-12-11  Jim Meyering  <meyering@fb.com>
10481         non-recursive-gnulib-prefix-hack.m4: remove leading "(" in case stmt
10482         * m4/non-recursive-gnulib-prefix-hack.m4: That leading "(" happens
10483         to work with most shells, but not with the one provided by many
10484         Solaris 10 systems, so running configure with such a /bin/sh evokes
10485         e.g., "./configure: syntax error at line 33602: `(' unexpected".
10486         Reported by Assaf Gordon in
10487         https://lists.gnu.org/r/sed-devel/2016-12/msg00002.html
10489 2016-12-10  Bruno Haible  <bruno@clisp.org>
10491         threadlib: Optimize out runtime test on Solaris >= 10.
10492         * m4/threadlib.m4 (gl_THREADLIB_BODY): Don't set
10493         PTHREAD_IN_USE_DETECTION_HARD if configuring on Solaris 10 or newer.
10494         Reported by Peter Felecan at <https://savannah.gnu.org/bugs/?32087>.
10496 2016-12-10  Bruno Haible  <bruno@clisp.org>
10498         stdint: Update doc about Solaris 9.
10499         * doc/posix-headers/stdint.texi: Add info about Solaris 9.
10501 2016-12-09  Bruno Haible  <bruno@clisp.org>
10503         c-ctype tests: Fix link error on Solaris 9.
10504         * modules/c-ctype-tests (Depends-on): Add 'isblank'.
10505         Reported at <https://savannah.gnu.org/bugs/?46827>.
10507 2016-12-09  Paul Eggert  <eggert@cs.ucla.edu>
10509         dfa: fix performance bug that recomputes trans
10510         * lib/dfa.c (build_state): Fix performance bug introduced in Nov
10511         25 on-demand changes.  The bug caused build_state to reset all
10512         d->trans elements to -2 even when d->trans was already non-null.
10513         Use C99 style decls after statements in this function.
10515         same-inode: port to MinGW
10516         Here st_ino is always 0, so change the definition of SAME_INODE so
10517         that 1 means the two files are the same, 0 with st_ino != 0 means
10518         they differ, and 0 with st_ino == 0 means we don’t know.  Problem
10519         reported by Bruno Haible (Bug#25146).
10520         * doc/posix-headers/sys_stat.texi (sys/stat.h): Update.
10521         * lib/same-inode.h (SAME_INODE): Return 0 on MinGW.
10523 2016-12-04  Bruno Haible  <bruno@clisp.org>
10525         javacomp-script: Support Java 7 and 8.
10526         * m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 1.7, 1.8 and
10527         target-version 1.7, 1.8.
10529 2016-12-02  Daiki Ueno  <ueno@gnu.org>
10531         * gnulib-tool (func_import): Relax the regex used for "LGPLv3+ or
10532         GPLv2" rewriting.
10534 2016-12-02  Nikos Mavrogiannopoulos  <nmav@gnutls.org>
10536         * gnulib-tool (func_import): Adhere to the license guideline when
10537         rewriting the license text to "LGPLv3+ or GPLv2":
10538         https://www.gnu.org/prep/maintain/maintain.html#Licensing-of-GNU-Packages
10540 2016-12-02  Bruno Haible  <bruno@clisp.org>
10542         localcharset: Avoid theoretical buffer overrun.
10543         * lib/localcharset.c (locale_charset) [WINDOWS_NATIVE]: Don't use the
10544         return value from setlocale if it would lead to a buffer overrun.
10546 2016-12-01  Bruno Haible  <bruno@clisp.org>
10548         Relicense some modules under LGPLv2+.
10549         Kevin Cernekee's approval is in
10550         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00090.html.
10551         * modules/fseterr (License): Change to LGPLv2+.
10552         * modules/mbchar (License): Likewise.
10553         * modules/mbiter (License): Likewise.
10554         * modules/mbsnlen (License): Likewise.
10555         * modules/wcwidth (License): Likewise.
10557 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
10559         scandir: Fix _D_ALLOC_NAMLEN() on OS/2 kLIBC
10560         * lib/scandir.c (_D_ALLOC_NAMLEN): Consider the fields after d_name on
10561         OS/2 kLIBC.
10563 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
10565         alphasort, scandir: Port to OS/2 kLIBC
10566         * lib/alphasort.c (alphasort): Implement according to OS/2 kLIBC
10567         declaration.
10568         * lib/scandir.c (scandir): Add declaration for OS/2 kLIBC.
10570 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
10572         relocatable: Fix that /@unixroot prefix is not working on OS/2 kLIBC
10573         * lib/relocatable.c (relocate): Do not touch pathname if it is started
10574         with '/@unixroot'.
10576 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
10578         sys_socket: typedef sa_family_t correctly on OS/2 kLIBC
10579         * lib/sys_socket.in.h (sa_family_t): Typedef to unsigned char on
10580         OS/2 kLIBC unless TCPV40HDRS is defined.
10582 2016-11-29  Jim Meyering  <meyering@fb.com>
10584         dfa: avoid new infinite loop
10585         This would infloop: echo cx | LC_ALL=C grep -E 'c\b[x ]'
10586         * lib/dfa.c (dfastate): When constructing a new state table, we could
10587         initially declare that we had found a match, and later find that
10588         constraints eliminate that possibility, yet continue to use the
10589         now stale "matched" indicator.  That would lead to an infinite loop.
10590         The solution is to update "matched" when necessary.
10591         Introduced by commit v0.1-983-g403adf1.
10593 2016-11-27  Norihiro Tanaka  <noritnk@kcn.ne.jp>
10595         dfa: avoid match middle in multibyte character
10596         * lib/dfa.c (transit_state): If fails in matching single byte characters
10597         on a state including period expression in non-UTF8 multibyte locales,
10598         skip trailing bytes.
10599         (dfa_supported): Revert previous change.
10601 2016-11-27  Jim Meyering  <meyering@fb.com>
10603         dfa: avoid false match in non-UTF8 multibyte locales
10604         * lib/dfa.c (dfa_supported): Treat any non-UTF8 multibyte locale
10605         as "not supported" so that callers will resort to using regex-based
10606         matcher.  This will surely hurt performance, but correctness trumps
10607         performance here, and the affected locales are less and less relevant,
10608         these days.  See grep's bug report https://bugs.gnu.org/24975.
10610 2016-11-27  Mike Frysinger  <vapier@gentoo.org>
10612         ptsname_r: leverage AC_HEADER_MAJOR to provide major()
10613         * lib/ptsname_r.c: Include the appropriate headers.
10614         [__sun]: Delete sys/sysmacros.h include.
10615         [_AIX || __osf__]: Likewise.
10616         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Depend on AC_HEADER_MAJOR.
10618 2016-11-27  Pádraig Brady  <P@draigBrady.com>
10620         md4,md5,sha*: allow _STRING_INLINE_unaligned enable unaligned operation
10621         * lib/md4.c (md4_process_bytes): The existing define is made internal
10622         in recent versions of glibc, so also use this new public define.
10623         * lib/md5.c (md5_process_bytes): Likewise.
10624         * lib/sha1.c (sha1_process_bytes): Likewise.
10625         * lib/sha256.c (sha256_process_bytes): Likewise.
10626         * lib/sha512.c (sha512_process_bytes): Likewise.
10628 2016-11-27  Pádraig Brady  <P@draigBrady.com>
10630         maint: use a more standard return from mbrtowc test
10631         * m4/mbrtowc.m4 (gl_MBRTOWC_C_LOCALE): Don't return 1
10632         from the test program as this often indicates an
10633         unhandled case in the test program.
10634         (gl_MBRTOWC_INCOMPLETE_STATE): Likewise.
10635         (gl_MBRTOWC_SANITYCHECK): Likewise.
10636         (gl_MBRTOWC_NULL_ARG2): Likewise.
10637         (gl_MBRTOWC_NUL_RETVAL): Likewise.
10639 2016-11-26  Paul Eggert  <eggert@cs.ucla.edu>
10641         freopen: work around glibc bug with closed fd
10642         Work around glibc bug#15589, where freopen mishandles the case
10643         where stdin etc. are already closed.
10644         * doc/posix-functions/freopen.texi (freopen): Document the bug.
10645         * lib/freopen.c (_GL_ALREADY_INCLUDING_STDIO_H): Define this
10646         instead of __need_FILE, as the latter does not work with glibc.
10647         Include <fcntl.h>, for open flags.
10648         (rpl_freopen): Work around glibc bug.
10649         * m4/freopen.m4 (gl_FUNC_FREOPEN): Check for bug.
10650         * modules/freopen (Depends-on): Add fcntl-h.
10651         * tests/test-freopen.c (main): Test for bug.
10653 2016-11-25  Paul Eggert  <eggert@cs.ucla.edu>
10655         fnmatch: fix typo introduced on 2016-08-17
10656         This fixes the port to non-GCC compilers that lack __builtin_expect.
10657         * lib/fnmatch.c (__builtin_expect): Change A&&B to !A||B.
10659         dfa: simplify with new function fillset
10660         * lib/dfa.c (fillset): New function.
10661         Use it for clarity when applicable.
10663         dfa: fix glitches with on-demand states
10664         Also, adjust commentary to better match new code.
10665         Some of these glitches predate the recent change.
10666         * lib/dfa.c (dfaanalyze): Clear trcount here, so that it counts
10667         only non-initial states.
10668         (dfastate): Rename locals to better match new roles.
10669         Move them into nested scopes if this is easy.
10670         Omit unnecessary calls to zeroset.
10671         Simplify test for whether to throw in the positions of state 0.
10672         Omit C99-ism (decl after statement) since Gawk still wants C89.
10673         (build_state): Omit unnecessary test and assignment.
10674         Fix some confusion that counted transition tables inaccurately
10675         and could cause a memory leak.
10676         (dfaexec_main): Redo to make it clearer to the compiler that
10677         -1 and -2 are the only negative state numbers here.
10679 2016-11-25  Norihiro Tanaka  <noritnk@kcn.ne.jp>
10681         dfa: addition of new state on demand
10682         * src/dfa.c (dfastate): Add argument UC, the current input character.
10683         Fill only a group including the character in transition table.
10684         (realloc_trans_if_necessary): Add the dummy state which means that a
10685         transition table is assigned but the next state is not assigned.
10686         (build_state): Return the next state.  All callers updated.
10687         (transit_state_singlebyte): If we get the dummy state,
10688         fill the transition table.
10689         (dfaexec_main): Handle the dummy state.
10690         (free_mbdata, dfafree): Consider the dummy state.
10692 2016-11-24  Daiki Ueno  <ueno@gnu.org>
10694         srclist: sync with released gettext
10695         * config/srclist.txt: Set "release" option to the files under
10696         $GETTEXT.
10698 2016-11-24  Daiki Ueno  <ueno@gnu.org>
10700         srclist: add "release" option
10701         * config/srclist.txt: Change the format so that the first column
10702         of each line points to the top-level directory of the source
10703         archive.
10704         * config/srclist-update: Accept "release" option that checks files
10705         from the most recently tagged revision in the source archive.
10707 2016-11-21  Bruno Haible  <bruno@clisp.org>
10709         snippet/c++defs: Simplify _GL_CXXALIAS_* macros.
10710         * build-aux/snippet/c++defs.h [__cplusplus && GNULIB_NAMESPACE]
10711         (_GL_CXXALIAS_RPL_1, _GL_CXXALIAS_RPL_CAST_1,
10712         _GL_CXXALIAS_SYS, _GL_CXXALIAS_SYS_CAST, _GL_CXXALIAS_SYS_CAST2):
10713         Inline and remove member function 'rpl ()' of the wrapper struct.
10715 2016-11-20  Paul Eggert  <eggert@cs.ucla.edu>
10717         dfa: fix logic typo
10718         Problem reported by Stephane Chazelas (Bug#24973).
10719         * lib/dfa.c (using_simple_locale): Fix typo that caused some
10720         non-simple locales like fr_FR to be treated as simple.
10722 2016-11-20  Jim Meyering  <meyering@fb.com>
10724         fix test driver leaks: exclude, malloc, realloc
10725         * tests/test-exclude.c (main): Fix trivial leak.
10726         * tests/test-malloc-gnu.c (main): Likewise.
10727         * tests/test-realloc-gnu.c (main): Likewise.
10728         With these changes, grep's tests are now leak free.
10729         I.e., running them with ASAN elicits no failure:
10730           make CFLAGS='-O0 -ggdb3' AM_CFLAGS=-fsanitize=address \
10731             AM_LDFLAGS='-fsanitize=address -static-libasan' check
10733 2016-11-11  Bruno Haible  <bruno@clisp.org>
10735         libunistring: Relicense under dual "LGPLv3+ or GPLv2" license.
10736         * modules/libunistring: (License): Change from LGPL to
10737         "LGPLv3+ or GPLv2".
10738         * modules/libunistring-optional: Likewise.
10739         * modules/unicase/*: Likewise.
10740         * modules/uniconv/*: Likewise.
10741         * modules/unictype/*: Likewise.
10742         * modules/unigbrk/*: Likewise.
10743         * modules/unilbrk/*: Likewise.
10744         * modules/uniname/*: Likewise.
10745         * modules/uninorm/*: Likewise.
10746         * modules/unistdio/*: Likewise.
10747         * modules/unistr/*: Likewise.
10748         * modules/uniwbrk/*: Likewise.
10749         * modules/uniwidth/*: Likewise.
10751 2016-11-12  Bruno Haible  <bruno@clisp.org>
10753         Relicense some modules under LGPLv2+.
10754         Paul Eggert's approval is in
10755         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00037.html.
10756         Eric Blake's approval is in
10757         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00042.html.
10758         Ludovic Courtès's approval is in
10759         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00038.html.
10760         * modules/isnand-nolibm (License): Change to LGPLv2+.
10761         * modules/isnanf-nolibm (License): Likewise.
10762         * modules/isnanl-nolibm (License): Likewise.
10764 2016-11-19  Bruno Haible  <bruno@clisp.org>
10766         Relicense some modules under LGPLv2+.
10767         lib/float+.h is already under LGPLv2+ since 2007-07-13, per
10768         modules/vasnprintf.
10769         Paolo Bonzini's approval for lib/frexp.c and lib/frexpl.c is in
10770         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00074.html.
10771         All other significant changes to the files in lib/ of these modules
10772         are from me.
10773         * modules/memcmp2 (License): Change to LGPLv2+.
10774         * modules/amemxfrm (License): Likewise.
10775         * modules/fpieee (License): Likewise.
10776         * modules/fpucw (License): Likewise.
10777         * modules/frexp-nolibm (License): Likewise.
10778         * modules/frexpl-nolibm (License): Likewise.
10779         * modules/printf-frexp (License): Likewise.
10780         * modules/printf-frexpl (License): Likewise.
10781         * modules/printf-safe (License): Likewise.
10782         * modules/signbit (License): Likewise.
10784 2016-11-17  Bruno Haible  <bruno@clisp.org>
10786         Enable Unicode decoder safety unconditionally.
10787         * lib/unistr.in.h (u32_mbtouc_unsafe): Assume CONFIG_UNICODE_SAFETY.
10788         * lib/unistr/u8-mblen.c (u8_mblen): Likewise.
10789         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
10790         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
10791         * lib/unistr/u8-prev.c (u8_prev): Likewise.
10792         * lib/unistr/u8-strmblen.c (u8_strmblen): Likewise.
10793         * lib/unistr/u8-strmbtouc.c (u8_strmbtouc): Likewise.
10794         * lib/unistr/u16-mblen.c (u16_mblen): Likewise.
10795         * lib/unistr/u16-mbtouc-unsafe.c (u16_mbtouc_unsafe): Likewise.
10796         * lib/unistr/u16-mbtouc-unsafe-aux.c (u16_mbtouc_unsafe_aux): Likewise.
10797         * lib/unistr/u16-prev.c (u16_prev): Likewise.
10798         * lib/unistr/u16-strmblen.c (u16_strmblen): Likewise.
10799         * lib/unistr/u16-strmbtouc.c (u16_strmbtouc): Likewise.
10800         * lib/unistr/u32-mblen.c (u32_mblen): Likewise.
10801         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Likewise.
10802         * lib/unistr/u32-prev.c (u32_prev): Likewise.
10803         * lib/unistr/u32-next.c (u32_next): Likewise.
10804         * lib/unistr/u32-strmblen.c (u32_strmblen): Likewise.
10805         * lib/unistr/u32-strmbtouc.c (u32_strmbtouc): Likewise.
10806         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
10807         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
10808         * tests/unistr/test-u16-prev.c (check_invalid): Enable the
10809         CONFIG_UNICODE_SAFETY tests unconditionally.
10810         * tests/unistr/test-u32-mblen.c (main): Likewise.
10811         * tests/unistr/test-u32-mbtouc.h (test_function): Likewise.
10812         * tests/unistr/test-u32-prev.c (check_invalid): Likewise.
10813         * tests/unistr/test-u32-next.c (main): Likewise.
10814         * tests/unistr/test-u32-strmblen.c (main): Likewise.
10815         * tests/unistr/test-u32-strmbtouc.c (main): Likewise.
10816         * tests/unistr/test-u32-mbtouc.c (FULL_SAFETY): Remove macro.
10817         * lib/unistr/u8-check.c (u8_check): Remove old dead code.
10818         * lib/unistr/u8-mbtouc.c (u8_mbtouc): Likewise.
10819         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
10820         * lib/unistr/u8-mbtoucr.c (u8_mbtoucr): Likewise.
10821         * lib/unistr/u8-uctomb.c (u8_uctomb): Likewise.
10822         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Likewise.
10823         * lib/unistr/u16-check.c (u16_check): Update comment.
10824         * NEWS: Mention the changes that callers should be aware of.
10826 2016-11-19  Bruno Haible  <bruno@clisp.org>
10828         relocatable-prog-wrapper: Fix breakage on Cygwin.
10829         * modules/relocatable-prog-wrapper (Files): Add lib/stat.c, lib/lstat.c.
10830         (Depends-on): Remove intprops.
10831         * lib/relocwrapper.c: Update dependency tree.
10832         (strerror): Undefine.
10833         * build-aux/install-reloc (func_create_wrapper): Do not compile
10834         strerror.c and strerror-override.c. Erase stat.o and lstat.o.
10836 2016-11-19  Bruno Haible  <bruno@clisp.org>
10838         strerror: Make it compile in C++ mode.
10839         * lib/strerror.c (strerror): Ignore the return value of memcpy().
10841 2016-11-15  Pedro Alves  <palves@redhat.com>
10843         sys_time: add gnulib::timeval for C++
10844         * lib/sys_time.in.h [__cplusplus && defined GNULIB_NAMESPACE]:
10845         Define "timeval" in the GNULIB_NAMESPACE namespace, and #undef any
10846         timeval macro.
10848 2016-11-14  Pedro Alves  <palves@redhat.com>
10850         snippet/c++defs: fix real-floating arg functions in C++ mode
10851         Also, define isfinite, isinf, isnan, signbit in the gnulib
10852         namespace instead of in the global namespace.
10853         * build-aux/snippet/c++defs.h (_GL_BEGIN_NAMESPACE)
10854         (_GL_END_NAMESPACE): New.
10855         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_2): Use them.
10856         (isfinite, isinf, isnan, signbit) [__cplusplus &&
10857         GNULIB_NAMESPACE]: Define them in the GNULIB_NAMESPACE namespace
10858         instead of in the global namespace.
10859         * tests/test-math-c++.cc: Check that the isfinite, isinf, isnan,
10860         signbit overloads exist in the GNULIB_NAMESPACE namespace, instead
10861         of in the global namespace.
10863 2016-11-13  Jim Meyering  <meyering@fb.com>
10865         strftime: don't use __THROW
10866         Each use of __THROW would provoke this from gcc-7-to-be:
10868           lib/strftime.c:371:1: warning: '__leaf__' attribute has no effect \
10869             on unit local functions [-Wattributes]
10870           static int iso_week_days (int, int) __THROW;
10871           ^~~~~~
10872         * lib/strftime.c (__THROW): Don't define.
10873         Remove each use of __THROW.
10874         * lib/strftime.c (memcpy_lowcase, memcpy_uppcase): Remove __THROW.
10875         (tm_diff, iso_week_days, __strftime_internal): Likewise.
10877 2016-11-14  Paul Eggert  <eggert@union>
10879         obstack: port to gcc -fcheck-pointer-bounds
10880         Problem found by 'make check' failure on bleeding-edge coreutils
10881         on an MPX-enabled CPU (Intel Core i3-7100U) running GCC (Ubuntu
10882         6.2.0-5ubuntu12), configured via "./configure
10883         --enable-gcc-warnings CFLAGS='-mmpx -fcheck-pointer-bounds -g3
10884         -O2' LDFLAGS='-static-libmpx -static-libmpxwrappers'".
10885         * lib/obstack.h (__FLEXIBLE_ARRAY_MEMBER):
10886         New macro, copied from fts_.h.
10887         (struct _obstack_chunk.contents): Use it.
10889 2016-11-14  Eric Blake  <eblake@redhat.com>
10891         strerror_r-posix: Another fix, for HAVE_DECL_STRERROR_R on mingw.
10892         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R, gl_FUNC_STRERROR_R_WORKS):
10893         Avoid _ONCE variants, which may supply a conflicting AC_DEFINE().
10895 2016-11-14  Pádraig Brady  <P@draigBrady.com>
10897         strptime: fix compile error in recent change
10898         * lib/strptime.c (__strptime_internal): Fix ported code.
10900 2016-11-11  Bruno Haible  <bruno@clisp.org>
10902         gnulib-tool: Support for the dual "LGPLv3+ or GPLv2" license.
10903         * gnulib-tool (--lgpl): Accept value 3orGPLv2.
10904         (func_import): Extend determination of license_incompatibilities.
10905         (func_create_testdir): Extend table of license compatibility. Handle
10906         also the licenses GPLv3+, GPL, LGPLv3+.
10908 2016-11-12  Paul Eggert  <eggert@cs.ucla.edu>
10910         strftime: tune %q
10911         * lib/strftime.c (__strftime_internal): Assume tp->tm_mon is in range.
10913         Merge strftime.c changes from glibc
10914         This incorporates:
10915         2007-10-16 [BZ #5184] Add tzset_called argument
10916         2008-06-13 [BZ #6612] pass reference to tzset_called around
10917         2009-10-30 Implement Burmese language locale for Myanmar
10918         2010-01-09 Add support for XPG7 testing
10919         2015-09-26 [BZ #18985] out of range data to strftime() causes a segfault
10920         2015-10-20 Convert miscellaneous function definitions to prototype style
10921         * lib/strftime.c: Copy glibc license, since gnulib-tool rewrites
10922         it anyway and this lessens the difference between gnulib and glibc.
10923         (USE_IN_EXTENDED_LOCALE_MODEL) [_LIBC]: Define.
10924         (__THROW): Define if standard headers do not.
10925         (LOCALE_PARAM): Rename from LOCALE_PARAM_PROTO.  All uses changed.
10926         (memcpy_locase, memcpy_uppcase, tm_diff, __strftime_internal):
10927         Declare with __THROW.
10928         (__strftime_internal): Rename from strftime_case_. Add arg for
10929         whether tzset is called.  All uses changed.  Call tzset at most
10930         once.  Allow %OC, for Burmese.
10931         (a_wkday, f_wkday, a_month, f_month) [_NL_CURRENT]:
10932         Don't assume values are in range.
10934 2016-11-12  Eric Blake  <eblake@redhat.com>
10936         strerror_r-posix: Fix override of AC_FUNC_STRERROR_R
10937         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): New override.
10938         (gl_FUNC_STRERROR_R): Don't reuse AC_DEFINE() with a potentially
10939         different value.
10941 2006-11-12  Pedro Alves  <palves@redhat.com>
10943         Fix gnulib C++ namespace support and std::frexp
10944         * lib/math.in.h (frexp): Use _GL_CXXALIASWARN1 instead of
10945         _GL_CXXALIASWARN.
10947 2006-11-12  Pedro Alves  <palves@redhat.com>
10949         GNULIB_NAMESPACE::func need not pull in rpl_func
10950         * build-aux/snippet/c++defs.h [__cplusplus && GNULIB_NAMESPACE]
10951         (_GL_CXXALIAS_RPL_1, _GL_CXXALIAS_RPL_CAST_1, _GL_CXXALIAS_SYS)
10952         (_GL_CXXALIAS_SYS_CAST, _GL_CXXALIAS_SYS_CAST2): Define a wrapper
10953         struct instead of a function pointer.
10955 2016-11-09  Frediano Ziglio  <fziglio@redhat.com>
10957         manywarnings: fix -Wno-missing-field-initializers detection
10958         * m4/manywarnings.m4: Fix -Wno-missing-field-initializers detection
10959         to be independent of -Wunused-variable.  I.E. ensure the latter
10960         warning doesn't occur so that detection of the former is accurate.
10962 2016-11-05  Pádraig Brady  <pbrady@fb.com>
10964         strftime,strptime: support %q to represent the quarter
10965         * lib/strftime.c (strftime_case_): Add %q case.
10966         * lib/strptime.c (__strptime_internal): Likewise.
10967         * tests/test-strftime.c (quarter_test): A new test case.
10969 2016-11-03  Eric Blake  <eblake@redhat.com>
10971         bootstrap: Fix get_version() for AIX 5.3
10972         * build-aux/bootstrap (get_version): Factor out sed script, since
10973         indented comments choke AIX 5.3 sed.
10974         Reported-by: Michael Felt <aixtools@gmail.com>
10976 2016-11-03  Paul Eggert  <eggert@cs.ucla.edu>
10978         intprops: port to older XL C
10979         Problem reported by Alexander Samoilov in:
10980         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00166.html
10981         http://savannah.nongnu.org/bugs/?49448
10982         * lib/intprops.h (_GL_HAVE___TYPEOF__) [__IBM__TYPEOF__]:
10983         Define to 1 only for XL C 12.1 or later, since this bug
10984         occurs in XL C for AIX 6.0 but not in 12.1.
10986 2016-11-02  Pádraig Brady  <P@draigBrady.com>
10988         backupfile: initialize default suffix within the implementation
10989         * lib/backupfile.c (find_backup_file_name): Initialize the
10990         global variable here, to simplify usage, and to only call
10991         getenv() when needed.
10993 2016-11-01  Paul Eggert  <eggert@cs.ucla.edu>
10995         futimens: remove FIXME for old Linux kernels
10996         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Belatedy do a "simplify
10997         this in 2012" FIXME, like that for utimensat.
10999         utimensat: remove FIXME for old Linux kernels
11000         * lib/utimensat.c (rpl_utimensat): Update FIXME comment.
11001         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Belatedy do a "simplify
11002         this in 2012" FIXME, by assuming the file system bug is absent
11003         unless demonstrated to be present.  We no longer need to worry
11004         about Linux kernel 2.6.32 when building with newer kernels.
11006 2016-10-16  Bruno Haible  <bruno@clisp.org>
11008         qsort_r: Fix macrology for platforms that lack the function.
11009         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for qsort_r.
11010         (gl_STDLIB_H_DEFAULTS): Initialize HAVE_QSORT_R.
11011         * modules/stdlib (Makefile.am): Substitute HAVE_QSORT_R.
11012         * lib/stdlib.in.h (qsort_r): Provide declaration if the function does
11013         not exist.
11014         * m4/qsort_r.m4 (gl_FUNC_QSORT_R): Use AC_CHECK_FUNCS to test whether
11015         the function exists.
11016         * modules/qsort_r: Add comments.
11018 2016-10-26  Paul Eggert  <eggert@cs.ucla.edu>
11020         sys_types: fix Texinfo typos
11021         * doc/glibc-functions/gnu_dev_major.texi:
11022         * doc/glibc-functions/gnu_dev_makedev.texi:
11023         * doc/glibc-functions/gnu_dev_minor.texi: Fix typos.
11025 2016-10-26  John David Anglin  <dave.anglin@bell.net>
11027         getprogname: port to HP-UX
11028         See Bug#24805.
11029         * lib/getprogname.c (getprogname) [__hpux]: Port.
11030         * tests/test-getprogname.c (STREQ) [__hpux]:
11031         Special-case for HP-UX limitations on program name length.
11033 2016-10-20  Bruno Haible  <bruno@clisp.org>
11035         Update doc about target platforms.
11036         * doc/gnulib-intro.texi (Target Platforms): Update list.
11038 2016-10-15  Bruno Haible  <bruno@clisp.org>
11040         opendir, readdir, closedir: Relicense under LGPLv2+.
11041         * modules/opendir (License): Change to LGPLv2+.
11042         * modules/readdir (License): Likewise.
11043         * modules/closedir (License): Likewise.
11045 2016-10-16  Bruno Haible  <bruno@clisp.org>
11047         Fix conflict between strerror_r-posix module and AC_FUNC_STRERROR_R.
11048         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Override the values set by the
11049         AC_FUNC_STRERROR_R macro. Define HAVE_DECL_STRERROR_R_ORIG.
11050         * lib/strerror_r.c: Use HAVE_DECL_STRERROR_R_ORIG instead of
11051         HAVE_DECL_STRERROR_R.
11053 2016-10-16  Bruno Haible  <bruno@clisp.org>
11055         Make the 'argp' module work without the 'error' module.
11056         * m4/argp.m4 (gl_ARGP): Require AC_FUNC_STRERROR_R.
11058 2016-10-25  Paul Eggert  <eggert@cs.ucla.edu>
11060         diffseq: restore TOO_EXPENSIVE heuristic
11061         * lib/diffseq.h: Problem with diffutils reported by Andreas Schwab
11062         (Bug#24715).  The simplest solution is to restore the
11063         TOO_EXPENSIVE heuristic that I added to GNU diff in 1993, while
11064         using a higher threshold to avoid Bug#16848 on smaller files.
11065         * lib/diffseq.h (struct context): Restore member too_expensive.
11066         (struct partition): Restore members lo_minimal, hi_minimal.
11067         (diag, compareseq): Restore arg find_minimal.  All uses changed.
11068         (diag): Restore the TOO_EXPENSIVE heuristic that I added back in
11069         1993 to make 'diff' run faster (but not as well) on large inputs,
11070         but use a threshold of 4096 instead of the old 256.
11071         * lib/fstrcmp.c (strcmp_bounded):
11072         * lib/git-merge-changelog.c (compute_differences):
11073         Adjust to diffseq.h changes.
11075 2016-10-22  Bruno Haible  <bruno@clisp.org>
11077         iconv: Avoid compilation error when bootstrapping GNU libiconv.
11078         * m4/iconv.m4 (AM_ICONV): When the system does not have an iconv()
11079         declaration yet, define ICONV_CONST to empty.
11081 2016-10-15  Bruno Haible  <bruno@clisp.org>
11083         Avoid gnulib-tool warnings about the dependencies of 'parse-datetime'.
11084         * gnulib-tool (func_get_license): Special-case the 'parse-datetime'
11085         module.
11087 2016-10-16  Bruno Haible  <bruno@clisp.org>
11089         system-quote tests: Avoid compiler warning on AIX.
11090         * tests/test-system-quote-child.c (fopen): Redefine like the system's
11091         <stdio.h> does.
11093 2016-10-16  Bruno Haible  <bruno@clisp.org>
11095         Fix some "gcc -Wall" warnings.
11096         * tests/test-ffsl.c (main): Use variable x, not i.
11097         * tests/test-posix_spawn3.c (parent_main): Consider the return value of
11098         freopen.
11099         * tests/test-sethostname1.c (main): Explicitly ignore the return value
11100         of sethostname.
11102 2016-10-16  Bruno Haible  <bruno@clisp.org>
11104         gnulib-tool: Make --create-testdir on all modules work again.
11105         * gnulib-tool (func_create_testdir): Don't include the
11106         non-recursive-gnulib-prefix-hack module.
11108 2016-10-21  Daiki Ueno  <ueno@gnu.org>
11110         libunistring: change the maintainer to 'all'
11111         * modules/gen-uni-tables, modules/libunistring:
11112         * modules/ucs4-utf16, modules/ucs4-utf8, modules/unicodeio:
11113         * modules/unitypes, modules/utf16-ucs4, modules/utf16-ucs4-unsafe:
11114         * modules/utf8-ucs4, modules/utf8-ucs4-unsafe:
11115         * modules/unicase/*, modules/uniconv/*, modules/unictype/*:
11116         * modules/unilbrk/*, modules/uniname/*, modules/uninorm/*:
11117         * modules/unistdio/*, modules/unistr/*, modules/uniwbrk/*:
11118         * modules/uniwidth/*: Change the maintainer to 'all'.
11120 2016-10-16  Bruno Haible  <bruno@clisp.org>
11122         Simplify "configure: checking ..." messages.
11123         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use AC_MSG_CHECKING instead of
11124         AC_MSG_NOTICE.
11125         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
11127 2016-10-20  Paul Eggert  <eggert@cs.ucla.edu>
11129         quotearg-tests: pacify gcc -Wall
11130         Problem reported by Bruno Haible in:
11131         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00066.html
11132         * tests/test-quotearg-simple.c (use_quote_double_quotes): Move here ...
11133         * tests/test-quotearg.h: ... from here.
11135 2016-10-20  Pádraig Brady  <P@draigBrady.com>
11137         canonicalize-lgpl: fix for missing SIZE_MAX on older systems
11138         * lib/canonicalize-lgpl.c [SIZE_MAX]: Define if needed.
11139         Needed on Centos <= 4.
11141 2016-10-20  Jim Meyering  <meyering@fb.com>
11143         printf.m4: fix a bug in detecting printf %j support
11144         * m4/printf.m4 (gl_PRINTF_SIZES_C99): Fail any system for which
11145         uintmax_t is defined in neither stdint.h nor inttypes.h.
11146         Before, this macro might have mistakenly set
11147         gl_cv_func_printf_sizes_c99=yes on such a system.
11148         Spotted by Zev Weiss.
11150 2016-10-19  Paul Eggert  <eggert@cs.ucla.edu>
11152         sched: substitute HAVE_SYS_CDEFS_H too
11153         Problem reported by Tom G. Christensen in:
11154         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00084.html
11155         * m4/sched_h.m4 (gl_SCHED_H): Set and substitute HAVE_SYS_CDEFS_H.
11156         * modules/sched (Depends-on): Substitute HAVE_SYS_CDEFS_H.
11158 2016-10-19  Pádraig Brady  <P@draigBrady.com>
11160         quotearg: never write beyond the returned length
11161         * lib/quotearg.c (quotearg_buffer_restyled): Switch to a read-only
11162         scan of the string when we initially encounter a single quote when
11163         shell quoting, so that if we then switch to a more concise quoting method
11164         we will not have written beyond that returned length.
11165         This is significant for sh-quote, which has separate routines
11166         to determine the length and do the actual quoting.
11167         * tests/test-quotearg.h: Reinstate the buffer bounds checking
11168         now that we never write more than the returned length.
11170 2016-10-18  Bruno Haible  <bruno@clisp.org>
11172         getprogname tests: Avoid failure in packages that use libtool.
11173         * tests/test-getprogname.c (main): Strip "lt-" prefix.
11174         Based on a patch by Jim Meyering.
11176 2016-10-16  Bruno Haible  <bruno@clisp.org>
11178         getprogname: Fix test failure on Cygwin. Comments.
11179         * lib/getprogname.h: Add comments.
11180         * lib/getprogname.c: Add comments. Fix #elif indentation.
11181         * tests/test-getprogname.c (main): On Cygwin, expect a result without
11182         ".exe" suffix.
11184 2016-10-16  Bruno Haible  <bruno@clisp.org>
11186         Make sure the libunistring detection rejects older versions with a
11187         known bug.
11188         * modules/unistr/u8-strtok (configure.ac): Bump required version.
11189         * modules/unistr/u16-strtok (configure.ac): Likewise.
11190         * modules/unistr/u32-strtok (configure.ac): Likewise.
11192 2016-10-18  Bruno Haible  <bruno@clisp.org>
11194         sh-quote, system-quote: revert regression of unit test.
11195         * tests/test-sh-quote.c (check_one): Do detect buffer overruns.
11196         * tests/test-system-quote-main.c (check_one): Likewise.
11198 2016-10-16  Pádraig Brady  <P@draigBrady.com>
11200         quotearg: fix stale tests
11201         * tests/test-quotearg.c [locale_results]: Add the missing str7
11202         entries to the expected results.
11203         * tests/test-system-quote-main.c (check_one): Don't enforce that we
11204         don't write beyond the returned length, since that's no longer the
11205         case if we switch to a more concise quoting style.
11206         * tests/test-sh-quote.c (check_one): Likewise.
11207         (main): Adjust for the new more concise quoting style.
11208         Reported by Bruno Haible.
11210 2016-10-16  Jim Meyering  <meyering@fb.com>
11212         non-recursive-gnulib-prefix-hack: fix inconsequential typo
11213         * m4/non-recursive-gnulib-prefix-hack.m4: Change a hard-coded "lib"
11214         to "$1".  This macro is always invoked with $1 == lib.
11215         Spotted by Bruno Haible
11217 2016-10-16  Bruno Haible  <bruno@clisp.org>
11219         Fix a test crash.
11220         * tests/test-duplocale.c (main): Skip the test if the 'newlocale' call
11221         fails.
11223 2016-10-16  Pádraig Brady  <P@draigBrady.com>
11225         test-limits-h: suppress -Woverlength-strings
11226         * tests/test-limits-h.c [__GNUC__]: Ignore -Woverlength-strings.
11228 2016-10-15  Bruno Haible  <bruno@clisp.org>
11230         gettime, timespec, utimens: Relicense under LGPL.
11231         * modules/gettime (License): Change to LGPL.
11232         * modules/timespec (License): Likewise.
11233         * modules/utimens (License): Likewise.
11235 2016-10-14  Bruno Haible  <bruno@clisp.org>
11236             Pádraig Brady  <P@draigBrady.com>
11238         canonicalize-lgpl: Support the case path_max > INT_MAX.
11239         * lib/canonicalize-lgpl.c (__realpath): Declare n as ssize_t, not int.
11240         Fix overflow check, for platforms where 'size_t' is larger than 'long'.
11242 2016-10-13  Jim Meyering  <meyering@fb.com>
11244         getprogname: IBM z/OS: avoid NULL-dereference
11245         * lib/getprogname.c (getprogname) [__MVS__]: Don't dereference NULL
11246         upon strdup failure.
11248 2016-10-12  Jim Meyering  <meyering@fb.com>
11250         test-stdint: use _GL_VERIFY rather than "verify" for some tests
11251         * tests/test-stdint.c (verify_width): Implement with _GL_VERIFY
11252         and an abbreviated diagnostic rather than verify with the full one,
11253         because the full-length strings would evoke warnings from gcc with
11254         -Woverlength-strings.
11256 2016-10-13  Paul Eggert  <eggert@cs.ucla.edu>
11258         stdint: port SIZE_MAX to glibc s390
11259         Problem reported by Eric Blake in:
11260         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00031.html
11261         * doc/posix-headers/stdint.texi (stdint.h): Document the fix.
11262         * m4/stdint.m4 (gl_STDINT_H): Check that SIZE_MAX has the
11263         correct type, if possible.
11265 2016-10-13  Daniel Richard G.  <skunk@iSKUNK.ORG>
11267         getprogname: port to IBM z/OS
11268         * lib/getprogname.c (getprogname): Use w_getpsent() to get the name.
11270 2016-10-11  Jim Meyering  <meyering@fb.com>
11272         maint: remove stray space after "." in AC_DEFINE comment.
11273         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Remove space-after-".".
11274         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
11276 2016-10-05  Jim Meyering  <meyering@fb.com>
11278         long-options: avoid new GCC 7 warning from -Wimplicit-fallthrough
11279         * lib/long-options.c (parse_long_options): Add a break statement
11280         to avoid this new warning/failure:
11281         $ CFLAGS='-O -Werror=implicit-fallthrough' ./gnulib-tool \
11282           --create-testdir --dir=/t/x --with-tests --test long-options
11283         ../../gllib/long-options.c: In function 'parse_long_options':
11284         ../../gllib/long-options.c:66:12: error: this statement may \
11285           fall through [-Werror=implicit-fallthrough]
11286                    (*usage_func) (EXIT_SUCCESS);
11287                    ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
11289 2016-10-05  Jim Meyering  <meyering@fb.com>
11291         utimecmp: avoid new GCC 7 warning from -Wbool-operation
11292         Testing this module would fail when using GCC 7 like this:
11293         $ CFLAGS='-O -Werror=bool-operation' ./gnulib-tool --create-testdir \
11294           --dir=/tmp/x --with-tests --test utimecmp
11295         ../../gllib/utimecmp.c: In function ‘utimecmp’:
11296         ../../gllib/utimecmp.c:291:36: error: ‘~’ on a boolean expression \
11297           [-Werror=bool-operation]
11298                          time_t s = src_s & ~ (res == 2 * BILLION);
11299                                             ^
11300         ../../gllib/utimecmp.c:370:16: error: ‘~’ on a boolean expression \
11301           [-Werror=bool-operation]
11302                src_s &= ~ (res == 2 * BILLION);
11303                         ^
11304         * lib/utimecmp.c (utimecmp): Do not apply "~" to a boolean.
11305         Instead, make it explicit that we intend to apply it to 0 or 1.
11307 2016-10-10  Norihiro Tanaka  <noritnk@kcn.ne.jp>
11309         dfa: save memory for states
11310         * src/dfa (dfaexec_main): Beginning of dfa execution, release caches of
11311         states if dfa has a lot of caches.
11313 2016-10-10  Eli Zaretskii  <eliz@gnu.org>
11315         wchar, wctype-h: fix for MinGW 3.22.2
11316         * lib/wchar.in.h [__MINGW32__]: Add one more condition for
11317         special invocation, to fix issues with MinGW 3.22.2 wchar.h
11318         when included from <string.h>.
11319         * lib/wctype.in.h [__MINGW32__]: Add special invocation
11320         convention for MinGW 3.22.2, to solve issues with their
11321         wctype.h when included from <ctype.h>.
11323 2016-10-05  Jim Meyering  <meyering@fb.com>
11325         long-options: avoid new GCC 7 warning from -Wimplicit-fallthrough
11326         * lib/long-options.c (parse_long_options): Add a break statement
11327         to avoid this new warning/failure:
11328         $ CFLAGS='-O -Werror=implicit-fallthrough' ./gnulib-tool \
11329           --create-testdir --dir=/t/x --with-tests --test long-options
11330         ../../gllib/long-options.c: In function ‘parse_long_options’:
11331         ../../gllib/long-options.c:66:12: error: this statement may \
11332           fall through [-Werror=implicit-fallthrough]
11333                    (*usage_func) (EXIT_SUCCESS);
11334                    ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
11336         utimecmp: avoid new GCC 7 warning from -Wbool-operation
11337         Testing this module would fail when using GCC 7 like this:
11338         $ CFLAGS='-O -Werror=bool-operation' ./gnulib-tool --create-testdir \
11339           --dir=/tmp/x --with-tests --test utimecmp
11340         ../../gllib/utimecmp.c: In function ‘utimecmp’:
11341         ../../gllib/utimecmp.c:291:36: error: ‘~’ on a boolean expression \
11342           [-Werror=bool-operation]
11343                          time_t s = src_s & ~ (res == 2 * BILLION);
11344                                             ^
11345         ../../gllib/utimecmp.c:370:16: error: ‘~’ on a boolean expression \
11346           [-Werror=bool-operation]
11347                src_s &= ~ (res == 2 * BILLION);
11348                         ^
11349         * lib/utimecmp.c (utimecmp): Do not apply "~" to a boolean.
11350         Instead, make it explicit that we intend to apply it to 0 or 1.
11352 2016-10-03  Pádraig Brady  <P@draigBrady.com>
11354         quotearg: minimize shell quoting using double quotes
11355         * lib/quotearg.c (quotearg_buffer_restyled): If an ASCII single
11356         quote in encountered then use double quotes (c style quoting)
11357         when possible, as it simplifies the quoting.
11358         * tests/test-quotearg-simple.c: Add test cases.
11359         * tests/test-quotearg.h (use_quotearg_buffer): Adjust to account
11360         for the fact we now may write beyond the returned length.
11362 2016-10-02  Jim Meyering  <meyering@fb.com>
11364         vasnprintf.c: avoid spurious warning from GCC 7
11365         The presence of cpp directives renders this "FALLTHROUGH" comment
11366         ineffective, so does not suppress the -Wimplicit-fallthrough warning
11367         from GCC 7 built from git on 2016-10-02.
11368         * lib/vasnprintf.c (VASNPRINTF): Move comment down past two cpp
11369         directives, so that it takes effect once again.  This is clearly
11370         not a proper change, and I will revert it once this bug is fixed:
11371         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77817
11373 2016-10-01  Jim Meyering  <meyering@fb.com>
11375         getprogname: correct the test for a __progname variable
11376         * m4/getprogname.m4 (gl_FUNC_GETPROGNAME): Use AC_CACHE_CHECK
11377         and AC_LINK_IFELSE to check for a global __progname.  If found,
11378         define HAVE_VAR___PROGNAME.
11379         * lib/getprogname.c (getprogname): Reflect the new name of the
11380         feature- checked preprocessor symbol:
11381         s/HAVE_DECL___PROGNAME/HAVE_VAR___PROGNAME/
11383 2016-09-28  Jim Meyering  <meyering@fb.com>
11385         u8-uctomb-aux.c: build: placate GCC 7's new -Wimplicit-fallthrough
11386         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Mark each end of
11387         fall-through case with a /* fallthrough */ comment.
11389         dfa: build: avoid warning from GCC 7's new -Wimplicit-fallthrough
11390         * lib/dfa.c (dfassbuild): Mark the end of this case with a
11391         /* fallthrough */ comment.
11393         getprogname: avoid __progname vs program_invocation_short_name pitfall
11394         I.e., don't let the OpenBSD 5.1 fix induce failure when using newer
11395         glibc.  Would have caused failure with Fedora 25's glibc-2.24-3, but
11396         not with Fedora 24's glibc-2.23.1-10.
11397         * lib/getprogname.c (__progname): Move this declaration down...
11398         (getprogname): ... into the #elif block where used, and make it
11399         explicitly "extern".
11401         getprogname: port to OpenBSD 5.1
11402         * lib/getprogname.c (__progname) [HAVE_DECL___PROGNAME]: Declare.
11403         (getprogname) [HAVE_DECL___PROGNAME]: Return __progname or "?".
11404         * modules/getprogname (configure.ac): Move most of this code...
11405         * m4/getprogname.m4 (gl_FUNC_GETPROGNAME): ... to this function,
11406         increment serial number, and add a test for __progname.
11407         https://bugs.gnu.org/24562
11408         Reported by Nelson H. F. Beebe.
11410 2016-09-24  Paul Eggert  <eggert@cs.ucla.edu>
11412         sched: port to GCC 6.2.1 on macOS Sierra
11413         Problem reported by Denis Davydov in:
11414         http://lists.gnu.org/r/bug-gnulib/2016-09/msg00056.html
11415         * lib/sched.in.h [HAVE_SYS_CDEFS_H]:
11416         Include <sys/cdefs.h> before <sched.h>.
11417         * m4/nproc.m4 (gl_PREREQ_NPROC): Include errno.h before sched.h,
11418         so that we needn’t worry about the sched.h include bug here.
11419         * m4/sched_h.m4 (gl_SCHED_H): Check for sys/cdefs.h,
11420         and include it before <sched.h> if it exists, when
11421         checking for <sched.h>.
11423         tests/init.sh: port Alpine fix to AIX 7.1
11424         * tests/init.sh (compare_): When attempting to use diff -U3,
11425         prefer diff -u to -U3 to -c to plain diff.  Do not insist on
11426         diff -u not outputting a space after leading '+', as the users
11427         of 'compare' should not be that picky about its output format.
11428         In the AIX 7.1 case, return with diff exit status (or with 2 if
11429         trouble), instead of some random nonzero exit status.
11430         * tests/test-init.sh (test_compare): Remove space after leading
11431         '+', so that AIX 7.1 'diff' passes the test.
11433 2016-09-22  Paul Eggert  <eggert@cs.ucla.edu>
11435         nl_langinfo: pacify GCC
11436         * lib/nl_langinfo.c (ctype_codeset): Remove unused local.
11437         (rpl_nl_langinfo): Cast string literals to char *, to pacify GCC.
11439         stdint: also set GL_GENERATE_LIMITS_H
11440         Problem reported by Jim Meyering in:
11441         http://lists.gnu.org/r/bug-gnulib/2016-09/msg00052.html
11442         * m4/stdint.m4 (gl_STDINT_H): Also redo the AM_CONDITIONAL.
11444         limits-h, stdint: Don't assume extensions, fix typo
11445         * m4/limits-h.m4 (gl_LIMITS_H):
11446         * m4/stdint.m4 (gl_STDINT_H):
11447         Don't assume AC_USE_SYSTEM_EXTENSIONS.
11448         * m4/stdint.m4 (gl_STDINT_H): Fix typo in setting of LIMITS_H,
11449         reported by Jim Meyering in:
11450         http://lists.gnu.org/r/bug-gnulib/2016-09/msg00050.html
11452 2016-09-21  Jim Meyering  <meyering@fb.com>
11454         getprogname: port to AIX
11455         * lib/getprogname.c (getprogname) [_AIX]: Use getpid, getprocs64
11456         and strdup to obtain a short program name string.  Using code from
11457         Bruno Haible and an idea from Bastien ROUCARIÈS, in
11458         https://lists.gnu.org/r/bug-gnulib/2010-12/msg00249.html
11459         Assaf Gordon reported that this new file would fail to compile on
11460         AIX-7.1 32bit.
11462 2016-09-16  Paul Eggert  <eggert@cs.ucla.edu>
11464         extensions: fix typo in comment
11465         * m4/extensions.m4: Sync from Autoconf master.
11467         stdint: support new _WIDTH macros
11468         * doc/posix-headers/stdint.texi: Document this.
11469         * lib/stdint.in.h: Add support for INTMAX_WIDTH. etc.
11470         * m4/stdint.m4 (gl_STDINT_H): Require gl_LIMITS_H.  Check for
11471         support for INTMAX_WIDTH, etc. as well as for support for just C99.
11472         * modules/stdint (Depends-on): Add limits-h.
11473         (Makefile.am): Substitute HAVE_C99_STDINT_H.
11474         * modules/stdint-tests (Depends-on): Add extensions, so that
11475         INTMAX_MAX etc. are defined.
11476         * tests/test-stdint.c: Verify the new macros.
11478         limits-h: new module
11479         This adds ISO/IEC TS 18661-1:2014 support to limits.h.
11480         * MODULES.html.sh: Add limits-h,and move size_max to stdint section.
11481         * doc/posix-headers/limits.texi: Document new module.
11482         * lib/limits.in.h, m4/limits-h.m4, modules/limits-h:
11483         * modules/limit-h-tests, tests/test-limits-h.c: New files.
11485         stdio: don't redefine __USE_MINGW_ANSI_STDIO
11486         * m4/stdio_h.m4 (gl_STDIO_H): Don't define __USE_MINGW_ANSI_STDIO
11487         if it is already defined.  Apparently GNU Emacs relies on this.  See:
11488         http://lists.gnu.org/r/emacs-devel/2016-09/msg00416.html
11490 2016-09-15  Eric Blake  <eblake@redhat.com>
11492         sys_types: avoid glibc 2.25 warnings about major()
11493         * m4/sys_types_h.m4 (AC_HEADER_MAJOR): Replace broken version in
11494         older autoconf.
11495         * doc/posix-headers/sys_types.texi (sys/types.h): Document fix.
11496         * doc/glibc-functions/gnu_dev_major.texi (gnu_dev_major): Likewise.
11497         * doc/glibc-functions/gnu_dev_makedev.texi (gnu_dev_makedev): Likewise.
11498         * doc/glibc-functions/gnu_dev_minor.texi (gnu_dev_minor): Likewise.
11500         mountlist: include sysmacros.h for glibc
11501         * m4/mountlist.m4 (gl_PREREQ_MOUTLIST_EXTRA): Include
11502         AC_HEADER_MAJOR.
11503         * lib/mountlist.c (includes): Use correct headers.
11505 2016-09-15  Paul Eggert  <eggert@cs.ucla.edu>
11507         extensions: port to more ISO C TSes
11508         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Sync from Autoconf
11509         master, to add support for more recent ISO C TRs and TSes.
11511 2016-09-13  Paul Eggert  <eggert@cs.ucla.edu>
11513         intprops: new macro TYPE_WIDTH
11514         * lib/intprops.h (TYPE_WIDTH): New macro.
11515         (TYPE_MAXIMUM, _GL_SIGNED_INT_MAXIMUM, INT_STRLEN_BOUND):
11516         * lib/ftoastr.h (_GL_FLOAT_DIG_BITS_BOUND):
11517         * lib/parse-datetime.y (parse_datetime2):
11518         Use it.
11520         extensions: port to recent ISO C TRs
11521         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
11522         Sync from Autoconf master, to add support for recent ISO C TRs.
11523         * m4/stdio_h.m4 (gl_STDIO_H): Define __USE_MINGW_ANSI_STDIO here,
11524         since AC_USE_SYSTEM_EXTENSIONS no longer does that as
11525         the MinGW option is not an extension.
11527 2016-09-11  Paul Eggert  <eggert@cs.ucla.edu>
11529         dfa: port to Solaris 9
11530         Problems reported by Tom G. Christensen in:
11531         http://lists.gnu.org/r/bug-gnulib/2016-09/msg00031.html
11532         * modules/dfa (Depends-on): Add isblank.
11533         * modules/dfa-tests (dfa_match_aux_LDADD):
11534         Rename from test_stat_LDADD, to fix typo.
11535         * tests/dfa-match.sh: Don't require 'timeout'; use it if available.
11537 2016-09-10  Jim Meyering  <meyering@fb.com>
11539         strverscmp: avoid link failure on OS X
11540         * lib/strverscmp.c [!weak_alias]: Define __strverscmp to strverscmp.
11541         Reported by Assaf Gordon in https://bugs.gnu.org/24256#26
11543 2016-08-16  Jim Meyering  <meyering@fb.com>
11545         dfa: new module, importing grep's DFA matcher
11546         Since grep's DFA matcher is now being used by two gnulib-enabled
11547         projects, grep and sed, it makes sense to version-control its
11548         sources and unit tests in one place: here.
11549         * modules/dfa: New module.
11550         * modules/dfa-tests: New file.
11551         * lib/dfa.c: New file, from grep.
11552         * lib/dfa.h: Likewise.
11553         * lib/localeinfo.c: Likewise.
11554         * lib/localeinfo.h: Likewise.
11555         * tests/dfa-match-aux.c: Likewise.
11556         * tests/dfa-invalid-char-class.sh: Likewise.
11557         * tests/dfa-match.sh: Likewise, with minor changes.
11558         * MODULES.html.sh (Misc): Add "dfa" to this list.
11560 2016-09-09  Jim Meyering  <meyering@fb.com>
11562         getprogname-tests: don't depend on assert-h
11563         * modules/getprogname-tests (Depends-on): Remove assert-h.
11564         It was not needed, and in fact would cause build failure for
11565         coreutils on some systems.  Reported by Assaf Gordon in https:
11566         //lists.gnu.org/r/coreutils/2016-09/msg00016.html
11568 2016-09-07  Jim Meyering  <meyering@fb.com>
11570         getprogname-tests: work also when EXEEXT is nonempty
11571         * modules/getprogname-tests (Makefile.am): Define EXEEXT.
11572         * tests/test-getprogname.c (main): Use it.
11573         Suggested by Gisle Vanem.
11575 2016-09-07  Gisle Vanem  <gvanem@yahoo.no>
11577         getprogname: fix errors in previous change
11578         * lib/getprogname.c (getprogname) [HAVE_GETEXECNAME]:
11579         s/program_invocation_name/base/
11580         [HAVE_DECL___ARGV]: Handle NULL __argv or __argv[0].
11582 2016-09-08  Pádraig Brady  <P@draigBrady.com>
11584         parse-datetime: restrict debug output to input string
11585         * lib/parse-datetime.y (parse_datetime2): If we parse
11586         all of the input but determine it's invalid, ensure
11587         we don't output the now invalid input pointer.
11588         This issue was seen with `date -d 'now +1'`.
11590 2016-09-07  Paul Eggert  <eggert@cs.ucla.edu>
11592         flexmember: new macro FLEXALIGNOF
11593         * lib/flexmember.h: Include <stddef.h>, for offsetof.
11594         (FLEXALIGNOF): Rename from _GL_XALLOC_ALIGNOF, as Emacs can use
11595         this macro.  Update comments.
11597 2016-09-07  Jim Meyering  <meyering@fb.com>
11599         getprogname: port to systems with __argv (mingw, msvc)
11600         * lib/getprogname.c (getprogname): Include "dirname.h" and use
11601         last_component: more general than open coding it with hard-coded "/".
11602         * lib/getprogname.h (getprogname): Prefer "char const *" consistently.
11603         * modules/getprogname (Depends-on): Add dirname-lgpl.
11604         (configure.ac): Check for __argv in <stdlib.h>.
11605         * modules/getprogname-tests: New file.
11606         * tests/test-getprogname.c: New file.
11607         Suggested by Gisle Vanem in
11608         https://lists.gnu.org/r/bug-gnulib/2016-09/msg00014.html
11610 2016-09-07  Paul Eggert  <eggert@cs.ucla.edu>
11612         flexmember: port better to GCC + valgrind
11613         With a char[] flexible array member in a struct with nontrivial
11614         alignment, GCC-generated code can access past the end of the
11615         array, because GCC assumes there are padding bytes to get the
11616         struct aligned.  So the common idiom of malloc (offsetof (struct
11617         s, m), n) does not properly allocate an n-byte trailing member, as
11618         malloc’s argument should be the next multiple of alignof (struct s).
11619         See GCC Bug#66661: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66661
11620         Although C11 apparently permits this GCC optimization (i.e., there
11621         was a bug in Gnulib not in GCC), possibly this is a defect in C11.
11622         See the thread containing:
11623         https://gcc.gnu.org/ml/gcc-patches/2016-09/msg00317.html
11624         * lib/flexmember.h: New file.
11625         * lib/fnmatch.c, lib/fts.c, lib/glob.c, lib/idcache.c:
11626         * lib/localename.c, lib/time_rz.c:
11627         Include flexmember.h.
11628         * lib/fnmatch_loop.c (struct patternlist):
11629         * lib/localename.c (struct hash_node):
11630         Use FLEXIBLE_ARRAY_MEMBER.
11631         * lib/fnmatch_loop.c (EXT):
11632         * lib/fts.c (fts_alloc):
11633         * lib/glob.c (glob_in_dir):
11634         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
11635         * lib/localename.c (gl_lock_define_initialized):
11636         * lib/time_rz.c (tzalloc):
11637         Use FLEXSIZEOF instead of offsetof.
11638         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
11639         Check that the size of the struct can be taken.
11640         * modules/flexmember (Files): Add lib/flexmember.h.
11641         * modules/fnmatch, modules/glob, modules/localename (Depends-on):
11642         Add flexmember.
11644 2016-09-06  Paul Eggert  <eggert@cs.ucla.edu>
11646         getprogname: port to Solaris 10
11647         * lib/getprogname.c: Include stdlib.h, for getexecname decl.
11648         (getprogname) [HAVE_GETEXECNAME]: Use that, for Solaris 10.
11649         * m4/getprogname.m4 (gl_FUNC_GETPROGNAME): Check for getexecname.
11651         stdalign: correct mistake in alignof doc
11652         Problem reported by Joseph Myers in:
11653         https://gcc.gnu.org/ml/gcc-patches/2016-09/msg00340.html
11654         * doc/posix-headers/stdalign.texi: Do not imply that C11 prohibits
11655         alignof(S) where S is a structure containing a flexible array
11656         member.  The Gnulib substitute does not support this, but C11 does.
11658 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
11660         main.mk: remove sc_program_name, since there is no more need to
11661         use set_program_name in tools (getprogname is enough for most
11662         of the cases).
11663         * cfg.mk (local-checks-to-skip): Remove sc_program_name.
11664         * top/maint.mk (sc_program_name): Remove.
11666 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
11668         Port tests away from progname, since modules that need the
11669         program name already depend on getprogname.
11670         * modules/acl-tests (Depends-on): Remove progname.
11671         * modules/argmatch (Depends-on): Likewise.
11672         * modules/argmatch-tests (Depends-on): Likewise.
11673         * modules/argp-tests (Depends-on): Likewise.
11674         * modules/argp-version-etc-tests (Depends-on): Likewise.
11675         * modules/array-list-tests (Depends-on): Likewise.
11676         * modules/array-oset-tests (Depends-on): Likewise.
11677         * modules/avltree-list-tests (Depends-on): Likewise.
11678         * modules/avltree-oset-tests (Depends-on): Likewise.
11679         * modules/avltreehash-list-tests (Depends-on): Likewise.
11680         * modules/carray-list-tests (Depends-on): Likewise.
11681         * modules/copy-file-tests (Depends-on): Likewise.
11682         * modules/exclude-tests (Depends-on): Likewise.
11683         * modules/fchownat-tests (Depends-on): Likewise.
11684         * modules/fdopendir-tests (Depends-on): Likewise.
11685         * modules/filenamecat-tests (Depends-on): Likewise.
11686         * modules/fstatat-tests (Depends-on): Likewise.
11687         * modules/fstrcmp-tests (Depends-on): Likewise.
11688         * modules/linked-list-tests (Depends-on): Likewise.
11689         * modules/linkedhash-list-tests (Depends-on): Likewise.
11690         * modules/mkdirat-tests (Depends-on): Likewise.
11691         * modules/nonblocking-pipe-tests (Depends-on): Likewise.
11692         * modules/nonblocking-socket-tests (Depends-on): Likewise.
11693         * modules/obstack-printf-tests (Depends-on): Likewise.
11694         * modules/openat-tests (Depends-on): Likewise.
11695         * modules/parse-datetime-tests (Depends-on): Likewise.
11696         * modules/pipe-filter-gi-tests (Depends-on): Likewise.
11697         * modules/pipe-filter-ii-tests (Depends-on): Likewise.
11698         * modules/quotearg-simple-tests (Depends-on): Likewise.
11699         * modules/quotearg-tests (Depends-on): Likewise.
11700         * modules/rbtree-list-tests (Depends-on): Likewise.
11701         * modules/rbtree-oset-tests (Depends-on): Likewise.
11702         * modules/rbtreehash-list-tests (Depends-on): Likewise.
11703         * modules/spawn-pipe-tests (Depends-on): Likewise.
11704         * modules/system-quote-tests (Depends-on): Likewise.
11705         * modules/uniname/uniname-tests (Depends-on): Likewise.
11706         * modules/uninorm/nfc-tests (Depends-on): Likewise.
11707         * modules/uninorm/nfd-tests (Depends-on): Likewise.
11708         * modules/uninorm/nfkc-tests (Depends-on): Likewise.
11709         * modules/uninorm/nfkd-tests (Depends-on): Likewise.
11710         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Likewise.
11711         * modules/unistdio/u16-vsprintf-tests (Depends-on): Likewise.
11712         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Likewise.
11713         * modules/unistdio/u32-vsprintf-tests (Depends-on): Likewise.
11714         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Likewise.
11715         * modules/unistdio/u8-vsprintf-tests (Depends-on): Likewise.
11716         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Likewise.
11717         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Likewise.
11718         * modules/unlinkat-tests (Depends-on): Likewise.
11719         * modules/version-etc-tests (Depends-on): Likewise.
11720         * modules/xalloc-die-tests (Depends-on): Likewise.
11721         * modules/xmemdup0-tests (Depends-on): Likewise.
11722         * modules/xprintf-posix-tests (Depends-on): Likewise.
11723         * modules/xvasprintf-tests (Depends-on): Likewise.
11724         * tests/test-argmatch.c: Do not include progname.h.
11725         (main) Stop calling set_program_name.
11726         * tests/test-argp-version-etc.c: Likewise.
11727         * tests/test-argp.c: Likewise.
11728         * tests/test-argv-iter.c: Likewise.
11729         * tests/test-array_list.c: Likewise.
11730         * tests/test-array_oset.c: Likewise.
11731         * tests/test-avltree_list.c: Likewise.
11732         * tests/test-avltree_oset.c: Likewise.
11733         * tests/test-avltreehash_list.c: Likewise.
11734         * tests/test-carray_list.c: Likewise.
11735         * tests/test-copy-acl.c: Likewise.
11736         * tests/test-copy-file.c: Likewise.
11737         * tests/test-exclude.c: Likewise.
11738         * tests/test-fchownat.c: Likewise.
11739         * tests/test-fdopendir.c: Likewise.
11740         * tests/test-filenamecat.c: Likewise.
11741         * tests/test-fstatat.c: Likewise.
11742         * tests/test-fstrcmp.c: Likewise.
11743         * tests/test-linked_list.c: Likewise.
11744         * tests/test-linkedhash_list.c: Likewise.
11745         * tests/test-mkdirat.c: Likewise.
11746         * tests/test-nonblocking-pipe-main.c: Likewise.
11747         * tests/test-nonblocking-socket-main.c: Likewise.
11748         * tests/test-obstack-printf.c: Likewise.
11749         * tests/test-openat.c: Likewise.
11750         * tests/test-parse-datetime.c: Likewise.
11751         * tests/test-pipe-filter-gi1.c: Likewise.
11752         * tests/test-pipe-filter-gi2-main.c: Likewise.
11753         * tests/test-pipe-filter-ii1.c: Likewise.
11754         * tests/test-pipe-filter-ii2-main.c: Likewise.
11755         * tests/test-quotearg-simple.c: Likewise.
11756         * tests/test-quotearg.c: Likewise.
11757         * tests/test-rbtree_list.c: Likewise.
11758         * tests/test-rbtree_oset.c: Likewise.
11759         * tests/test-rbtreehash_list.c: Likewise.
11760         * tests/test-sameacls.c: Likewise.
11761         * tests/test-set-mode-acl.c: Likewise.
11762         * tests/test-spawn-pipe-main.c: Likewise.
11763         * tests/test-system-quote-main.c: Likewise.
11764         * tests/test-unlinkat.c: Likewise.
11765         * tests/test-version-etc.c: Likewise.
11766         * tests/test-xalloc-die.c: Likewise.
11767         * tests/test-xfprintf-posix.c: Likewise.
11768         * tests/test-xmemdup0.c: Likewise.
11769         * tests/test-xprintf-posix.c: Likewise.
11770         * tests/test-xvasprintf.c: Likewise.
11771         * tests/uniname/test-uninames.c: Likewise.
11772         * tests/uninorm/test-u32-nfc-big.c: Likewise.
11773         * tests/uninorm/test-u32-nfd-big.c: Likewise.
11774         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
11775         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
11776         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
11777         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
11778         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
11779         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
11780         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
11781         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
11782         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
11783         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
11784         * tests/test-c-stack.c: (program_name): Do not define.
11785         (main): Do not set program_name.
11786         * tests/test-closein.c: Likewise.
11787         * tests/test-xstrtol.c: Likewise.
11788         * tests/test-yesno.c: Likewise.
11790 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
11792         Port modules to use getprogname explicitly, instead of requiring
11793         progname to be used (or program_name to be provided).
11794         * lib/argmatch.c: Do not include progname.h.
11795         [TEST] (program_name): Do not define.
11796         [TEST] (main): Call getprogname instead of using program_name.
11797         * lib/c-stack.c: Do not include progname.h.
11798         (program_name): Do not define.
11799         (die): Call getprogname instead of using program_name.
11800         * lib/chdir-long.c: Do not include progname.h.
11801         [TEST_CHDIR] (main): Do not set program_name.
11802         * lib/error.c [!_LIBC]: Include progname.h.
11803         [!_LIBC] (program_name): Define using getprogname.
11804         * lib/euidaccess.c: Do not include progname.h.
11805         [TEST] (main): Do not set program_name.
11806         * lib/git-merge-changelog.c: Include getprogname.h instead of
11807         progname.h.
11808         (usage): Call getprogname instead of using program_name.
11809         (main): Likewise.  Stop calling set_program_name.
11810         * lib/group-member.c: Do not include progname.h.
11811         [TEST] (main): Do not set program_name.
11812         * modules/argmatch (Depends-on): Add getprogname.
11813         * modules/c-stack (Depends-on): Likewise.
11814         * modules/error (Depends-on): Likewise.
11815         * modules/git-merge-changelog (Depends-on): Likewise.
11816         Also remove progname.
11818 2016-09-05  Pino Toscano  <ptoscano@redhat.com>
11820         * NEWS: Document the deprecation of the 'progname' module.
11822 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
11824         getprogname: new module
11825         This provides a LGPL module for getting the name of the current
11826         program, using the same API found on *BSD systems.
11827         * lib/getprogname.c, lib/getprogname.h, m4/getprogname.m4:
11828         * modules/getprogname: New files.
11829         * MODULES.html.sh (Misc): Add getprogname.
11831 2016-09-02  Jim Meyering  <meyering@fb.com>
11833         manywarnings: add -fno-common
11834         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -fno-common
11835         to the list.  Quoting the manual, "Compiling with -fno-common is
11836         useful on targets for which it provides better performance, or if
11837         you wish to verify that the program will work on other systems that
11838         always treat uninitialized variable declarations this way [putting
11839         it in the data section]."  If diffutils had been using this sooner,
11840         it would have prevented this duplicate declaration issue:
11841         http://git.sv.gnu.org/cgit/diffutils.git/commit/?id=v3.4-10-gc2dc91f
11843 2016-08-31  Simon Josefsson  <simon@josefsson.org>
11845         parse-datetime: Fix typo.
11846         * lib/parse-datetime.y (parse_datetime2): Fix typo.
11848 2016-08-30  Paul Eggert  <eggert@cs.ucla.edu>
11850         intprops: tune INT_NEGATE_OVERFLOW for GCC 5 and 6
11851         * lib/intprops.h (INT_NEGATE_OVERFLOW): Tune for platforms like
11852         GCC 5 and 6 that have __builtin_sub_overflow but not
11853         __builtin_sub_overflow_p.  With the recent changes, these
11854         platforms are a tiny bit faster with the INT_NEGATE_RANGE_OVERFLOW
11855         implementation than with INT_SUBTRACT_OVERFLOW implementation,
11856         since the former needs just one runtime comparison whereas the
11857         latter needs two.
11859         strverscmp: sync with glibc
11860         Although this doesn't exactly synchronize with glibc
11861         byte-for-byte, it makes the code behave the same as glibc.
11862         * lib/strverscmp.c (S_I, S_F, S_Z): Now masks, not powers of 2.
11863         (ISDIGIT): Remove, as glibc is sticking with isdigit, and the
11864         difference shouldn't matter in practical use.  All uses changed
11865         back to isdigit.
11866         (__strverscmp, strverscmp): Use new glibc method for weak aliases.
11867         (next_state): Now unsigned char array; redo elements.
11868         (result_type): Now signed char array; redo elements.
11869         (__strverscmp): Fix glibc bug 9913 by using new states.
11870         * tests/test-strverscmp.c (main): Test glibc bug 9913.
11872 2016-08-29  Jim Meyering  <meyering@fb.com>
11874         xalloc-oversized.h: port __builtin_mul_overflow change to GCC 6.2.0
11875         * lib/xalloc-oversized.h: Port this change to GCC 6.2.0, too,
11876         similarly to how it was done to intprops.h.
11878 2016-08-29  Paul Eggert  <eggert@cs.ucla.edu>
11880         intprops.h: port recent changes to GCC 6.2.0
11881         * lib/intprops.h (__has_builtin): Move earlier.
11882         (_GL_HAS_BUILTIN_OVERFLOW): Rename from
11883         _GL_HAS_BUILTIN_OVERFLOW_WITH_NULL and don't worry about whether
11884         the last argument can be null.  All uses changed.
11885         (_GL_HAS_BUILTIN_OVERFLOW_P): Also test __has_builtin.
11886         (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW, _GL_MULTIPLY_OVERFLOW):
11887         Don't try to use 3rd arg null, as this doesn't work on GCC 6.2.0
11888         and it's not clear which GCC versions it works for.
11889         (_GL_INT_OP_WRAPV): Use _GL_HAS_BUILTIN_OVERFLOW instead of
11890         its definiens.
11892         intprops.h: use __typeof__ with GCC 7
11893         * lib/intprops.h (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW)
11894         (_GL_MULTIPLY_OVERFLOW): Use __typeof__ as in the GCC manual.
11895         This avoids computing the expression's value (which might overflow!).
11897 2016-08-29  Jim Meyering  <meyering@fb.com>
11899         intprops.h, xalloc-oversized.h: work with gcc 7
11900         In gcc 6, __builtin_add_overflow, __builtin_sub_overflow and
11901         __builtin_mul_overflow each accept a NULL pointer as the third
11902         argument.  However in gcc 7, that is no longer accepted.
11903         Instead, one must use the "_p"-suffixed names, with which, the
11904         third parameter is no longer a pointer.
11905         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW_WITH_NULL): Correct
11906         the definition: not true for gcc 7 and subsequent.
11907         (_GL_HAS_BUILTIN_OVERFLOW_P): Define.
11908         (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW, _GL_MULTIPLY_OVERFLOW):
11909         Provide new definitions for gcc 7 and subsequent.
11910         * lib/xalloc-oversized.h (xalloc_oversized): Provide a definition
11911         that works with gcc-7.
11913         intprops.h: fix missing-backslash problems
11914         * lib/intprops.h (_GL_ADD_OVERFLOW): Add backslash.
11915         (_GL_SUBTRACT_OVERFLOW,_GL_MULTIPLY_OVERFLOW): Likewise.
11917 2016-08-24  Paul Eggert  <eggert@cs.ucla.edu>
11919         intprops: fix paren typo on old platforms
11920         Problem reported by John E. Malmberg in: https://bugs.gnu.org/24300#13
11921         * lib/intprops.h (_GL_INT_OP_WRAPV_LONGISH)
11922         [__GNUC__ < 5 && !__has_builtin (__builtin_add_overflow)
11923         && (__STDC_VERSION__ < 201112 || _GL__GENERIC_BOGUS)
11924         && !defined LLONG_MAX]:
11925         Remove stray paren.
11927         intprops: port to OpenVMS
11928         Problem reported by John E. Malmberg in: https://bugs.gnu.org/24300
11929         * doc/posix-headers/limits.texi: Document the problem.
11930         * lib/intprops.h (LLONG_MAX, LLONG_MIN) [__INT64_MAX]:
11931         Define if not already defined.
11933 2016-08-19  Assaf Gordon  <assafgordon@gmail.com>
11935         parse-datetime: improve debug implementation
11936         Follow-up to commit 12ad79069 ("add optional debug printing").
11937         Improve parse-datetime's debug implementation: remove macros,
11938         replace global debug flag variable with a function parameter,
11939         use nstrftime for formatting.
11940         See: https://lists.gnu.org/r/bug-gnulib/2016-08/msg00021.html
11941         * lib/parse-datetime.h: (parse_datetime_debug): Remove global extern.
11942         (parse_datetime2): New function, accepts 'flags' parameter, supporting
11943         debug flag. Existing interface 'parse_datetime' left unmodified.
11944         * lib/parse-datetime.c: (parse_datetime_debug): Remove global variable.
11945         (struct parser_control): add 'parse_datetime_debug' member variable.
11946         (parse_datetime): Call new function 'parse_datetime2' without debug.
11947         (parse_datetime2): Adapted from previous 'parse_datetime', initialize
11948         pc.parse_datetime_debug variable as needed.
11949         (to_year): Accept new flags parameter, instead of using global variable.
11950         (debug_print_current_time,debug_print_relative_time,debug_mktime_not_ok):
11951         use struct 'debug' variable instead of global variable.
11952         (DEBUG,DEBUG_PRINT_CURRENT_TIME,DEBUG_PRINT_RELATIVE_TIME,
11953         DEBUG_MKTIME_NOT_OK,PROGRESS,PROGRESS0): Remove macros. Call
11954         correspnding functions directly instead of using macros.
11955         * modules/parse-datetime: Add gnulib's strftime module.
11957 2016-08-19  Daniel Richard G.  <skunk@iSKUNK.ORG>
11959         c-strcase-tests: port to EBCDIC
11960         * tests/test-c-strncasecmp.c: Allow two c_strncasecmp calls
11961         which assume ASCII encoding semantics to run only in ASCII
11962         mode, as they fail in EBCDIC.
11964         sigpipe-tests: fix typo
11965         * tests/test-sigpipe.sh: C, not B.
11967 2016-08-18  Paul Eggert  <eggert@cs.ucla.edu>
11969         canonicalize-lgpl: fix errno after malloca fails
11970         This fixes a typo I recently introduced.  Suggested by Bruno Haible in:
11971         http://lists.gnu.org/r/bug-gnulib/2016-08/msg00039.html
11972         * lib/canonicalize-lgpl.c (__realpath):
11973         Don't assume malloca sets errno on failure.
11975 2016-08-17  Paul Eggert  <eggert@cs.ucla.edu>
11977         strtod: port errno handling to z/OS
11978         * lib/strtod.c (strtod): Save and restore errno more reliably.
11980 2016-08-17  Daniel Richard G.  <skunk@iSKUNK.ORG>
11982         strtod: port to z/OS
11983         * lib/strtod.c (strtod): Address a couple quirks in the z/OS
11984         implementation.
11986 2016-08-17  Paul Eggert  <eggert@cs.ucla.edu>
11988         strtod: port to z/OS
11989         * lib/strtod.c (strtod): Address a couple quirks in the z/OS
11990         implementation.
11992         regex, string: rename to avoid '__string'
11993         * lib/regex.h, lib/string.in.h: Do not use the identifier
11994         '__string', as it is effectively reserved by string.h on z/OS.
11996         c-strcase-tests, wcwidth-tests: depend on c-ctype
11997         * modules/c-strcase-tests, modules/wcwidth-tests (Depends-on):
11998         Add c-ctype.
12000 2016-08-17  Daniel Richard G.  <skunk@iSKUNK.ORG>
12002         thread: port to z/OS
12003         * lib/glthread/thread.c, lib/glthread/thread.h:
12004         Rudimentary gl_thread support for z/OS.
12006         maint: port tests to z/OS errno behavior
12007         * tests/test-nonblocking-reader.h:
12008         * tests/test-nonblocking-writer.h:
12009         Accommodate z/OS errno code preferences. (I believe this should
12010         still be within spec; IBM is good at following the letter if not
12011         the spirit of such things.)
12013         maint: preprocessor changes to support z/OS
12014         * lib/alloca.in.h, lib/fnmatch.c, lib/get-rusage-as.c:
12015         * lib/glob.c, lib/math.in.h, lib/ptsname_r.c:
12016         * tests/infinity.h, tests/nan.h, tests/test-canonicalize-lgpl.c:
12017         * tests/test-nonblocking-pipe.h:
12019         fclose, strstr-simple, wchar: port to z/OS
12020         * m4/fclose.m4, m4/strstr.m4, m4/wchar_h.m4:
12021         Changes to the Autoconf M4 code to support z/OS.  Note that
12022         fclose() is broken in a different way on z/OS than it is on other
12023         systems, thus the special-case in fclose.m4.
12025         iconv_open-utf-tests, iconv-tests: port to EBCDIC
12026         * tests/test-iconv-utf.c, tests/test-iconv.c:
12027         Added appropriately conditional #pragmas so that the test strings
12028         in test-iconv-utf.c are correctly interpreted in ASCII instead of
12029         EBCDIC (i.e. 'J' == 0x4A and not 0xD1). This issue could be
12030         addressed in a more portable way by simply rewriting all the ASCII
12031         literal characters as octal escapes, but then you would lose the
12032         partial readability that the strings have now. Also, iconv_open()
12033         on z/OS does not recognize "ISO-8859-1", but "ISO8859-1" works.
12035         c-strcase-tests, wcwidth-tests: port to EBCDIC
12036         * tests/test-c-strcasecmp.c: Include c-ctype.h.
12037         (main) [!C_CTYPE_ASCII]: Skip tests that assume ASCII.
12038         * tests/test-wcwidth.c: Likewise.
12040 2016-08-17  Paul Eggert  <eggert@cs.ucla.edu>
12042         stdbool: don't require _Bool for C++
12043         Problem reported by David Seifert in:
12044         http://lists.gnu.org/r/bug-gnulib/2016-06/msg00005.html
12045         * NEWS, doc/posix-headers/stdbool.texi (stdbool.h): Document this.
12046         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Make the check
12047         more-forgiving for C++, in that it requires only 'bool'.  Be a bit
12048         stricter about checking that bool and _Bool are compatible in C.
12050 2016-08-16  Paul Eggert  <eggert@cs.ucla.edu>
12052         getdelim: remove dependency on realloc-posix
12053         * lib/canonicalize-lgpl.c (alloc_failed)
12054         [!FUNC_REALPATH_WORKS || defined _LIBC]: New function,
12055         (__realpath) [!FUNC_REALPATH_WORKS || defined _LIBC]: Use it.
12056         Use __set_errno where needed, for consistency.
12057         * lib/getdelim.c (alloc_failed): New function.
12058         (getdelim): Use it.
12060 2016-08-09  Assaf Gordon  <assafgordon@gmail.com>
12062         parse-datetime: add optional debug printing
12063         Print parsing information, warnings, and errors to stderr.
12064         * lib/parse-datetime.h (parse_datetimte_debug): New global variable.
12065         * lib/parse-datetime.y:
12066         (DEBUG_*):  Macros calling debug functions if debugging is enabled.
12067         (PROGRESS*): Same as DEBUG, for progress reporting.
12068         (dbg_printf): Print message to stderr, with 'date' prefix.
12069         (struct parser_control): Add 'debug_*_seen' variables.
12070         (str_days): Converts day ordinal/number to string (e.g. 'last wed').
12071         (debug_print_current_time, debug_print_relateive_time): Prints the
12072         current/relative date/time value of parser_control.
12073         (YACC parser syntax): Print parsed parts with DEBUG_* macros.
12074         (to_year): Warn about 2-digit year parsing.
12075         (yylex):   Warn about unrecognized words.
12076         (get_effective_timezone): Returns current timezone in minutes.
12077         (debug_strf{time,date,datetime}): Convert 'struct tm' to string as
12078         clearly and unambigiously as possible.
12079         (debug_mktime_not_ok): Print detailed information about failed
12080         date/time values.
12081         (parse_datetime): Add DEBUG messages for failures, warnings. Add
12082         PROGRESS messages for status messages.
12083         * modules/parse-datetime: Add 'timegm', 'gettext-h' dependencies.
12085 2016-08-06  Jim Meyering  <meyering@fb.com>
12087         tests/init.sh: exclude dash with bad "local" semantics
12088         * tests/init.sh (gl_shell_test_script_): Add a function to
12089         eliminate a shell like "dash" (unlike bash, zsh) that has
12090         surprising/risky "local var='...'" semantics.  Inspired by
12091         the problem and discussion in https://bugs.gnu.org/24116#11.
12093 2016-08-02  Ján Tomko  <jtomko@redhat.com>
12095         maint.mk: expand the prohibit_doubled_word regex
12096         This check has a static list of words that are checked for
12097         repetitions.  Expand it before running the perl script to
12098         avoid using expensive captures.  This decreases the cost
12099         for libvirt from 1.66s to 0.66s.
12100         * top/maint.mk (prohibit_doubled_word_expanded_): Define.
12101         (sc_prohibit_doubled_word): Use it.
12103 2016-07-26  Ján Tomko  <jtomko@redhat.com>
12105         useless-if-before-free: skip non-matching lines early
12106         * build-aux/useless-if-before-free: First match each line with the
12107         simple/quick /\bif\b/ and reject if there is no match. This often
12108         saves the cost of the much more involved regular expression.
12109         For libvirt, this decreases the cost from 1.44s to 1.02s.
12111 2016-07-26  Ján Tomko  <jtomko@redhat.com>
12113         maint.mk: speed up sc_po_check
12114         sc_po_check would skip files based on their names, or on the
12115         existence of files with derived names. Rewrite it to use perl
12116         instead of shell to make the check faster.
12117         * top/maint.mk (perl_translatable_files_list_): Define.
12118         (sc_po_check): Use it.
12120 2016-07-30  Ján Tomko  <jtomko@redhat.com>
12122         maint.mk: speed up require_config_h_first
12123         Instead of spawning three processes per file,
12124         rewrite the check in perl and run it once for all the files.
12125         * top/maint.mk (perl_config_h_first_): Define.
12126         (sc_require_config_h_first): Use it in place of shell code.
12128 2016-07-26  Ján Tomko  <jtomko@redhat.com>
12130         maint.mk: speed up sc_po_check
12131         sc_po_check would skip files based on their names, or on the
12132         existence of files with derived names. Rewrite it to use perl
12133         instead of shell to make the check faster.
12134         * top/maint.mk (perl_translatable_files_list_): Define.
12135         (sc_po_check): Use it.
12137 2016-07-15  Paul Eggert  <eggert@cs.ucla.edu>
12139         obstack: pacify GCC 6 with -Wnull-dereference
12140         Problem reported by Assaf Gordon in:
12141         http://lists.gnu.org/r/bug-gnulib/2016-07/msg00028.html
12142         * lib/obstack.c, lib/obstack.h (obstack_alloc_failed_handler):
12143         Declare with __attribute_noreturn__.
12144         * lib/obstack.h (__attribute_noreturn__): New macro.
12146 2016-07-13  Eric Blake  <eblake@redhat.com>
12148         doc: mention glibc, OS X, Cygwin [S]SIZE_MAX buglet
12149         * doc/posix-headers/stdint.texi (stdint.h): Document the bugs.
12150         * doc/posix-headers/limits.texi (limits.h): Document the bugs.
12152 2016-07-13  Paul Eggert  <eggert@cs.ucla.edu>
12154         doc: mention glibc SSIZE_MAX buglet
12155         * doc/posix-headers/limits.texi (limits.h): Document the bug.
12157 2016-07-04  Martin Kletzander  <mkletzan@redhat.com>
12159         printf-posix: Fix mingw build
12160         Commit 54615b95ff238e235e806855efc46a9abad09f2e changed the regular
12161         expression for detecting C symbol prefixes but forgot to qoute square
12162         brackets in the command line arguments for grep.  That way when
12163         building with mingw the condition was false although it ought to be
12164         true instead.  In particular scenarios this led to the following
12165         compile error:
12167             Cannot export rpl_printf: symbol not found
12168             Cannot export rpl_scanf: symbol not found
12169             collect2: error: ld returned 1 exit status
12171         Fix this by properly quoting square brackets.
12173 2016-07-03  Paul Eggert  <eggert@cs.ucla.edu>
12175         mktime: call tzset as per POSIX
12176         Problem reported by Ludovic Courtès in:
12177         http://lists.gnu.org/r/bug-gnulib/2016-06/msg00068.html
12178         * lib/mktime.c (mktime) [!_LIBC && HAVE_TZSET]: Call tzset.
12179         * m4/mktime.m4 (gl_FUNC_MKTIME): Check for tzset.
12181 2016-06-26  Pádraig Brady  <P@draigBrady.com>
12183         fts: handle readdir() errors
12184         * lib/fts.c (fts_build): readdir(3) returns NULL when finished,
12185         but also upon error when it will also set errno.  Therefore
12186         flag the error case from readdir().  We treat the case where
12187         no items are read the same as if the dir can't be accessed,
12188         i.e. by setting fts_errno to FTS_DNR.
12190 2016-06-24  Paul Eggert  <eggert@cs.ucla.edu>
12192         intprops: port better to GCC 7
12193         GCC 7 __builtin_add_overflow supports a new usage form, where the
12194         last argument is a null pointer, and which merely returns 1 if an
12195         overflow would occur.  This is a constant expression if all
12196         arguments are constants, and should generate faster code when code
12197         needs to be generated.
12198         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW_WITH_NULL): New macro.
12199         (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW, _GL_MULTIPLY_OVERFLOW):
12200         Use builtin operations if available.
12201         (INT_NEGATE_OVERFLOW): Prefer INT_SUBTRACT_OVERFLOW if builtin
12202         operations are available, as it's almost surely faster.
12204 2016-06-23  Paul Eggert  <eggert@cs.ucla.edu>
12206         intprops-test: port to GCC 6
12207         * tests/test-intprops.c: Ignore -Woverflow if any GCC version,
12208         since the bug is not fixed in GCC 6.1.
12210 2016-06-13  Paul Eggert  <eggert@cs.ucla.edu>
12212         xalloc-oversized: port to GCC 7; fewer warnings
12213         GCC 7 will have a better way to deal with integer overflow.
12214         Plus, fix a warnings problem reported by Tim Ruehsen in:
12215         http://lists.gnu.org/r/bug-gnulib/2016-06/msg00022.html
12216         * lib/xalloc-oversized.h (__xalloc_oversized): New macro.
12217         (xalloc_oversized): Use plain __builtin_mul_overflow if GCC 7 or later.
12218         For GCC 5, use __xalloc_oversized if both args are constants,
12219         or if pedantic.
12221 2016-06-08  Paul Eggert  <eggert@cs.ucla.edu>
12223         regex: port to Sun C
12224         Reported by Daiki Ueno.
12225         * lib/regcomp.c (regcomp, regerror): Use _Restrict_, not
12226         __restrict, in prototype.  This fixes a problem I introduced in
12227         the 2016-02-19 merge from glibc.
12229 2016-05-31  Paul Eggert  <eggert@cs.ucla.edu>
12231         stdbool: Restore __bool_true_false_are_defined check
12232         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL):
12233         __bool_true_false_are_defined is still defined, even with C++11.
12235 2016-05-31  David Seifert  <soap@gentoo.org>  (tiny change)
12237         stdbool: Port AC_CHECK_HEADER_STDBOOL to C++11
12238         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Port to C++11.
12240 2016-05-30  Paul Eggert  <eggert@cs.ucla.edu>
12242         Use GCC_LINT, not lint
12243         FreeBSD and Cygwin #define _Noreturn to empty if 'lint' is defined.
12244         Problem reported by Ken Brown in: http://bugs.gnu.org/23640
12245         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h):
12246         Document problem with lint and _Noreturn.
12247         * lib/diffseq.h (IF_LINT, IF_LINT2):
12248         * lib/fts.c (sccsid):
12249         * lib/getndelim2.c (IF_LINT):
12250         * lib/gl_anylinked_list2.h (gl_linked_iterator)
12251         (gl_linked_iterator_from_to):
12252         * lib/gl_anytree_list2.h (gl_tree_iterator)
12253         (gl_tree_iterator_from_to):
12254         * lib/gl_anytree_oset.h (gl_tree_iterator):
12255         * lib/gl_array_list.c (gl_array_iterator)
12256         (gl_array_iterator_from_to):
12257         * lib/gl_array_oset.c (gl_array_iterator):
12258         * lib/gl_carray_list.c (gl_carray_iterator)
12259         (gl_carray_iterator_from_to):
12260         * lib/idcache.c:
12261         * lib/inet_ntop.c (IF_LINT):
12262         * lib/regcomp.c (build_charclass_op, create_tree):
12263         * lib/regex_internal.c (re_acquire_state)
12264         (re_acquire_state_context):
12265         * lib/trigl.c (rcsid):
12266         * lib/trim.c (IF_LINT):
12267         * lib/vasnprintf.c (IF_LINT):
12268         * lib/verify.h (assume):
12269         Treat GCC_LINT like lint.
12271 2016-05-29  Bruno Haible  <bruno@clisp.org>
12273         secure_getenv: Port to many more platforms.
12274         * m4/secure_getenv.m4 (gl_PREREQ_SECURE_GETENV): Also check for get*id
12275         functions.
12276         * lib/secure_getenv.c (secure_getenv): Add alternate implementations
12277         for non-BSD Unix platforms and for native Windows.
12278         * doc/glibc-functions/secure_getenv.texi: Remove known issue.
12279         Prompted by a request from Nikos Mavrogiannopoulos.
12281 2016-05-27  Eric Blake  <eblake@redhat.com>
12283         canonicalize: Fix broken probe for realpath.
12284         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Fix regression
12285         in logic introduced in 54615b95.
12287 2016-05-26  Eric Blake  <eblake@redhat.com>
12289         unsetenv: relax to LGPLv2+
12290         * modules/unsetenv (License): Match setenv license.
12292 2016-05-20  Ludovic Courtès  <ludo@gnu.org>
12294         gendocs.sh: Set default TOP_NODE_UP_URL in HTML output.
12295         Suggested by Gavin Smith <gavinsmith0123@gmail.com>.
12296         Reported by myglc2 <myglc2@gmail.com> in <http://bugs.gnu.org/22651>.
12297         * build-aux/gendocs.sh (MANUAL_TITLE, PACKAGE, EMAIL)
12298         (commonarg, dirargs, dirs, infoarg, generate_ascii)
12299         (generate_html, generate_info, generate_tex, outdir)
12300         (source_extra, split, srcfile, texarg): Move above 'version'.
12301         (htmlarg): Likewise, and add "-c TOP_NODE_UP_URL=/manual".
12303 2016-05-17  Paul Eggert  <eggert@cs.ucla.edu>
12305         manywarnings: update for GCC 6.1
12306         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
12307         Add GCC 6.1 options that apply to C.
12308         * build-aux/gcc-warning.spec: Add GCC 6.1 options that
12309         do not apply to C, are obsolescent, etc.
12311 2016-05-12  Paul Eggert  <eggert@cs.ucla.edu>
12313         glob: size_t overflow checks
12314         * lib/glob.c (__has_builtin): New macro.
12315         (size_add_wrapv, glob_use_alloca): New static functions.
12316         (glob, glob_in_dir): Check for size_t overflow in several places,
12317         and fix some size_t checks that were not quite right.
12319         glob: don't assume INT_MAX < SIZE_MAX
12320         * lib/glob.c (glob): Prefer SIZE_MAX to ~((size_t) 0), as the
12321         latter is not portable to (probably theoretical) hosts where
12322         SIZE_MAX <= INT_MAX.
12324 2016-05-09  Bruno Haible  <bruno@clisp.org>
12326         Fix undefined behaviour in gettext.h.
12327         * lib/gettext.h (dcpgettext_expr, dcnpgettext_expr): Avoid accessing a
12328         pointer's value after the storage it points to has been freed.
12329         Reported by Michael Pyne in https://savannah.gnu.org/bugs/?47847.
12330         Spotted by Coverity.
12332 2016-05-08  Paul Eggert  <eggert@cs.ucla.edu>
12334         git-version-gen: avoid undefined shift
12335         Problem reported by Mosè Giordano in:
12336         http://lists.gnu.org/r/bug-gnulib/2016-05/msg00012.html
12337         * build-aux/git-version-gen: Avoid undefined behavior if invoked
12338         with --prefix or --fallback but without a later argument.  While
12339         we're at it, omit unnecessary quotes.
12341 2016-05-04  Paul Eggert  <eggert@cs.ucla.edu>
12343         glob: merge glibc changes into lib/glob.c
12344         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c,
12345         dated 2016-05-04 12:09:35 2016 +0200.  Here are the changes:
12346         2016-05-04 CVE-2016-1234: glob: Do not copy d_name field of
12347           struct dirent [BZ #19779]
12348         2016-04-29 glob: Simplify the interface for the GLOB_ALTDIRFUNC
12349           callback gl_readdir
12350         2015-10-20 Convert miscellaneous function definitions to prototype style
12351         2015-10-20 Convert 113 more function definitions to prototype style
12352           (files with assertions)
12353         2015-06-12 Fix getlogin_r namespace (bug 18527).
12354         2014-02-10 Use glibc_likely instead __builtin_expect.
12355         2013-10-20 When glob pattern contains a trailing slash match only
12356           directories. Fixes bug 10278.
12357         2013-09-04 glob: silence -Wattribute warnings
12358         2013-06-07 Avoid use of "register" as optimization hint.
12359         2012-09-25 Use size_t instead of int for internal variables in glob
12360           (bug 14621)
12361         2011-07-20 Check for overflows in expressions
12362         2011-05-28 Remove unused variable
12363         2011-05-22 Add a few more alloca size checks
12364         2010-03-27 Whitespace fixes
12365         2010-03-27 Fix one more issue with the glob patch
12366         2010-03-24 Fix glob with empty pattern
12367         2008-05-27 Remove useless more "if" tests before "free"
12368         * modules/glob (Depends-on): Add stdint.
12370 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
12372         mktime: port to stricter signed overflow checking
12373         * lib/mktime.c: Omit 'pragma GCC optimize ("wrapv")'.
12374         (long_int): Require width for INT_MAX * 3 * (seconds per year),
12375         instead of merely for INT_MAX * 2.  In practice platforms that
12376         do the latter also do the former.
12377         (TIME_T_MIN, TIME_T_MAX, TIME_T_MIDPOINT, SHR): Remove.
12378         (shr): New static function, replacing SHR.  All uses changed.
12379         (mktime_min, mktime_max): New constants, replacing TIME_T_MIN
12380         and TIME_T_MAX.  All uses changed.
12381         (ydhms_diff, guess_time_tm, ranged_convert, __mktime_internal):
12382         Use long_int, not time_t.
12383         (long_int_avg): New static function, replacing time_t_avg.
12384         All uses changed.  Round toward positive infinity, as that
12385         generates slightly better code.
12386         (time_t_add_ok, time_t_int_add_ok): Remove.  All uses replaced
12387         by INT_ADD_WRAPV.
12388         (guess_time_tm): Accept time, not a pointer to it.  All uses changed.
12389         (convert_time): New static function.
12390         (ranged_convert): Use it
12391         (ranged_convert): Check for *T out of [mktime_min, mktime_max] range.
12392         Use simpler test for loop exit.
12393         (__mktime_internal): Store negative of guessed offset, to simplify
12394         overflow checking.  Remove no-longer-needed test for small time_t
12395         overflows.
12397         mktime: speed up DEBUG_MKTIME benchmarks
12398         Call tzset just once, at the start, rather than for every test
12399         case.  This lets us measure the CPU cost of mktime as opposed to
12400         that of tzset.  This is relevant when TZ is not set and glibc is
12401         being used.  This speeds up tests by a factor of 40 on my Fedora
12402         23 x86-64 platform.
12403         * lib/mktime.c (main) [DEBUG_MKTIME]: Call localtime at the start,
12404         to call tzset and as a sanity check.  Later on, use localtime_r
12405         instead of localtime.
12407         mktime: resurrect DEBUG_MKTIME testing
12408         * lib/mktime.c [DEBUG_MKTIME]: Do not include <config.h>.
12409         Include <string.h>, for strcmp.
12411         mktime: simplify DEBUG_MKTIME
12412         * lib/mktime.c (DEBUG_MKTIME): Define to 0 if not defined.
12413         Simplify later usage accordingly.
12415         Port mktime_internal offset to unsigned time_t
12416         This avoids some assumptions about wraparound arithmetic on
12417         signed integer overflow.
12418         * lib/mktime-internal.h (mktime_offset_t): New type.
12419         (mktime_internal): Use it in decl.
12420         * lib/mktime.c, lib/timegm.c (mktime_offset_t) [_LIBC]: New type.
12422         * lib/mktime.c (__mktime_internal, localtime_offset):
12423         * lib/timegm.c (timegm): Use it.
12424         * m4/mktime.m4 (gl_TIME_T_IS_SIGNED): New macro.
12425         (gl_FUNC_MKTIME): Require it.
12427 2016-04-27  Paul Eggert  <eggert@cs.ucla.edu>
12429         xstrtol: prohibit monstrosities like "1bB"
12430         Problem reported by Young Mo Kang in: http://bugs.gnu.org/23388
12431         * lib/xstrtol.c (__xstrtol): Allow trailing second suffixes like
12432         "B" only if the first suffix needs a base.
12433         * tests/test-xstrtol.sh: Test this.
12435 2016-04-21  Pádraig Brady  <P@draigBrady.com>
12437         xstrtod: reinstate setting of *result upon ERANGE
12438         * lib/xstrtod.c (XSTRTOD): The user may decide to use
12439         the returned limits upon ERANGE, so allow and document that.
12441 2016-04-20  Tino Calancha  <f92capac@gmail.com>  (tiny change)
12443         xstrtod: modify *result only if no errors
12444         * lib/xstrtod.c (XSTRTOD).
12446 2016-04-19  Paul Eggert  <eggert@cs.ucla.edu>
12448         btowc: document problems in C locale
12449         * doc/posix-functions/btowc.texi (btowc): Mention incompatibility
12450         with mbrtowc.  See: http://bugs.gnu.org/23269#32
12452 2016-04-13  Paul Eggert  <eggert@cs.ucla.edu>
12454         mktime: improve integer overflow checking
12455         * lib/mktime.c: Include stdbool.h, intprops.h, verify.h.
12456         (WRAPV): Remove; no longer needed.
12457         (verify): Remove.  Replace all uses with call to verify.h 'verify'.
12458         (TYPE_IS_INTEGER, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
12459         Remove.  Use intprops.h defns instead.
12460         (leapyear, isdst_differ, time_t_add_ok, time_t_int_ok):
12461         Use bool for Boolean, for clarity.
12462         (time_t_add_ok, time_t_int_add_ok): Use INT_ADD_WRAPV to
12463         detect integer overflow.
12464         * modules/mktime (Depends-on): Add intprops, stdbool, verify.
12466         intprops: check two's complement assumption
12467         Suggested by Eric Blake in:
12468         http://lists.gnu.org/r/bug-gnulib/2016-04/msg00016.html
12469         * lib/intprops.h: Include <verify.h>.  Verify that signed char,
12470         short, int, long, and (if available) long long are two's complement.
12471         * modules/intprops (Depends-on): Add 'verify'.
12473         intprops, mktime, strtol: assume two's complement
12474         These macros were not portable to every conforming C11 ones'
12475         complement platform.  It's not worth the hassle of porting to some
12476         platforms that use ones' complement or signed magnitude, as such
12477         platforms are almost purely theoretical nowadays and porting even
12478         to some of them makes the code harder to review for little
12479         practical benefit.  Problem reported by Florian Weimer in:
12480         https://sourceware.org/ml/libc-alpha/2016-04/msg00295.html
12481         * lib/intprops.h (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT)
12482         (TYPE_SIGNED_MAGNITUDE, _GL_INT_TWOS_COMPLEMENT):
12483         * lib/mktime.c (TYPE_TWOS_COMPLEMENT):
12484         * lib/strtol.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT)
12485         (TYPE_SIGNED_MAGNITUDE):
12486         Remove.  All uses rewritten to assume two's complement, which is
12487         all we can reasonably test nowadays anyway.
12488         * top/maint.mk (_intprops_names): Remove the removed macros.
12490 2016-04-11  Paul Eggert  <eggert@cs.ucla.edu>
12492         stdint: port to strict C11 left shift
12493         * lib/stdint.in.h (_STDINT_MIN, _STDINT_MAX):
12494         Pacify clang -Wshift-negative-value, which should be an issue only
12495         on clang setups where stdint.h does not conform to C11 or to C++11.
12496         Problem reported by Philipp Stephani in: http://bugs.gnu.org/23261
12498 2016-04-09  Paul Eggert  <eggert@penguin.cs.ucla.edu>
12500         mbrtowc: work around glibc bug#19932
12501         Fix mbrtowc so that it never returns -1 in the C locale,
12502         as this conflicts with a future version of POSIX
12503         http://austingroupbugs.net/view.php?id=663#c2738
12504         and causes problems with GNU grep: http://bugs.gnu.org/23234
12505         See glibc bug 19932:
12506         https://sourceware.org/bugzilla/show_bug.cgi?id=19932
12507         * doc/posix-functions/mbrlen.texi (mbrlen):
12508         * doc/posix-functions/mbrtowc.texi (mbrtowc):
12509         Document the glibc bug.
12510         * lib/mbrtowc.c [C_LOCALE_MAYBE_EILSEQ]:
12511         Include hard-locale.h, locale.h.
12512         (rpl_mbrtowc): Work around the C_LOCALE_MAYBE_EILSEQ bug,
12513         if the bug is possible.
12514         * m4/mbrtowc.m4 (gl_MBRTOWC_C_LOCALE): New macro.
12515         (gl_FUNC_MBRTOWC): Use it, and define C_LOCALE_MAYBE_EILSEQ as needed.
12516         * modules/hard-locale (License): Now LGPLv2+, for mbrtowc.
12517         * modules/mbrtowc (Depends-on): Add hard-locale.
12518         * modules/mbrtowc-tests (Files, TESTS): Add tests/test-mbrtowc5.sh.
12519         * tests/test-mbrtowc.c (main): Test for bug fix if arg is '5'.
12520         * tests/test-mbrtowc5.sh: New file.
12522 2016-04-03  Pedro Alves  <palves@redhat.com>
12524         stdint: detect good enough pre-C++11 stdint.h in C++ mode
12525         When gnulib is configured in C++ mode for a system with a working C99
12526         implementation of stdint.h that predates C++11, gnulib ends up
12527         substituting stdint.h anyway.  This works on most targets, but on e.g.,
12528         64-bit MinGW, it doesn't, as gnulib's substitute assumes LP64, while
12529         MinGW is LLP64.  Instead of trying to detect the right types, detect
12530         good-enough-pre-C++11 stdint.h and in such case define
12531         __STDC_CONSTANT_MACROS/__STDC_LIMIT_MACROS in config.h.
12532         * m4/stdint.m4 (gl_STDINT_H): Always define __STDC_CONSTANT_MACROS
12533         / __STDC_LIMIT_MACROS while checking whether the system stdint.h
12534         conforms to C99.  If it does, check whether it hides symbols
12535         behind the __STDC_{CONSTANT|LIMIT}_MACROS macros.  Then if it
12536         does, define those macros in config.h.
12538 2016-04-03  Paul Eggert  <eggert@cs.ucla.edu>
12540         argp: merge changes from glibc
12541         Among other things, this should fix problems found by a Coverity
12542         scan and reported by Andrei Borzenkov:
12543         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00015.html
12544         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00016.html
12545         * lib/argp-ba.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h:
12546         * lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h:
12547         * lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c:
12548         * lib/argp.h:
12549         Merge changes from glibc.
12550         * tests/test-argp-2.sh: Adjust to match new behavior.
12552 2016-04-01  Paul Eggert  <eggert@cs.ucla.edu>
12554         stddef: support configuring with g++
12555         Problem reported by Ángel González in:
12556         http://lists.gnu.org/r/bug-gnulib/2016-04/msg00003.html
12557         * lib/stddef.in.h (_GL_STDDEF_ALIGNAS, max_align_t):
12558         Do not define if _GCC_MAX_ALIGN_T is defined.
12560 2016-03-25  Paul Eggert  <eggert@cs.ucla.edu>
12562         test-framework-sh: minor cleanups
12563         * tests/init.sh (testdir_prefix_): Output a trailing newline,
12564         since strictly speaking POSIX requires this.
12565         (setup_): Do not use the variable 'fail', as that makes the
12566         trace output harder to read ('fail' is typically used by
12567         tests to mean the test failed).  Treat // portably.
12568         Check that new directory is not merely a sibling of the tmp dir.
12569         Avoid unnecessary invocation of tr.
12571         test-framework-sh: revert port to NetBSD 7.0
12572         It was a false alarm; I misinterpreted Assaf Gordon's report.
12573         * tests/init.sh (testdir_prefix_, pfx_, template_length_):
12574         Restore.
12575         (test_dir_): Adjust to mktempd_ change.
12576         (mktempd_): Restore 2nd arg.  Use -t again.
12577         (base_template_, template_, nx_): Resurrect old code.
12579         Port better to Alpine Linux
12580         Its diff implementation does not support -c, but does support -U3.
12581         Problem reported by Assaf Gordon in: http://bugs.gnu.org/23107#13
12582         * tests/init.sh (diff_opt_): New var.
12583         (compare_): Prefer diff -U3 to diff -c to plain diff.
12585 2016-03-24  Paul Eggert  <eggert@cs.ucla.edu>
12587         test-framework-sh: port to NetBSD 7.0
12588         Problem reported by Assaf Gordon in: http://bugs.gnu.org/23107#13
12589         * tests/init.sh (testdir_prefix_, pfx_, template_length_):
12590         Remove.  All uses removed.
12591         (test_dir_): Adjust to mktempd_ change.
12592         (mktempd_): Omit 2nd arg.  Stop using -t, as it is not portable.
12593         (base_template_, template_, nx_): Simplify by hardcoding.
12595 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
12597         gitlog-to-changelog: suppress ignored chatter
12598         * build-aux/gitlog-to-changelog: Do not warn about skipping
12599         an SHA if it would have been ignored anyway.
12601 2016-03-22  Geert Janssens  <janssens-geert@telenet.be>
12603         setlocale: add "sv" to Windows language table
12604         * lib/setlocale.c (language_table) [W32]: Add "sv".
12605         Reported in <https://savannah.gnu.org/bugs/?44588>.
12607 2016-03-21  Paul Eggert  <eggert@cs.ucla.edu>
12609         sys_select: port to new Cygwin
12610         Problem reported by Ken Brown in:
12611         https://lists.gnu.org/r/bug-gnulib/2016-03/msg00054.html
12612         * lib/sys_select.in.h [__CYGWIN__]: Avoid "unknown type name"
12613         diagnostics.
12615 2016-03-17  Jim Meyering  <meyering@fb.com>
12617         test-userspec.c: do not trigger gcc's new -Wmisleading-indentation
12618         * tests/test-userspec.c (main): Remove unnecessary braces and fix
12619         misleading indentation. Here is the diagnostic gcc-6.0-to-be issued:
12620           test-userspec.c:176:9: error: statement is indented as if it were \
12621             guarded by... [-Werror=misleading-indentation]
12622                    {
12623                    ^
12624           test-userspec.c:173:7: note: ...this 'if' clause, but it is not
12625                  if (!diag && !T[i].result)
12626                  ^~
12628 2016-03-15  Paul Eggert  <eggert@cs.ucla.edu>
12630         time_rz: port to clang -Wunused-const-variable
12631         * lib/time_rz.c (TZ): Remove.  All uses removed.
12633         std-gnu11: improve clang support
12634         * m4/std-gnu11.m4: Sync with autoconf, incorporating:
12635         2016-03-15 Also try clang
12636         2016-03-15 Port C11 and C++11 testing to clang
12638         select: port more to Intel 2016.1.150 compiler
12639         Problem reported by Balázs Hajgató in:
12640         http://lists.gnu.org/r/bug-gnulib/2016-03/msg00036.html
12641         * m4/select.m4 (gl_FUNC_SELECT): Require AC_C_RESTRICT.
12643 2016-03-14  Paul Eggert  <eggert@cs.ucla.edu>
12645         select: try to port to 2016.1.150 compiler
12646         Problem reported by Balázs Hajgató in:
12647         http://lists.gnu.org/r/bug-gnulib/2016-03/msg00026.html
12648         * lib/sys_select.in.h (select): Use 'restrict' on arguments where
12649         POSIX specifies 'restrict'.
12651 2016-03-13  Paul Eggert  <eggert@cs.ucla.edu>
12653         localename-tests: memory allocation fixes
12654         * tests/test-localename.c (test_locale_name)
12655         (test_locale_name_thread): Don't call freelocale on a locale
12656         that was the base of a successful newlocale, as that
12657         results in a double free.  Problem reported by Assaf Gordon.
12658         (test_locale_name_thread): Free saved names after use, to pacify
12659         gcc -fsanitize=address.
12661 2016-03-08  Paul Eggert  <eggert@cs.ucla.edu>
12663         intprops: make .h file license match module
12664         * lib/intprops.h: Change the license wording to match glibc format.
12665         This is what is in modules/intprops anyway.  See:
12666         https://sourceware.org/bugzilla/show_bug.cgi?id=19738#c8
12668 2016-03-08  Eric Blake  <eblake@redhat.com>
12670         acl: fix missing return on Cygwin
12671         * lib/set-permissions.c (set_acls) [HAVE_FACL && GETACL]: Don't
12672         fall off end of function. Fixes http://bugs.gnu.org/22949
12674 2016-03-05  Bruno Haible  <bruno@clisp.org>
12676         extern-inline: port to PGI CC
12677         * m4/extern-inline.m4 (gl_EXTERN_INLINE): For PGI CC, don't use the
12678         keyword 'inline'.
12679         Reported by Adam James Stewart in:
12680         http://lists.gnu.org/r/bug-gnulib/2016-03/msg00006.html
12682 2016-02-20  Paul Eggert  <eggert@cs.ucla.edu>
12684         signbit: port back to pre-C++11 GCC
12685         * lib/math.in.h (signbit): Do previous change only if
12686         __cplusplus < 201103.  See Jonathan Wakely in:
12687         https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/UY3VX3W7XEXYTUKHG5BALU4ACUD7ZLGE/
12689 2016-02-19  Kamil Dudka  <kdudka@redhat.com>
12691         mountlist: recognize autofs-mounted remote file systems, too
12692         Originally reported at: https://bugzilla.redhat.com/1309247
12693         * lib/mountlist.c (ME_REMOTE): Return true if a file system is named
12694         "-hosts" because it is used by autofs to mount remote file systems.
12696 2016-02-19  Paul Eggert  <eggert@cs.ucla.edu>
12698         signbit: port to C++ with GCC 6
12699         * lib/math.in.h (signbit) [__cplusplus]:
12700         Do not replace with GCC builtin.  Reported by Orion Poplawski in:
12701         http://lists.gnu.org/r/bug-gnulib/2016-02/msg00005.html
12703         * lib/regex_internal.h (IDX_MAX) [_REGEX_LARGE_OFFSETS]: Now SSIZE_MAX.
12705         regex: make it closer to libc
12706         Make Idx a signed type, rather than possibly unsigned.
12707         The unsignedness was not really buying us anything, since the code
12708         overflows for other reasons before getting to PTRDIFF_MAX.  Making
12709         it signed allows us to use -1 and -2 with abandon, like libc does,
12710         thus lessening the number of differences between gnulib and libc.
12711         Also, it should help avoid gratuitous warnings like the one
12712         reported by Nelson H. F. Beebe in: http://bugs.gnu.org/22702
12713         * lib/regex.h (__re_idx_t): Remove.  All uses changed to regoff_t.
12716         regex: merge patches from libc
12718         2015-10-21  Joseph Myers  <joseph@codesourcery.com>
12719         2015-10-20  Joseph Myers  <joseph@codesourcery.com>
12720         Convert miscellaneous function definitions to prototype style.
12721         * lib/regcomp.c (re_compile_pattern, re_set_syntax)
12722         (re_compile_fastmap, regcomp, regerror, regfree, re_comp):
12723         * lib/regexec.c (regexec, re_match, re_search, re_match_2, re_search_2)
12724         (re_search_2_stub, re_search_stub, re_set_registers, re_exec)
12725         (re_search_internal):
12726         Convert to prototype-style function definition.
12727         Use internal_function for internal functions.
12729 2016-02-10  Paul Eggert  <eggert@cs.ucla.edu>
12731         stdalign: port to older HP and IBM cc
12732         * lib/stdalign.in.h (_Alignas): Port better to older HP and IBM
12733         C compilers, by checking their version numbers.  These version
12734         numbers appear in MariaDB and in Qt code that dates way back and
12735         that conditiionally uses the 'aligned' attribute.
12737 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
12739         stdalign: port to clang 3.7.0
12740         Problem reported by Herbert J. Skuhra in:
12741         http://lists.gnu.org/r/emacs-devel/2016-02/msg00476.html
12742         * lib/stdalign.in.h (alignas): Fix typo that prevented 'alignas'
12743         from being defined on clang 3.7.0, which has a buggy stdalign.h.  See:
12744         https://llvm.org/bugs/show_bug.cgi?id=26547
12746 2016-02-08  Paul Eggert  <eggert@cs.ucla.edu>
12748         readdir_r: now obsolescent
12749         * doc/posix-functions/readdir_r.texi (readdir_r): Now obsolescent.
12750         * lib/mountlist.c (read_file_system_list): Add a FIXME.
12752 2016-02-06  Paul Eggert  <eggert@cs.ucla.edu>
12754         misc: port better to gcc -fsanitize=address
12755         Without these patches, ./configure CFLAGS='-fsanitize=address'
12756         would compute incorrect values.  This patch fixes some (but not all)
12757         test failures with recent glibc, with this configuration.
12758         * m4/acl.m4 (gl_ACL_GET_FILE):
12759         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF):
12760         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS):
12761         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO):
12762         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE):
12763         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
12764         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
12765         * m4/getgroups.m4 (gl_FUNC_GETGROUPS):
12766         * m4/getline.m4 (gl_FUNC_GETLINE):
12767         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF):
12768         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF):
12769         * m4/regex.m4 (gl_REGEX):
12770         * m4/strndup.m4 (gl_FUNC_STRNDUP):
12771         * tests/test-calloc-gnu.c (main):
12772         * tests/test-duplocale.c (main):
12773         * tests/test-getgroups.c (main):
12774         * tests/test-getline.c (main):
12775         * tests/test-inttostr.c (main):
12776         * tests/test-localename.c (test_locale_name)
12777         (test_locale_name_thread, test_locale_name_environ)
12778         (test_locale_name_default):
12779         * tests/test-regex.c (main):
12780         * tests/test-setlocale1.c (main):
12781         * tests/test-stat.h (test_stat_func):
12782         Free heap-allocated storage before exiting.
12783         * m4/asm-underscore.m4 (gl_ASM_SYMBOL_PREFIX):
12784         Don't match *_foo symbols inserted by AddressSanitizer.
12785         * tests/test-regex.c, tests/test-stat.c: Include stdlib.h, for 'free'.
12787 2016-02-02  Jim Meyering  <meyering@fb.com>
12789         verify-tests: also remove stray test-verify.Tpo
12790         * modules/verify-tests (Makefile.am): Arrange for "make clean"
12791         to remove the test-verify.Tpo file that is left behind by
12792         the automake-generated rule upon compilation failure.
12793         Otherwise, that .Tpo file would cause a failed "make distcheck"
12794         at least for grep.
12796 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
12798         std-gnu11: new module
12799         This makes it easier for applications to prefer C11 and C++11
12800         to older variants, when compiling C and C++ code.
12801         Unlike most m4/*.m4 files, m4/std-gnu11.m4 is GPLed, as it copies
12802         a nontrivial chunk of GPLed Autoconf source code.
12803         * COPYING: Mention the m4/*.m4 copyright situation.
12804         * MODULES.html.sh (std-gnu11): New module.
12805         * m4/std-gnu11.m4, modules/std-gnu11: New files.
12807 2016-01-25  Paul Eggert  <eggert@cs.ucla.edu>
12809         get-permissions, strftime: fix grammar in comments
12810         * lib/get-permissions.c, lib/strftime.c: Merge into the comments
12811         some grammar fixes Alan Mackenzie made to GNU Emacs.
12813 2016-01-25  Daiki Ueno  <ueno@gnu.org>
12815         gettext: mark as obsolete
12816         Suggested by Paul Eggert in:
12817         https://lists.gnu.org/r/bug-gnulib/2016-01/msg00101.html
12818         * modules/gettext (Status): Mark as obsolete.
12819         (Notice): Suggest to use 'gettext-h' instead.
12820         * modules/gettext-h (Description): Suggest GNU gettext, instead of
12821         the 'gettext' module.
12823 2016-01-24  Paul Eggert  <eggert@cs.ucla.edu>
12825         gnulib-tool: don't give up on ln -s so easily
12826         * gnulib-tool (func_ln_s): Don't give up on a later ln -s merely
12827         because an earlier one failed.  The targets could be on different
12828         file systems.  Problem reported by KO Myung-Hun in:
12829         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00081.html
12831         closedir: fix OS/2-related typos
12832         Problem reported by KO Myung-Hun in:
12833         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00107.html
12834         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Fix a couple of typos
12835         in the last couple of changes.
12837 2016-01-24  KO Myung-Hun  <komh78@gmail.com>
12839         openat_proc_name: fix that last '/' is overwritten on OS/2 kLIBC
12840         * lib/openat-proc.c (openat_proc_name): Increase dirlen by 1 after
12841         copying a directory.
12843 2016-01-24  Paul Eggert  <eggert@cs.ucla.edu>
12845         regex: treat [x] as x if x is a unibyte encoding error
12846         Problem reported by Aharon Robbins in:
12847         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00091.html
12848         * lib/regcomp.c (parse_byte) [!_LIBC && RE_ENABLE_I18N]: New function.
12849         (build_range_exp) [!_LIBC && RE_ENABLE_I18N]: Use it.
12851         closedir, dirfd, opendir: port to OpenSolaris 5.10
12852         * m4/closedir.m4 (gl_FUNC_CLOSEDIR):
12853         * m4/dirfd.m4 (gl_FUNC_DIRFD):
12854         * m4/opendir.m4 (gl_FUNC_OPENDIR):
12855         Don't use ${word##pat} substitution, as it doesn't work in
12856         OpenSolaris 5.10 /bin/sh.  Problem reported by Assaf Gordon in:
12857         http://bugs.gnu.org/22443#11
12859 2016-01-23  Paul Eggert  <eggert@cs.ucla.edu>
12861         bootstrap: use American spelling
12862         * build-aux/bootstrap: Honor American spelling.
12864 2016-01-22  Karl Berry  <karl@freefriends.org>
12866         * doc/posix-functions/localtime.texi,
12867         * doc/posix-functions/localtime_r.texi: @item needed for @itemize text.
12869 2016-01-21  Bruno Haible  <bruno@clisp.org>
12871         hash-pjw-bare: fix comment
12872         * lib/hash-pjw-bare.h (hash_pjw_bare): Fix comment.
12874         wcwidth: Replace also on OpenBSD 5.8
12875         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check the value of wcwidth(0xFF1A).
12876         * doc/posix-functions/wcwidth.texi: Update.
12878 2016-01-20  Pádraig Brady  <P@draigBrady.com>
12880         gnu-web-doc-update: fix addition of new files
12881         If there were already added (emnpty) dirs,
12882         then cvs aborts the add with the message:
12883           cvs [add aborted]: there is a version in <./dirname> already
12884         * build-aux/gnu-web-doc-update: Add directories separately
12885         to the addition of files, to avoid the above issue
12886         impacting the addition of files.
12888 2016-01-19  Daiki Ueno  <ueno@gnu.org>
12890         utimens-tests: avoid pulling gettext .m4 files
12891         Although this is not the right fix to the original problem:
12892         http://lists.gnu.org/r/bug-gnulib/2013-01/msg00086.html
12893         it makes it possible again for consumer projects to use arbitrary
12894         version of gettext, through the steps described at:
12895         http://www.gnu.org/software/gnulib/manual/html_node/gettextize-and-autopoint.html
12896         See here for details:
12897         https://lists.gnu.org/r/bug-gnulib/2016-01/msg00079.html
12898         * modules/futimens-tests (Depends-on): Add 'gettext-h' in place of
12899         'gettext'.
12900         * modules/utimens-tests (Depends-on): Add 'gettext-h' in place of
12901         'gettext'.
12903 2016-01-18  Paul Eggert  <eggert@cs.ucla.edu>
12905         regex: pacify static checkers
12906         Problem and draft fix reported by Aharon Robbins in:
12907         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00082.html
12908         * lib/regcomp.c (build_charclass_op, create_tree) [lint]:
12909         Clear memory to pacify static checkers.
12911         regex: fix [ diagnostic
12912         Problem and fix reported by Aharon Robbins in:
12913         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00082.html
12914         * lib/regcomp.c (REG_EBRACK_IDX): Fix misleading diagnostic about [.
12916         regex: fix memory leaks
12917         Problem and draft fix reported by Aharon Robbins in:
12918         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00082.html
12919         * lib/regcomp.c (build_range_exp, build_charclass_op)
12920         * lib/regex_internal.c (re_dfa_add_node):
12921         Fix memory leak on failure.
12923 2016-01-18  Pádraig Brady  <P@draigBrady.com>
12925         fts: don't unconditionally use leaf optimization for NFS
12926         NFS st_nlink are not accurate on all implementations,
12927         leading to aborts() if that assumption is made.
12928         See <https://bugzilla.redhat.com/1299169>
12929         * lib/fts.c (leaf_optimization_applies): Remove NFS from
12930         the white list, and document the issue.
12932 2016-01-15  Paul Eggert  <eggert@cs.ucla.edu>
12933             KO Myung-Hun  <komh@chollian.net>
12935         gnulib-tool: don't assume ln -s works
12936         * gnulib-tool (func_ln_s): New function.
12937         (func_ln): Use it.
12939 2016-01-15  KO Myung-Hun  <komh@chollian.net>
12941         utimes: detect utimes() correctly on OS/2 kLIBC
12942         utimes() of OS/2 kLIBC has some limitations.
12943         1. OS/2 itself supports a file date since 1980 year in local time.
12944         2. OS/2 itself supports only even seconds for a file time.
12945         3. utimes() of OS/2 kLIBC does not work on an opened file.
12946         * m4/utimes.m4: Detect utimes() correctly on OS/2 kLIBC.
12947         * doc/posix-functions/utimes.texi: Document the above limitations of
12948         utimes() on OS/2 kLIBC.
12950 2016-01-15  Paul Eggert  <eggert@cs.ucla.edu>
12951             KO Myung-Hun  <komh@chollian.net>
12953         openat_proc_name: port to OS/2 kLIBC
12954         OS/2 kLIBC provides a function to retrive a path from a fd. Use it
12955         instead of /proc/self/fd.
12956         * lib/openat-proc.c (openat_proc_name):
12957         Don't assume file name length is less than INT_MAX.
12958         Port to OS/2 kLIBC with __libc_Back_ioFHToPath().
12960 2016-01-14  KO Myung-Hun  <komh@chollian.net>
12962         stdint: check _INTPTR_T_DECLARED for intptr_t etc.
12963         OS/2 kLIBC's stdint.h defines _INTPTR_T_DECLARED and needs its own
12964         definitions of intptr_t and uintptr_t (which use int and unsigned)
12965         to avoid clashes with declarations of system functions like sbrk.
12966         * lib/stdint.in.h (intptr_t, uintptr_t): Check
12967         _INTPTR_T_DECLARED before defining them.
12969         opendir, closedir, dirfd, fdopendir: port to OS/2 kLIBC
12970         * lib/closedir.c (closedir): Unregister fd if closedir() succeeds.
12971         * lib/dirent.in.h (_gl_register_dirp_fd, _gl_unregister_dirp_fd):
12972         Declare on kLIBC.
12973         * lib/dirfd.c (struct dirp_fd_list): New. Structures to keep track of
12974         fd associated with dirp.
12975         (_gl_register_dirp_fd): New. Register fd associated with dirp to
12976         dirp_fd_list.
12977         (_gl_unregister_dirp_fd): New. Unregister fd with closing it.
12978         (dirfd): Implemented for kLIBC.
12979         * lib/fdopendir.c (fdopendir): Implemented for kLIBC.
12980         * lib/opendir.c (opendir): New. Register fd and dirp pair if open()
12981         succeeds.
12982         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Replace if OS/2.
12983         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
12984         (REPLACE_DIRFD): Define to 1 if replaced.
12985         * m4/opendir.m4 (gl_FUNC_OPENDIR): Likewise.
12986         * modules/closedir (Depends-on): Add dirfd.
12987         * modules/dirfd (Depends-on): Add 'test $REPLACE_DIRFD = 1' to errno
12988         condition.
12989         (configure.ac): Add dirfd to LIBOBJS if $REPLACE_DIRFD = 1 as well.
12990         * modules/opendir (Depends-on): Add dirfd.
12992         dup, dup2, fcntl: support a directory fd on OS/2 kLIBC
12993         On OS/2 kLIBC, dup(), dup2() and fcntl() do not work on a directory fd.
12994         * lib/dup.c (dup_nothrow): New.
12995         * lib/dup2.c (klibc_dup2dirfd): New. dup2() for a directory fd.
12996         (klibc_dup2): New.
12997         * lib/fcntl.c (klibc_fcntl): New.
12998         * m4/dup.m4 (gl_FUNC_DUP): Check if dup() works on a directory fd.
12999         * m4/dup2.m4 (gl_FUNC_DUP2): Check if dup2() works on a directory fd.
13000         * m4/fcntl.m4 (gl_FUNC_FCNTL): Check if F_DUPFD works on a directory
13001         fd.
13003         pipe_filter_ii_execute: port to OS/2 kLIBC
13004         Pipes on kLIBC do not support O_NONBLOCK like Win32.
13005         * lib/pipe-filter-ii.c (start_wrapper, _beginthreadex, CloseHandle,
13006         WaiForSingleObject, WaitForMultipleObjects): New on OS/2 kLIBC.
13007         Reuse Win32 code on OS/2 kLIBC.
13008         * lib/spawn-pipe.c: Reuse Win32 code on OS/2 kLIBC.
13009         * lib/w32spawn.h: Do not include windows.h on OS/2 kLIBC.
13011         wchar: fix "conflicting types" error for __wcwidth on OS/2 kLIBC
13012         On OS/2 kLIBC, wcwidth is a macro that expands to the name of a
13013         static inline function.  The implementation of wcwidth in wcwidth.c
13014         causes a "conflicting types" error.
13015         * lib/wchar.in.h: Undefine wcwidth on OS/2 kLIBC.
13017         w32spawn: clear SHELL_SPECIAL_CHARS and SHELL_SPACE_CHAR on OS/2 kLIBC
13018         spawn() on OS/2 kLIBC is not silly like one on Windows
13019         * libc/w32spawn.h (SHELL_SPECIAL_CHARS, SHELL_SPACE_CHAR): Set both to
13020         empty string on OS/2 kLIBC.
13022         pipe-filter-aux: undefine HAVE_SELECT on KLIBC
13023         On OS/2 kLIBC, select() works only on sockets.
13024         * lib/pipe-filter-aux.h (HAVE_SELECT): Undefine on OS/2 kLIBC.
13026         binary-io: don't put fd in binary mode if it is a console on EMX
13027         * lib/binary-io.h (SET_BINARY): Don't put fd in binary mode if it is
13028         a console on EMX.
13030 2016-01-15  Pádraig Brady  <P@draigBrady.com>
13032         doc: mention unfixed issues with unsupported localtime() values
13033         * doc/posix-functions/localtime.texi: Mention that FreeBSD 10
13034         returns nonsense for localtime(2^56).
13035         * doc/posix-functions/localtime_r.texi: Likewise.
13037 2016-01-14  Pádraig Brady  <P@draigBrady.com>
13039         doc: mention setlocale() issues on OpenBSD
13040         * doc/posix-functions/setlocale.texi: Mention setlocale(LC_ALL,"")
13041         never fails, and the need to check categories individually.
13043 2016-01-14  Pádraig Brady  <P@draigBrady.com>
13045         sig2str: list all signals on FreeBSD >= 7
13046         FreeBSD >= 7 is contravening POSIX by not defining NSIG
13047         to the maximal statically defined signal value.
13048         It does define _SIG_MAXSIG though, so base SIGNUM_BOUND on that.
13049         * lib/sig2str.h (SIGNUM_BOUND): Define to (_SIG_MAXSIG - 2)
13050         where available, even when NSIG is defined.
13052 2016-01-13  Paul Eggert  <eggert@cs.ucla.edu>
13054         acl-permissions: port to USE_ACL==0 platforms
13055         I ran into this problem when building bleeding-edge GNU Emacs
13056         with gcc -fsanitize=address on Fedora 23.  On this platform
13057         the ACL library does not pass the 'configure' test and Emacs
13058         then does not build due in part to what appear to be typos in the
13059         ACL part of Gnulib.
13060         * lib/acl-internal.c (free_permission_context):
13061         * lib/acl-internal.h (struct permission_context):
13062         Test whether USE_ACL is nonzero, not whether it is defined.
13064 2016-01-12  Martin Sebor  <msebor@redhat.com>
13066         mktime: rename macro to avoid glibc clash
13067         * lib/mktime.c [DEBUG] (DEBUG): Rename to DEBUG_MKTIME.  See:
13068         https://sourceware.org/ml/libc-alpha/2016-01/msg00267.html
13070 2016-01-12  Paul Eggert  <eggert@cs.ucla.edu>
13072         Port "$@" to OpenIndiana ksh93
13073         In http://lists.gnu.org/r/bug-autoconf/2015-12/msg00000.html
13074         Pavel Raiskup reports that ${1+"$@"} runs afoul of a bug in /bin/sh
13075         (derived from ksh 93t+ 2010-03-05).  ${1+"$@"} works around an ancient
13076         bug long-dead shells, so remove the workaround.
13077         * build-aux/announce-gen, build-aux/do-release-commit-and-tag:
13078         * build-aux/gitlog-to-changelog, build-aux/gnu-web-doc-update:
13079         * build-aux/prefix-gnulib-mk, build-aux/update-copyright:
13080         * build-aux/useless-if-before-free, tests/test-update-copyright.sh:
13081         Use "$@" instead of ${1+"$@"}.
13083         Port Universal Time settings to strict POSIX
13084         * build-aux/announce-gen, build-aux/bootstrap:
13085         * build-aux/do-release-commit-and-tag, build-aux/git-version-gen:
13086         * build-aux/gitlog-to-changelog, build-aux/gnu-web-doc-update:
13087         * build-aux/gnupload, build-aux/mkinstalldirs:
13088         * build-aux/move-if-change, build-aux/prefix-gnulib-mk:
13089         * build-aux/update-copyright, build-aux/useless-if-before-free:
13090         * build-aux/vc-list-files, tests/test-strftime.c:
13091         Use TZ="UTC0", not TZ="UTC".  Either works on GNU platforms,
13092         but POSIX says the behavior of TZ="UTC" is undefined.
13094 2016-01-02  Paul Eggert  <eggert@cs.ucla.edu>
13096         msvc-inval: fix problem with unset shell var
13097         Problem reported by Karl Berry in:
13098         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00004.html
13099         * modules/msvc-inval (Depends-on):
13100         AC_REQUIRE gl_MSVC_INVAL instead of merely calling it.
13101         * modules/msvc-nothrow (Depends-on): Likewise for gl_MSVC_NOTHROW.
13103 2016-01-01  Pádraig Brady  <P@draigBrady.com>
13105         tests: for compare_(), use cmp -s where available
13106         * tests/init.sh (compare_): Only fall back to cmp without
13107         the POSIX defined -s option, where this is not available.
13109 2016-01-01  Paul Eggert  <eggert@cs.ucla.edu>
13111         version-etc: new year
13112         * build-aux/gendocs.sh (version):
13113         * doc/gendocs_template:
13114         * doc/gendocs_template_min:
13115         * doc/gnulib.texi:
13116         * lib/version-etc.c (COPYRIGHT_YEAR):
13117         Update copyright dates by hand in templates and the like.
13118         * all files: Run 'make update-copyright'.
13120 2015-12-31  Paul Eggert  <eggert@cs.ucla.edu>
13122         human: fix output buffer overrun by 1
13123         * lib/human.c (human_readable): Fix off-by-one typo in buffer
13124         calculation that could lead to a one-byte buffer overrun.
13126 2015-12-28  Daiki Ueno  <ueno@gnu.org>
13128         maint: fix operator precedence in mbrtowc test
13129         This is a fix for test breakage introduced by commit 45228d96; the
13130         equality expression must be parenthesized when negated with '!',
13131         otherwise we always get:
13133           test-mbrtowc.c:49: assertion 'ret == (size_t)(-2)' failed
13135         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT): Negate the entire expression.
13136         * m4/mbrlen.m4 (gl_MBRLEN_EMPTY_INPUT): Likewise.
13138 2015-12-23  James Youngman  <jay@gnu.org>
13140         regexprops-generic: update from regex.h
13141         * doc/regexprops-generic.texi: update by running the regexprops binary
13142         from findutils (the command line is 'regexprops "Regular Expressions"
13143         generic').  The recent (ish) change (5a5a9388) to regex.h aligning
13144         gnulib with GNU grep had made this document out-of-date.
13146 2015-12-23  Pádraig Brady  <P@draigBrady.com>
13148         strftime-tests: avoid false failure on OS X
13149         * tests/test-strftime.c (struct localtime_rz_test): Add an
13150         ahistorical member which is used to warn rather than fail
13151         when tm_isdst isn't set for such entries.  This is the case for
13152         "1970-01-01 13:00:00 +1300 (NZDT)" on Darwin 13/14 at least.
13154 2015-12-20  Kamil Dudka  <kdudka@redhat.com>
13156         fts: ensure leaf optimization is used for NFS
13157         NFS provides usable dirent.d_type but not necessarily for all entries
13158         of large directories.  See <https://bugzilla.redhat.com/1252549>
13159         * lib/fts.c (leaf_optimization_applies): Append NFS on the white list.
13161 2015-12-20  Pádraig Brady  <P@draigBrady.com>
13163         fts: enable leaf optimization for XFS
13164         XFS provides usable dirent.d_type only for DT_DIR,
13165         but the noleaf optimization still applies.
13166         * lib/fts.c (leaf_optimization_applies): Add XFS to the white list.
13168 2015-12-17  Paul Eggert  <eggert@cs.ucla.edu>
13170         intprops: comment fix
13171         * lib/intprops.h: Fix comment.  Reported by Pádraig Brady in:
13172         http://lists.gnu.org/r/bug-gnulib/2015-12/msg00013.html
13174         intprops-test: work around GCC bug 68971
13175         Problem reported by Pádraig Brady in:
13176         http://lists.gnu.org/r/bug-gnulib/2015-12/msg00011.html
13177         * tests/test-intprops.c: Ignore -Woverflow in GCC 6 and earlier.
13178         (main): Add a case that better tests 64-bit long in this area.
13180 2015-12-09  Pavel Raiskup  <praiskup@redhat.com>
13182         gnulib-tool: allow multiple --local-dir usage
13183         * gnulib-tool: Use --local-dir to construct compound
13184         $local_gnulib_path path instead of $local_gnulib_dir.  Determine
13185         PATH_SEPARATOR early.
13186         (local_gnulib_dir): Rename into $local_gnulib_path everywhere.
13187         (func_gnulib_dir): Cut out PATH_SEPARATOR detection code into
13188         func_determine_path_separator because that needs to be detected
13189         earlier now.
13190         (func_determine_path_separator): New function.
13191         (func_path_foreach, func_path_foreach_inner): New functions.
13192         (func_path_prepend, func_path_append): Likewise.
13193         (func_lookup_local_file, func_lookup_local_file_cb): Likewise.
13194         (func_lookup_file, func_all_modules): Use new functions to work
13195         with local_gnulib_path.
13196         (func_modules_in_dir, func_exists_module): New callbacks for
13197         func_path_foreach.
13198         (func_exists_module, func_get_tests_module): Likewise.
13199         (func_is_local_file, func_should_symlink): New helper methods.
13200         (func_add_file, func_update_file): Use new func_should_symlink
13201         instead, DRY.
13202         (func_reconstruct_cached_local_gnulib_path): New helper.
13203         (func_reconstruct_cached_dir): New callback.
13204         (func_import): The cached_local_gnulib_dir renamed to
13205         cached_local_gnulib_path similarly to local_gnulib_dir.
13206         Use new func_reconstruct_cached_local_gnulib_path.
13207         (func_count_relative_local_gnulib_path): New sub-method.
13208         (func_create_testdir): Use func_should_symlink, DRY.
13209         (func_create_megatestdir): Use new functions to work with
13210         local_gnulib_path correctly.
13211         (func_append_local_dir): New helper.
13213 2015-12-08  Pádraig Brady  <P@draigBrady.com>
13215         fix freadptr to work with ungetc on all uClibc configs
13216         Reported at https://bugs.busybox.net/show_bug.cgi?id=4099
13217         where GNU coreutils cut(1) generates invalid output on uClibc
13218         when __UCLIBC_HAS_STDIO_GETC_MACRO__ is not defined.
13219         * lib/freadptr.c (freadptr): Return NULL if there are
13220         ungotten chars.  In this case freadseek() will iterate
13221         again to process the ungotten character.
13223 2015-11-13  Paul Eggert  <eggert@cs.ucla.edu>
13225         xalloc-oversized: improve performance with GCC 5
13226         * lib/xalloc-oversized.h (xalloc_oversized):
13227         Improve performance with GCC 5 by using __builtin_mul_overflow.
13229 2015-11-10  Paul Eggert  <eggert@cs.ucla.edu>
13231         intprops: new public macro EXPR_SIGNED
13232         Emacs can use this macro, so make it public.
13233         * doc/intprops.texi (Arithmetic Type Properties): Rename from
13234         'Integer Type Determination', since some of these macros apply
13235         to non-integer types.  Clarify what kinds of constant expressions
13236         these macros return.  Say when the arguments can be non-integers.
13237         Mention newly published macro EXPR_SIGNED.
13238         * lib/intprops.h (EXPR_SIGNED): Rename from _GL_INT_SIGNED, to
13239         make it public.  All uses changed.
13241         intprops: fix typo in clang port
13242         * lib/intprops.h (_GL_INT_OP_WRAPV): Fix misspelling of
13243         '__builtin_add_overflow' that is not caught by compiler.
13245 2015-11-05  Paul Eggert  <eggert@cs.ucla.edu>
13247         test-timespec: fix typo in previous change
13248         * tests/test-timespec.c (main): Fix typo that reduced test quality.
13250         timespec-sub: fix overflow bug; add tests
13251         * lib/timespec-add.c (timespec_add):
13252         * lib/timespec-sub.c (timespec_sub):
13253         Work even if time_t is narrower than int (a theoretical
13254         possibility).  Redo code for a bit more clarity.
13255         * lib/timespec-sub.c (timespec_sub):
13256         Fix off-by-2 bug if a.tv_sec == TYPE_MINIMUM (time_t) and 0 < b.tv_sec.
13257         * modules/timespec-tests, tests/test-timespec.c: New files.
13259         intprops-test: suppress -Woverlength-strings
13260         Problem reported by Pádraig Brady in:
13261         http://lists.gnu.org/r/bug-gnulib/2015-11/msg00008.html
13262         It is not worth the hassle to port this test to compilers that
13263         cannot handle long strings in diagnostics.
13264         * tests/test-intprops.c [__GNUC__]: Ignore -Woverlength-strings.
13266 2015-11-03  Pádraig Brady  <P@draigBrady.com>
13268         quotearg: add quotearg_n_style_colon()
13269         This quotes with default options of the specified style,
13270         but with quoting enabled for instances of ':'.
13271         * lib/quotearg.h (quotearg_n_style_colon): Description and declaration.
13272         * lib/quotearg.c (quotearg_n_style_colon): New function implementation.
13274 2015-11-04  Paul Eggert  <eggert@cs.ucla.edu>
13276         intprops: revise _WRAPV macros, revert _OVERFLOW
13277         The incompatible changes to the _OVERFLOW macros were too much of
13278         a hassle in practice, so revert them.  Instead, change the new
13279         _WRAPV macros to make them closer in behavior to GCC 5's new
13280         builtin_add_overflow etc. functions.  No other software was using
13281         these newly-added macros yet, so this should be OK.
13282         * NEWS: Revert previous change, since the incompatible change
13283         has been reverted, and nobody used the incompatible version.
13284         * doc/intprops.texi (Wraparound Arithmetic, Integer Type Overflow):
13285         Document revised behavior.
13286         (Integer Range Overflow): Adjust example to match above revisions.
13287         * lib/intprops.h (INT_ADD_OVERFLOW, INT_SUBTRACT_OVERFLOW)
13288         (INT_MULTIPLY_OVERFLOW): Revert previous change, so that
13289         these can be used in integer constant expressions again.
13290         (INT_CONST_ADD_OVERFLOW, INT_CONST_SUBTRACT_OVERFLOW)
13291         (INT_CONST_MULTIPLY_OVERFLOW): Remove, as these are no longer
13292         needed.
13293         (INT_CONST_ADD_WRAPV, INT_CONST_SUBTRACT_WRAPV)
13294         (INT_NEGATE_WRAPV, INT_CONST_MULTIPLY_WRAPV, INT_DIVIDE_WRAPV)
13295         (INT_REMAINDER_WRAPV, INT_LEFT_SHIFT_WRAPV):
13296         Remove, as they did not seem that useful.
13297         (INT_ADD_WRAPV, INT_SUBTRACT_WRAPV, INT_MULTIPLY_WRAPV)
13298         (_GL_INT_OP_WRAPV, _GL_INT_OP_WRAPV_LONGISH)
13299         (_GL_INT_OP_WRAPV_VIA_UNSIGNED):
13300         Support new semantics.
13301         (__has_builtin): New macro, if not alreay defined.
13302         (_GL__GENERIC_BOGUS, _GL_INT_OP_CALC, _GL_INT_OP_CALC1): New macros.
13303         * tests/test-intprops.c (INT_CONST_DIVIDE_OVERFLOW)
13304         (INT_CONST_REMAINDER_OVERFLOW, INT_CONST_LEFT_SHIFT_OVERFLOW)
13305         (INT_CONST_DIVIDE_WRAPV, INT_CONST_REMAINDER_WRAPV)
13306         (INT_CONST_LEFT_SHIFT_WRAPV): Remove.
13307         (CHECK_SBINOP, CHECK_SSUM, CHECK_SUM1, CHECK_SSUM1)
13308         (CHECK_SDIFFERENCE, CHECK_SPRODUCT, CHECK_PRODUCT1, CHECK_SPRODUCT1):
13309         New macros.
13310         (CHECK_BINOP, CHECK_UNOP, main, CHECK_SUM): Test new behavior.
13312 2015-11-03  Jim Meyering  <meyering@fb.com>
13314         intprops: add parentheses for when OP has precedence lower than "-"
13315         * lib/intprops.h (_GL_INT_OP_WRAPV_VIA_UNSIGNED): In "a OP b - c",
13316         "a OP b" must be parenthesized for when OP is like "<<", which has
13317         lower precedence than the following "-". Reported by Pádraig Brady.
13319 2015-11-03  Pádraig Brady  <P@draigBrady.com>
13321         quotearg: constify get_quoting_style parameters
13322         * lib/quotearg.h (get_quoting_style): Mark parameter as const.
13323         * lib/quotearg.c (get_quoting_style): Likewise.
13325 2015-11-02  Pádraig Brady  <P@draigBrady.com>
13327         quotearg: add support for $'' shell escaping
13328         * lib/quotearg.h: Add "shell-escape" and "shell-escape-always"
13329         items and descriptions.
13330         * lib/quotearg.c (quotearg_buffer_restyled): Add support for the
13331         above types by quoting like "shell", but using $'...' syntax
13332         for non printable characters, which should provide unambiguous
13333         printable output for any input.
13334         * tests/test-quotearg-simple.c: Update accordingly.
13336 2015-11-02  Pádraig Brady  <P@draigBrady.com>
13338         maint: use a more standard return from mbrtowc test
13339         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT): Don't return 1
13340         from the test program as this is non standard and often
13341         indicates an unhandled case in the test program.
13342         * m4/mbrlen.m4 (gl_MBRLEN_EMPTY_INPUT): Likewise.
13344 2015-10-30  Paul Eggert  <eggert@cs.ucla.edu>
13346         intprops: add WRAPV and const flavors for GCC 5
13347         If available, use GCC 5's builtin functions for efficient integer
13348         overflow checking.  Also, add macros like INT_ADD_WRAPV efficently
13349         and safely compute the low-order bits of the correct answer.
13350         A downside of these efficient functions is that they cannot be
13351         used in constant expressions, so add macros like INT_CONST_ADD_OVERFLOW
13352         and INT_CONST_ADD_WRAPV that can be used even in constant expressions.
13353         * NEWS: Document the incompatible changes to INT_ADD_OVERFLOW etc.
13354         * doc/intprops.texi (Integer Properties, Integer Type Overflow):
13355         Document the changes.
13356         (Wraparound Arithmetic): New section.
13357         (Integer Range Overflow):
13358         Put this subsection last, since it's least useful.
13359         * lib/intprops.h (INT_CONST_ADD_OVERFLOW)
13360         (INT_CONST_SUBTRACT_OVERFLOW, INT_CONST_MULTIPLY_OVERFLOW):
13361         New macros, with the meaning that INT_ADD_OVERFLOW etc. used to have.
13362         (INT_CONST_ADD_WRAPV, INT_CONST_SUBTRACT_WRAPV)
13363         (INT_NEGATE_WRAPV, INT_CONST_MULTIPLY_WRAPV, INT_DIVIDE_WRAPV)
13364         (INT_REMAINDER_WRAPV, _GL_INT_OP_WRAPV, _GL_EXPR_CAST)
13365         (_GL_INT_OP_WRAPV_LONGISH, INT_ADD_WRAPV, INT_SUBTRACT_WRAPV)
13366         (INT_MULTIPLY_WRAPV, _GL_OP_OVERFLOW, _GL_OP_WRAPV, _GL_OP_WRAPV_GENSYM):
13367         New macros.
13368         (INT_ADD_OVERFLOW, INT_SUBTRACT_OVERFLOW, INT_MULTIPLY_OVERFLOW):
13369         Generate calls to GCC builtins if available, for speed.
13370         * tests/test-intprops.c (INT_CONST_DIVIDE_OVERFLOW)
13371         (INT_CONST_REMAINDER_OVERFLOW, INT_CONST_LEFT_SHIFT_OVERFLOW)
13372         (INT_CONST_DIVIDE_WRAPV, INT_CONST_REMAINDER_WRAPV)
13373         (INT_CONST_LEFT_SHIFT_WRAPV): New macros.
13374         (main, CHECK_BINOP, CHECK_UNOP, CHECK_SUM, CHECK_PRODUCT)
13375         (CHECK_QUOTIENT, CHECK_REMAINDER):
13376         Test WRAPV and CONST flavors (when available) too.
13378 2015-10-30  Pádraig Brady  <P@draigBrady.com>
13380         doc: use extended timezone format in iso-8601 example
13381         * doc/parse-datetime.texi: The standard states that extended format
13382         is to be used consistently throughout.
13383         Note that lib/parse-datetime.y can handle either tz format.
13385 2015-10-25  Paul Eggert  <eggert@cs.ucla.edu>
13387         stdalign: port to Sun C 5.9
13388         * doc/posix-headers/stdalign.texi: Document this.
13389         * lib/stdalign.in.h (_Alignas): Sun C 5.9 also supports
13390         __attribute__ ((__aligned__ (...))).
13392 2015-10-20  Paul Eggert  <eggert@cs.ucla.edu>
13394         time_rz: fix comment about tzalloc
13395         * lib/time_rz.c (tzalloc): Fix comment.
13397 2015-10-18  Paul Eggert  <eggert@cs.ucla.edu>
13399         stdalign: work around pre-4.9 GCC x86 bug
13400         * lib/stdalign.in.h (_Alignof): Work around bug in pre-4.9 GCC on
13401         x86, when -std=gnu11 is used.  Problem reported by Jim Meyering in:
13402         http://lists.gnu.org/r/bug-gnulib/2015-10/msg00038.html
13404 2015-10-18  Pádraig Brady  <P@draigBrady.com>
13406         maint.mk: sc_tight_scope: remove extraneous expressions
13407         * top/maint.mk (tight_scope): This is not really required since
13408         commit 3ef58f46 as sed_wrap ensures we don't get an empty expression
13409         that matches all nm entries.  But it does remove extraneous entries
13410         that may be confusing or cause issue in future maintenance.
13412 2015-10-18  Paul Eggert  <eggert@cs.ucla.edu>
13414         time_rz: return NULL if localtime_r fails
13415         * lib/time_rz.c (localtime_rz): Return NULL if localtime_r fails,
13416         while still attempting to pacify bleeding-edge GCC.
13418         fts: port to C11 alignof
13419         * doc/posix-headers/stdalign.texi (stdalign.h):
13420         Document the C11 restriction.
13421         * lib/fts.c: Include stddef.h, for max_align_t.
13422         (fts_alloc): Align using max_align_t, not FTSENT.
13423         * modules/fts (Depends-on): Add stddef.
13425 2015-10-18  Jim Meyering  <meyering@fb.com>
13427         time_rz: avoid warning from bleeding-edge gcc's -Wnonnull
13428         Compiling with gcc version 6.0.0 20151017 (experimental) (GCC), I
13429         would see this:
13431         lib/time_rz.c: In function 'localtime_rz':
13432         lib/time_rz.c:292:15: error: nonnull argument 'tm' compared to NULL \
13433           [-Werror=nonnull]
13434                    if (tm && !save_abbr (tz, tm))
13435                        ^
13437         That was complaining about "tm" because it is a parameter that was
13438         declared with the __nonnull__ attribute.
13439         * lib/time_rz.c (localtime_rz): Don't bother setting "tm" to the
13440         result of localtime_r.
13442 2015-10-17  Jim Meyering  <meyering@fb.com>
13444         maint.mk: _gl_TS_function_match: fix "extern" name extracting regexp
13445         * top/maint.mk (_gl_TS_function_match): This heuristic extern-function-
13446         name-extraction regexp mistakenly used \S+, and would mistakenly
13447         extract "*F" from "extern int *F()" rather than the desired "F".
13448         Use \w+ instead.
13450 2015-10-17  Jim Meyering  <meyering@fb.com>
13452         maint.mk: sc_tight_scope: factor and support OS X
13453         * top/maint.mk (_gl_tight_scope): Address three issues:
13454         - factor out four instances of code that wraps a string in "^...$"
13455         - allow nm-reported symbol names to have an optional leading "_"
13456         - add "main" to the list of ignored variable names, because on os x,
13457         "main" has nm-reported type "S" in the variable-checking section.
13459 2015-10-16  Dmitry Smirnov  <onlyjob@member.fsf.org>
13461         safe-alloc-tests: fix typo in license header
13462         * tests/test-safe-alloc.c: Mention LGPL 2.1, not 3.1
13464 2015-10-15  Simon Reinhardt  <simon@keinstein.org>
13466         copy-file: fix mem leak in error case
13467         * lib/copy-file.c (qcopy_file_preserving): Free the 32KiB buffer
13468         upon error opening or performing I/O to the src and dest files.
13470 2015-10-15  Mike Frysinger  <vapier@chromium.org>
13472         localename: control langinfo.h inclusion
13473         This header is only used to work around buggy behavior in old
13474         versions of glibc, so do not include it all the time.  Otherwise
13475         we get build failures on systems that do not provide langinfo.h.
13476         * lib/localename.c: Wrap langinfo.h include with same ifdefs used
13477         in the source later on.
13478         The patch was originally submitted to gettext as:
13479         https://lists.gnu.org/r/bug-gettext/2015-10/msg00011.html
13481 2015-10-13  Paul Eggert  <eggert@cs.ucla.edu>
13483         binary-io, math, pthread, sys_socket, u64, unistd: port to strict C
13484         * lib/binary-io.c, lib/math.c, lib/pthread.c, lib/sys_socket.c:
13485         * lib/u64.c, lib/unistd.c:
13486         Append 'typedef int dummy;', to pacify compilers that are picky
13487         about empty translation units.
13489 2015-10-12  Pino Toscano  <ptoscano@redhat.com>
13491         accept4-tests: fix to avoid non portable flags
13492         * tests/test-accept4.c (main): Pass only SOCK_* flags to accept4(),
13493         as they are the only documented ones, and passing others may trigger
13494         EINVAL (seen on FreeBSD 10.1-RELEASE).
13495         * doc/glibc-functions/accept4.texi: Mention that we don't provide
13496         the SOCK_CLOEXEC or SOCK_NONBLOCK defines.
13498 2015-10-06  Pavel Raiskup  <praiskup@redhat.com>
13500         gnulib-tool: fix tests of 'extensions' module
13501         This complements f8fe25fab60e3c687a124 commit.
13502         * gnulib-tool (func_emit_pre_early_macros): New function, it wraps
13503         emitting of initial gl_EARLY macros.
13504         (func_import, func_create_testdir): All dumps of gl_PROG_AR_RANLIB
13505         replaced with func_emit_pre_early_macros call.
13507 2015-10-06  Paul Eggert  <eggert@cs.ucla.edu>
13509         unicase/locale-language: fix typo in utf-8 cookie
13510         * lib/unicase/locale-languages.gperf: Fix gperf input file format.
13511         Problem reported by Zbigniew Jędrzejewski-Szmek.
13513 2015-10-02  Paul Eggert  <eggert@cs.ucla.edu>
13515         xalloc: do not worry about GCC 5 warning on 32 bit
13516         * lib/xalloc.h: Revert previous change.
13517         I found a better way to fix this in coreutils.
13519 2015-10-02  Pádraig Brady  <P@draigBrady.com>
13521         xalloc: avoid GCC 5.1 warning on 32 bit
13522         * lib/xalloc.h: Disable -Wstrict-overflow for uses of
13523         xalloc_oversized(), which was seen to give this warning
13524         on GCC 5.1 on 32 bit: "assuming signed overflow does not occur
13525         when simplifying conditional".
13527 2015-10-02  Daiki Ueno  <ueno@gnu.org>
13529         uniname/uniname-tests: avoid compiler warnings
13530         * tests/uniname/test-uninames.c (fill_names, fill_aliases): Remove
13531         unused local variables.
13532         (test_alias_lookup): Fix alias name display in failure cases.
13534 2015-09-26  Paul Eggert  <eggert@cs.ucla.edu>
13536         c-ctype: do not worry about EBCDIC + char signed
13537         Drop support for EBCDIC with char being signed, as this breaks too
13538         many programs.  Problem reported by Ben Pfaff in:
13539         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00053.html
13540         * lib/c-ctype.h: Verify that we are not using EBCDIC with
13541         char being signed.
13542         (_C_CTYPE_LOWER_A_THRU_F_N): New macro.
13543         (_C_CTYPE_LOWER_N, _C_CTYPE_A_THRU_F): Use it.
13544         (_C_CTYPE_DIGIT, _C_CTYPE_LOWER, _C_CTYPE_PUNCT, _C_CTYPE_UPPER):
13545         (c_isascii, c_isgraph, c_isprint, c_ispunct, c_tolower, c_toupper):
13546         * tests/test-c-ctype.c (test_all):
13547         Simplify by assuming standard char values cannot be negative.
13548         * tests/test-c-ctype.c (NCHARS, to_char): Remove; all uses removed.
13550 2015-09-25  Paul Eggert  <eggert@cs.ucla.edu>
13552         c-ctype: port better to z/OS EBCDIC
13553         Problems reported by Daniel Richard G. in:
13554         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00050.html
13555         * lib/c-ctype.h (_C_CTYPE_CNTRL): Rewrite in terms of
13556         the C standard escapes and _C_CTYPE_OTHER_CNTRL.
13557         (_C_CTYPE_OTHER_CNTRL): New macro.
13558         * tests/test-c-ctype.c (test_all): Test from CHAR_MIN, not
13559         from SCHAR_MIN, as the functions are defined only from values
13560         promoted from char or from unsigned char, not necessarily from
13561         signed char.
13563 2015-09-25  Pavel Raiskup  <praiskup@redhat.com>
13565         gnulib-common.m4: fix gl_PROG_AR_RANLIB/AM_PROG_AR clash
13567         The gl_PROG_AR_RANLIB (it is always called by gl_EARLY) sets AR
13568         and ARFLAGS variables.  Doing this unconditionally could break
13569         later Automake's AM_PROG_AR invocation (at least it's
13570         AC_CHECK_TOOLS call to detect correct 'ar' binary).
13572         Original purpose of the gl_PROG_AR_RANLIB was only to handle the
13573         Amsterdam Compiler Kit, so make the previous code to have effects
13574         only on ACK, and rather automatically call the Automake's
13575         AM_PROG_AR as soon as possible to decide other cases.
13577         References:
13578         http://lists.gnu.org/r/bug-gnulib/2015-07/msg00001.html
13580         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): AC_BEFORE AM_PROG_AR.
13581         Set the AR/ARFLAGS to ACK defaults OR call AM_PROG_AR.  If neither
13582         is possible, keep setting AR/ARFLAGS to reasonable defaults.
13583         * gnulib-tool (func_import): Put the gl_USE_SYSTEM_EXTENSIONS
13584         right before gl_PROG_AR_RANLIB into gnulib-comp.m4 (if the
13585         'extensions' module is used.
13586         * modules/extensions (configure.ac-early): Remove as this snippet
13587         is added to gnulib-comp.m4 earlier anyway.
13589 2015-09-25  Paul Eggert  <eggert@cs.ucla.edu>
13591         sockets: MS Windows initalization fixes
13592         Problem reported by Test User in:
13593         http://lists.gnu.org/r/help-shishi/2015-09/msg00001.html
13594         * lib/sockets.h (SOCKETS_1_0, SOCKETS_2_0, SOCKETS_2_1):
13595         Correct the endianness.
13596         * lib/sockets.c (gl_sockets_startup): Return 2 on any version
13597         number mismatch, not just on <.  Cleanup before any such failure.
13599 2015-09-25  Mats Erik Andersson  <gnu@gisladisker.se>
13601         gc: fix detection of installed libgcrypt version
13602         * m4/gc.m4: Use AM_PATH_LIBCRYPT to test for libcrypt versions
13603         at least as recent as 1.4.4.  The previously used macro is not
13604         available now, since modules were removed in version 1.6.0.
13606 2015-09-25  Paul Eggert  <eggert@cs.ucla.edu>
13608         c-ctype: rewrite to use inline functions
13609         This simplifies maintenance, since it makes for just one
13610         implementation of each function, letting the compiler have the fun
13611         of optimization.  In practice this works well nowadays with GCC.
13612         E.g., c_isascii might need only three instructions even though the
13613         source code lists every ASCII character individually in a large
13614         switch statement.
13615         Also, fix some z/OS porting bugs reported by Daniel Richard G. in:
13616         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00037.html
13617         * NEWS: Document the API change.
13618         * lib/c-ctype.c: Drastically simplify, since this now just expands
13619         inline functions.
13620         * lib/c-ctype.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
13621         (C_CTYPE_INLINE): New macro.
13622         (C_CTYPE_CONSECUTIVE_DIGITS, C_CTYPE_CONSECUTIVE_LOWERCASE)
13623         (C_CTYPE_CONSECUTIVE_UPPERCASE): Remove.
13624         Verify that either ASCII or EBCDIC is being used.
13625         (_C_CTYPE_SIGNED_EBCDIC, _C_CTYPE_CNTRL, _C_CTYPE_A_THRU_F_N)
13626         (_C_CTYPE_DIGIT_N, _C_CTYPE_LOWER_N, _C_CTYPE_UPPER_N)
13627         (_C_CTYPE_CASES, _C_CTYPE_A_THRU_F, _C_CTYPE_DIGIT, _C_CTYPE_LOWER)
13628         (_C_CTYPE_UPPER, _C_CTYPE_PUNCT_PLAIN):
13629         New private macros.
13630         (_C_CTYPE_CNTRL): In EBCDIC, '\x07' is a control, not '\xff'.
13631         (c_isalnum, c_isalpha, c_isascii, c_isblank, c_iscntrl, c_isdigit)
13632         (c_isgraph, c_islower, c_isprint, c_ispunct, c_isspace, c_isupper)
13633         (c_isxdigit, c_tolower, c_toupper): Now inline functions.
13634         (c_tolower, c_toupper): When converting, return the unsigned char,
13635         as that is what z/OS does.
13636         * lib/c-strcaseeq.h (CASEEQ): Simplify in the light of the removal
13637         of some c-ctype.h macros.
13638         * modules/c-ctype (Depends-on): Add extern-inline; remove verify.
13639         * tests/test-c-ctype.c (test_all): Fix test for c_toupper and
13640         c_tolower promotion to be compatible with z/OS.
13642 2015-09-24  Pavel Raiskup  <praiskup@redhat.com>
13644         gitlog-to-changelog: trim only trailing whitespaces
13645         This is fix for --format regression introduced by commit
13646         2b93079a5d1baa4d;  it caused that --format='%s%n%n%b%n' (see the
13647         doubled %n string) had no effect anymore.  This format
13648         specification has been used e.g. by GNU paxuitils (commit
13649         edfd8bcc3).
13651         * build-aux/gitlog-to-changelog (main): Stop squashing multiple
13652         newlines in commmit messages.
13654 2015-09-23  Paul Eggert  <eggert@cs.ucla.edu>
13656         Test that c_iscntrl agrees with iscntrl, etc.
13657         Suggested by Daniel Richard G. in:
13658         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00034.html
13659         * modules/c-ctype-tests (Depends-on): Add ctype.
13660         * tests/test-c-ctype.c: Include <ctype.h>.
13661         (NCHARS): New constant.
13662         (test_agree_with_C_locale): New function.
13663         (main): Use it.
13664         (test_all): Use named constants.
13666         c-ctype: improve c_isascii testing
13667         * tests/test-c-ctype.c (test_all): Port c_isascii test to EBCDIC.
13668         Add a test to count the number of ASCII characters.
13670 2015-09-22  Paul Eggert  <eggert@cs.ucla.edu>
13672         savewd: remove SAVEWD_CHDIR_READABLE
13673         It was problematic in the light of file systems that ignore umask.
13674         Problem reported by Sebastian Unger in: http://bugs.gnu.org/21534
13675         * NEWS: Document this.
13676         * lib/mkancesdirs.c (mkancesdirs): MAKE_DIR now returns 0 if
13677         successful, -1 (setting errno) on failure, rather than something
13678         more complicated than that.
13679         * lib/mkdir-p.c (make_dir_parents):
13680         Do not use SAVEWD_CHDIR_READABLE.
13681         * lib/savewd.c (savewd_chdir):
13682         Remove support for SAVEWD_CHDIR_READABLE.
13683         * lib/savewd.h (SAVEWD_CHDIR_READABLE): Remove.
13685         c-ctype: port better to EBCDIC
13686         Problems reported by Daniel Richard G. in
13687         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00020.html
13688         * lib/c-ctype.c: Include <limits.h>, for CHAR_MIN and CHAR_MAX.
13689         Include "verify.h".
13690         (C_CTYPE_ASCII, C_CTYPE_CONSECUTIVE_DIGITS)
13691         (C_CTYPE_CONSECUTIVE_LOWERCASE, C_CTYPE_CONSECUTIVE_UPPERCASE):
13692         Define as enum constants with value false, if not defined, so that
13693         code can use 'if' instead of 'ifdef'.  Using 'if' helps make the
13694         code more portable, as both branches of the 'if' are compiled on
13695         all platforms.
13696         (C_CTYPE_EBCDIC): New constant.
13697         Verify that the character set is either ASCII or EBCDIC.
13698         (to_char): New static function.
13699         (c_isascii, c_iscntrl):
13700         Assume standard control-character assignments for EBCDIC.
13701         (c_isalnum, c_isalpha, c_isdigit, c_islower, c_isgraph, c_isprint)
13702         (c_ispunct, c_isupper, c_isxdigit, c_tolower, c_toupper):
13703         Rewrite to use 'if' instead of 'ifdef'.
13704         Use to_char if non-ASCII.  Prefer <= to >=.
13705         Prefer true and false to 1 and 0, for booleans.
13706         (c_iscntrl): Use 'if', not 'ifdef'.
13707         * modules/c-ctype (Depends-on): Add verify.
13708         * tests/test-c-ctype.c: Include <limits.h>, for CHAR_MIN
13709         (to_char): New function.
13710         (test_all): Port to EBCDIC.  Add some more tests, e.g., for c_ispunct.
13712 2015-09-21  Pádraig Brady  <P@draigBrady.com>
13714         nanosleep: fix return code for interrupted replacement
13715         * lib/nanosleep.c (nanosleep): In the replaced nanosleep, ensure
13716         that we return -1 in the case the call is interrupted by a signal,
13717         rather than the current value of 1.
13718         Diagnosed and tested by Daniel Richard G.
13720 2015-09-19  Paul Eggert  <eggert@cs.ucla.edu>
13722         Diagnose ERE '()|\1'
13723         Problem reported by Hanno Böck in: http://bugs.gnu.org/21513
13724         * lib/regcomp.c (parse_reg_exp): While parsing alternatives, keep
13725         track of the set of previously-completed subexpressions available
13726         before the first alternative, and restore this set just before
13727         parsing each subsequent alternative.  This lets us diagnose the
13728         invalid back-reference in the ERE '()|\1'.
13730         regex: merge patches from libc
13732         2015-09-08  Joseph Myers  <joseph@codesourcery.com>
13733         Move bits/libc-lock.h and bits/libc-lockP.h out of bits/ (bug 14912).
13734         * lib/regex_internal.h:
13735         Include <libc-lock.h> instead of <bits/libc-lock.h>.
13737         2015-06-09  Joseph Myers  <joseph@codesourcery.com>
13738         Fix regcomp wcscoll, wcscmp namespace (bug 18497).
13739         * lib/regcomp.c (build_range_exp): Call __wcscoll instead of
13740         wcscoll.
13741         * lib/regexec.c (check_node_accept_bytes): Likewise.
13743         2015-06-05  Joseph Myers  <joseph@codesourcery.com>
13744         Fix regex wcrtomb namespace (bug 18496).
13745         * lib/regex_internal.c (build_wcs_upper_buffer): Call __wcrtomb
13746         instead of wcrtomb.
13748         2015-06-05  Joseph Myers  <joseph@codesourcery.com>
13749         Fix regex wctype namespace (bug 18495).
13750         * lib/regcomp.c (re_compile_fastmap_iter): Call __towlower
13751         instead of towlower.
13752         * lib/regex_internal.c (build_wcs_upper_buffer): Call __iswlower
13753         instead of iswlower.  Call __towupper instead of towupper.
13754         * lib/regex_internal.h (IS_WIDE_WORD_CHAR): Call __iswalnum
13755         instead of iswalnum.
13757         2015-01-07  Chris Metcalf  <cmetcalf@ezchip.com>
13758         * lib/regcomp.c (parse_bracket_exp): Initialize type to
13759         COLL_SYM in a couple of places to avoid uninitialized variable
13760         wanings on tilegx gcc 4.8.2.
13762         2014-11-24  Siddhesh Poyarekar  <siddhesh@redhat.com>
13763         * lib/regex_internal.h: Remove NOT_IN_libc.
13765         2014-11-17  Andreas Schwab  <schwab@suse.de>
13766         * lib/regex_internal.h: Don't include <locale/elem-hash.h>.
13768         2014-09-11  Roland McGrath  <roland@hack.frob.com>
13769         Move findidx nested functions to top-level.
13770         * lib/regcomp.c [_LIBC]: #include <locale/weight.h>.
13771         (build_equiv_class) [_LIBC]: Don't #include it inside the function.
13772         Pass new arguments to findidx.
13773         * lib/regexec.c [RE_ENABLE_I18N] [_LIBC]: #include <locale/weight.h>.
13774         [RE_ENABLE_I18N] (check_node_accept_bytes) [_LIBC]:
13775         Don't #include it inside the function.  Pass new arguments to findidx.
13776         * lib/regex_internal.h:
13777         [!NOT_IN_libc] [_LIBC]: #include <locale/weight.h>.
13778         (re_string_elem_size_at): Don't #include it inside the function.
13779         Pass new arguments to findidx.
13781         2014-08-01  Siddhesh Poyarekar  <siddhesh@redhat.com>
13782         Check if DEBUG is defined in regex_internal.c
13783         * lib/regex_internal.c: Check if DEBUG is defined and is set.
13785 2015-09-08   Assaf Gordon  <assafgordon@gmail.com>
13787         ceill: detect buggy OpenBSD implementation
13788         * m4/ceill.m4 (gl_FUNC_CEILL): Detect buggy openBSD implementation
13789         which returns zero for small values.  Discussed here:
13790         http://lists.gnu.org/r/bug-gnulib/2015-08/msg00010.html
13792 2015-09-08  Dave Chiluk  <chiluk@canonical.com>
13794         mountlist: add me_mntroot field on Linux machines
13795         * lib/mountlist.c (read_file_system_list): Populate me_mntroot in
13796         mount_entry so Linux machines based on /proc/self/mountinfo can
13797         distinguish between bind mounts and original mounts.  In reality bind
13798         mounts aren't treated differently than mountroot=/ mounts by the
13799         kernel, but the user often wants these bind mounts distinguished.
13800         * lib/mountlist.h (struct mount_entry): Add me_mntroot element.
13801         More details at https://pad.lv/1432871
13803 2015-09-08  Christian Egli  <christian.egli@sbs.ch>
13805         doc: Describe to use multiple instances of gnulib
13806         * doc/gnulib-tool.texi: Add a section to the manual outlining how two
13807         instances of gnulib with different modules can be used, for example one
13808         for a lib and another one for associated tools.
13810 2015-09-01  Pádraig Brady  <P@draigBrady.com>
13812         base32: mark function as __attribute__ const
13813         * lib/base32.h (isbase32): Mark __attribute__ const as
13814         suggested by GCC, and consistent with the base64 module.
13816 2015-08-20  Daiki Ueno  <ueno@gnu.org>
13818         gnulib-tool: don't transform binary files with sed
13819         * gnulib-tool (func_add_or_update): Don't apply sed_transform_* to
13820         .mo and .class files.
13821         Reported by Denis Denisov.
13823 2015-08-10  Daiki Ueno  <ueno@gnu.org>
13825         gperf: respect silent rules
13826         * modules/gperf (Makefile.am): Define V_GPERF, V_GPERF_, and
13827         V_GPERF_0 for silent rules.
13828         * modules/iconv_open (Makefile.am): Use V_GPERF.
13829         * modules/unicase/locale-language (Makefile.am): Likewise.
13830         * modules/unicase/special-casing (Makefile.am): Likewise.
13831         * modules/unictype/category-byname (Makefile.am): Likewise.
13832         * modules/unictype/combining-class-byname (Makefile.am): Likewise.
13833         * modules/unictype/joininggroup-byname (Makefile.am): Likewise.
13834         * modules/unictype/joiningtype-byname (Makefile.am): Likewise.
13835         * modules/unictype/property-byname (Makefile.am): Likewise.
13836         * modules/unictype/scripts (Makefile.am): Likewise.
13837         * modules/uninorm/composition (Makefile.am): Likewise.
13839 2015-08-03  Paul Eggert  <eggert@cs.ucla.edu>
13841         Improve port of stdalign to C++11
13842         Problem reported by Sundaram in:
13843         http://lists.gnu.org/r/bug-gnulib/2015-08/msg00003.html
13844         * lib/stdalign.in.h (alignof, alignas): Don't define if C++11 or newer.
13845         (__alignas_is_defined): Define if C++11 or newer.
13847 2015-08-01  Assaf Gordon  <assafgordon@gmail.com>  (tiny change)
13849         pmccabe2html: fix gawk regex escaping
13850         * build-aux/pmccabe2html: Add one more backslash to properly
13851         escape the gsub replacement value.  Fixes this error:
13852         gawk: ./build-aux/pmccabe2html:425: \
13853         warning: escape sequence `\&' treated as plain `&'
13855 2015-07-29  Paul Eggert  <eggert@cs.ucla.edu>
13857         time_rz: port to pedantic memcpy
13858         * lib/time_rz.c (tzalloc): Pacify pedantic memcpy implementations
13859         that reject memcpy (..., NULL, 0).
13861 2015-07-27  Paul Eggert  <eggert@cs.ucla.edu>
13863         time_rz: port better to MinGW
13864         Don't change tzname, as this makes MinGW dump core (Bug#21020).
13865         Instead, store the tzname copy in the struct tm_zone object.
13866         Problem reported by Eli Zaretskii in: http://bugs.gnu.org/21020#48
13867         * lib/strftime.c [!_LIBC]:
13868         * lib/time_rz.c: Include time-internal.h.
13869         * lib/strftime.c (strftime_case_) [!HAVE_TM_ZONE]: Infer the zone
13870         name from *TZ rather than from TZNAME, doable because *TZ now has
13871         a tzname_copy member.
13872         * lib/time-internal.h: New file, with contents taken from
13873         lib/time_rz.c.  It's separate because strftime.c now accesses
13874         struct tm_zone members.
13875         (struct tm_zone) [HAVE_TZNAME && !HAVE_TM_ZONE]:
13876         New member tzname_copy.
13877         * lib/time_rz.c (struct tm_zone): Move to time-internal.h.
13878         (tzalloc) [HAVE_TZNAME && !HAVE_TM_ZONE]:
13879         Initialize tzname_copy member.
13880         (save_abbr) [HAVE_TZNAME && !HAVE_TM_ZONE]: Save abbreviation
13881         in tzname_copy member.
13882         (revert_tz) [HAVE_TZNAME]: Remove no-longer-needed tzname saving.
13883         (restore_tzname): Remove; no longer needed.  All calls removed.
13884         * modules/time_rz (Files): Add lib/time-internal.h.
13886         time: port __need_time_t to MinGW
13887         * lib/time.in.h (__need_time_t): Do not treat specially on MinGW.
13888         Fix reported by Eli Zaretskii in: http://bugs.gnu.org/21020#36
13890 2015-07-25  Paul Eggert  <eggert@cs.ucla.edu>
13892         strftime: fix newly-introduced bug on Solaris
13893         * lib/strftime.c (strftime_case_): Set the local variable 'zone'
13894         consistently at the start, rather than doing some of the setup at
13895         the start and some in the %Z format spec.  This is cleaner, and
13896         works better with time_rz on platforms like Solaris where struct
13897         tm lacks a tm_zone member, as when !HAVE_TM_GMTOFF %z's calls to
13898         mktime_z and localtime_rz can mess up the tzname cache.
13900         test-strftime: test for Solaris bug
13901         * modules/strftime-tests (Depends-on): Add strerror.
13902         * tests/test-strftime.c: Include <errno.h>.
13903         (posixtm_test): New function, containing the old 'main'.
13904         (struct tzalloc_test, struct localtime_rz_test): New types.
13905         (TZ, LT): New static vars.
13906         (tzalloc_test): New function.
13907         (main): Rewrite in terms of posixtm_test and tzalloc_test.
13909         time_rz: port to Solaris etc.
13910         Works around a tzname problem on platforms like Solaris that have
13911         tzname but not tm_zone, by setting tzname at the appropriate time
13912         and restoring it later.
13913         * lib/time_rz.c (tzname_address, tzname_value) [HAVE_TZNAME]:
13914         New static vars.
13915         (save_abbr) [HAVE_TZNAME]: Set them.
13916         (revert_tz) [HAVE_TZNAME]: Clear or use them.
13917         (restore_tzname): New function.
13918         (localtime_rz, mktime_z): Use it.
13920         time_rz: now LGPL
13921         * modules/time_rz (License): Now LGPL, because strftime depends on it.
13923         time_rz: make a constant 'const'
13924         * lib/time_rz.c (local_tz): Now const.
13926         time_rz: fix off-by-one typo
13927         * lib/time_rz.c (extend_abbrs): Fix off-by-one typo.
13929 2015-07-23  Paul Eggert  <eggert@cs.ucla.edu>
13931         fprintftime, strftime: use timezone_t args
13932         * NEWS: Document the change.
13933         * lib/fprintftime.h (fprintftime):
13934         * lib/strftime.c (extra_args) [my_strftime]:
13935         * lib/strftime.h (nstrftime):
13936         Time zone arg is now of type timezone_t, not int.
13937         * lib/strftime.c (mktime_z) [_LIBC]: New macro.
13938         (__gmtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: Remove; no longer used.
13939         (my_strftime) [emacs && !my_strftime]:
13940         (emacs_strftimeu) [emacs && !FPRINTFTIME]:
13941         Remove; Emacs doesn't need this any more.
13942         (HAVE_TZSET) [my_strftime]: Unset, since we no longer want
13943         fprintftime and nstrftime to call tzset.
13944         (ut) [!my_strftime]: Remove, replacing with ...
13945         (tz) [!my_stftime]: ... this new macro.  All uses changed.
13946         (strftime_case_): Use localtime_rz and mktime_z instead
13947         of localtime_r and mktime.
13948         * modules/fprintftime (Depends-on): Add time_rz.
13949         * modules/strftime (Depends-on): Add time_rz.  Remove time_r.
13950         * tests/test-strftime.c (main): Adjust to new nstrftime API.
13952         time_rz: new module
13953         * MODULES.html.sh: Add time_rz.
13954         * lib/time_rz.c, m4/time_rz.m4, modules/time_rz: New files.
13955         * lib/time.in.h (timezone_t, tzalloc, tzfree, localtime_rz, mktime_z):
13956         New decls if _GNU_SOURCE && @GNULIB_TIME_RZ@ && ! @HAVE_TIMEZONE_T@.
13957         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS):
13958         New var HAVE_TIMEZONE_T (default 0).
13959         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS):
13960         New var GNULIB_TIME_RZ (default 0).
13961         * modules/time (time.h): Substitute the new vars.
13963         flexmember: license is now unlimited
13964         * modules/flexmember (License): Change to unlimited,
13965         since its only source file gives an unlimited license.
13967 2015-07-15  Eric Blake  <eblake@redhat.com>
13969         maint: update copyright paper procedures
13970         * config/srclist.txt: Drop outdated files.
13971         * doc/Copyright/conditions.txt: Update to latest.
13972         * doc/Copyright/assign.changes.manual: Delete.
13973         * doc/Copyright/assign.future.manual: Likewise.
13974         * doc/Copyright/assign.manual: Likewise.
13975         * doc/Copyright/assign.translation.manual: Likewise.
13976         * doc/Copyright/disclaim.changes.manual: Likewise.
13977         * doc/Copyright/disclaim.manual: Likewise.
13978         * doc/Copyright/disclaim.program: Likewise.
13980 2015-07-07  Daiki Ueno  <ueno@gnu.org>
13982         localename: fix link error on Illumos
13983         Illumos defines __sun, but does not have getlocalename_l nor the
13984         equivalent.  This partially reverts commit 387c214.
13985         * m4/localename.m4 (gl_LOCALENAME): Check if getlocalename_l is
13986         available, as well as uselocale.
13987         * lib/localename.c [HAVE_USELOCALE && __sun]: Don't fallback to
13988         use getlocalename_l if it is not available.
13990 2015-07-07  Daiki Ueno  <ueno@gnu.org>
13992         unistr/uN-strtok-tests: avoid a trivial leak
13993         * tests/unistr/test-u-strtok.h (test_u_strtok): Untabify.  Free
13994         input and delim after the multibyte delimiter tests.
13996 2015-07-04  Paul Eggert  <eggert@cs.ucla.edu>
13998         file-has-acl, acl-permissions: fix HP-UX typos
13999         Problem reported by John David Anglin in: http://bugs.gnu.org/20979
14000         * lib/file-has-acl.c (file_has_acl):
14001         * lib/set-permissions.c (context_acl_from_mode)
14002         (context_aclv_from_mode, set_acls):
14003         Fix some obvious typos when HAVE_GETCL /* HP-UX */.
14004         They were introduced by the recent ACL changes.
14006         regex: match current GNU grep behavior
14007         These symbols have not matched GNU grep behavior for quite some time.
14008         Fix prompted by Balazs Kezes bug report at: http://bugs.gnu.org/20974
14009         * lib/regex.h (RE_SYNTAX_GREP, RE_SYNTAX_EGREP):
14010         Change to match current GNU behavior.
14011         Simplify by expressing it as differences from POSIX BREs and EREs.
14012         (RE_SYNTAX_POSIX_EGREP): No longer differs from GNU behavior.
14014 2015-07-03  Jim Meyering  <meyering@fb.com>
14016         set-permissions.c: adjust acl_from_mode's cpp guard
14017         * lib/set-permissions.c (acl_from_mode): Guard with #ifdef
14018         directives identical to those guarding the sole use.
14019         Otherwise, on some systems, we'd get a warning about
14020         the function being defined but not used.
14021         Also, filter through cppi to correct misleading indentation
14022         of cpp directives.
14024 2015-07-03  Pádraig Brady  <P@draigBrady.com>
14026         tests: restrict shells to those that support 'local'
14027         The local keyword is very widely supported and used
14028         in tests in coreutils and grep at least.  Therefore
14029         restrict to testing with shells that support it.
14030         This mainly excludes /bin/sh on Solaris.
14031         * tests/init.sh (gl_shell_test_script_): Add a test for 'local'.
14033 2015-07-03  Seiya Kawashima  <skawashima@uchicago.edu>  (tiny change)
14034         and Daiki Ueno  <ueno@gnu.org>
14036         unistr/uN-strtok: handle multibyte delimiters
14037         Previously, uN_strtok moved PTR to the next unit to the token end.
14038         When DELIM contained a multibyte character, the new position could
14039         be a middle of a multibyte character.
14040         * lib/unistr/u-strtok.h (FUNC): Place PTR at the next character
14041         after the token.
14042         * lib/unistr/u8-strtok.c (U_STRMBLEN): New macro.
14043         * lib/unistr/u16-strtok.c (U_STRMBLEN): New macro.
14044         * lib/unistr/u32-strtok.c (U_STRMBLEN): New macro.
14045         * modules/unistr/u8-strtok (Depends-on): Depend on
14046         unistr/u8-strmblen.
14047         * modules/unistr/u16-strtok (Depends-on): Depend on
14048         unistr/u16-strmblen.
14049         * modules/unistr/u32-strtok (Depends-on): Depend on
14050         unistr/u32-strmblen.
14051         * tests/unistr/test-u-strtok.h: New file.
14052         * tests/unistr/test-u8-strtok.c: New file.
14053         * tests/unistr/test-u16-strtok.c: New file.
14054         * tests/unistr/test-u32-strtok.c: New file.
14055         * modules/unistr/u8-strtok-tests: New file.
14056         * modules/unistr/u32-strtok-tests: New file.
14057         * modules/unistr/u16-strtok-tests: New file.
14059 2015-07-02  Friedrich Haubensak  <hsk@fli-leibniz.de>
14061         update-copyright: fix test failure with perl >= 5.22 (trivial)
14062         * build-aux/update-copyright: Escape a literal left curly bracket,
14063         required with perl >= 5.22
14065 2015-07-02  Daiki Ueno  <ueno@gnu.org>
14067         u{16,32}-strstr-tests: relax timeout condition
14068         On slower platforms (e.g., Solaris 10/SPARC), u{16,32}-strstr
14069         tests can take longer than 5 seconds to complete.
14070         Reported by Dagobert Michelsen in:
14071         https://lists.gnu.org/r/bug-libunistring/2015-06/msg00006.html
14072         * tests/unistr/test-u16-strstr.c (main): Increase timeout from 5
14073         seconds to 10 seconds.
14074         * tests/unistr/test-u32-strstr.c (main): Likewise.
14076 2015-07-01  Pavel Raiskup  <praiskup@redhat.com>
14078         gnulib-common.m4: change the ARFLAGS default to 'cr'
14079         In some GNU/Linux distributions people started to compile 'ar'
14080         binary with --enable-deterministic-archives (binutils project).
14081         That, however, in combination with previous autotools long time
14082         working default AR{_,}FLAGS=cru causes warnings on such
14083         installations:
14084         ar: `u' modifier ignored since `D' is the default (see `U')
14085         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Set ARFLAGS='cr' if not
14086         set already.
14088 2015-07-01  Pavel Raiskup  <praiskup@redhat.com>
14090         selinux-h: avoid double free after *getfilecon()
14091         Originally reported by Ben Shelton on bug-tar:
14092         http://lists.gnu.org/r/bug-tar/2015-04/msg00009.html
14093         * lib/getfilecon.c (map_to_failure): Set the already freed '*con'
14094         pointer to NULL.  Man getfilecon(3) says that any non-NULL '*con'
14095         param should be freed by freecon(3) (regardless the return value).
14097 2015-07-01  Pavel Fedin  <p.fedin@samsung.com>
14099         fix pty related tests issues on Windows (trivial)
14100         * lib/grantpt.c (grantpt): grantpt.c seems to be never used on Windows,
14101         however it's still present in tests/ subdirectory of the final project.
14102         Therefore avoid it to pass `make check`.
14103         * tests/test-openpty.c (main): Windows has no PTYs and gnulib's openpty()
14104         will just return -ENOSYS, so avoid this non applicable test allowing
14105         the build to proceed.
14107 2015-07-01  Pádraig Brady  <P@draigBrady.com>
14109         acl: fix definition of acl_from_mode on FreeBSD
14110         This was causing basic coreutils copy operations to fail
14111         with ENOTSUP or ENOENT error messages.
14112         * lib/acl-internal.h (acl_from_mode): Only define when
14113         ! defined HAVE_ACL_FROM_TEXT.  That allows the version
14114         of acl_from_mode() defined in lib/set-permissions.c to
14115         be used on FreeBSD at least.
14116         * lib/set-permissions.c: Fix up comment spelling,
14117         and a redundant variable assignment; noticed in passing.
14119 2015-06-30  Pádraig Brady  <P@draigBrady.com>
14121         readutmp: port to FreeBSD >= 9
14122         * lib/readutmp.h: Map utmpxname() to setutxdb().
14123         With that coreutils who(1) and pinky(1) tests pass.
14125 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
14127         mgetgroups: port to strict OS X
14128         The previous fix wasn't working, so use a bigger hammer (Bug#20923).
14129         * lib/mgetgroups.c: Ignore -Wpointer-sign diagnostics.
14130         (getgrouplist_gids) [HAVE_GETGROUPLIST]: Remove.  All uses removed.
14131         * m4/mgetgroups.m4 (gl_MGETGROUPS): Revert recent changes.
14133 2015-06-29  Paul Eggert  <eggert@cs.ucla.edu>
14135         mgetgroups: port to strict OS X
14136         * doc/glibc-functions/getgrouplist.texi (getgrouplist):
14137         Document the getgrouplist problem.
14138         * lib/mgetgroups.c (getgrouplist_gids) [HAVE_GETGROUPLIST]:
14139         New macro.
14140         (mgetgroups): Use it.
14141         * m4/mgetgroups.m4 (gl_MGETGROUPS):
14142         Check for OS X signature for getgrouplist.
14144 2015-06-29  Jim Meyering  <meyering@fb.com>
14146         linkat: fix invalid definition of LINKAT_SYMLINK_NOTSUP on OS X
14147         It started like this when building coreutils' latest on OS X,
14148         invoking ./configure with a nonempty --cache=.cache:
14150           lib/linkat.c:46:42: error: operator '||' has no right operand
14151           lib/linkat.c: In function 'rpl_linkat':
14152           lib/linkat.c:330:27: error: #if with no expression
14154         Here's linkat.c's line 46:
14156           #if !HAVE_LINKAT || LINKAT_SYMLINK_NOTSUP
14158         Here's some context:
14160           $ grep linkat_nofoll .cache
14161           gl_cv_func_linkat_nofollow=${gl_cv_func_linkat_nofollow=no}
14162           $ grep LINKAT_SYM lib/config.h
14163           #define LINKAT_SYMLINK_NOTSUP
14165         The problem is that m4/linkat.m4's gl_FUNC_LINKAT
14166         uses AC_CACHE_CHECK to set LINKAT_SYMLINK_NOTSUP,
14167         but that violates a tenet of AC_CACHE_CHECK: it must
14168         have no side effect other than setting its cache variable.
14170         What happens is that when the cache is set, we'd skip the
14171         code in that AC_CACHE_CHECK call, and leave LINKAT_SYMLINK_NOTSUP
14172         defined to whatever value it happened to have in configure's
14173         environment.  In my case, it was not defined, so this later code:
14175           AC_DEFINE_UNQUOTED([LINKAT_SYMLINK_NOTSUP], [$LINKAT_SYMLINK_NOTSUP],
14176             [Define to 1 if linkat can create hardlinks to symlinks])
14178         would emit code with an empty RHS.
14180         * m4/linkat.m4 (gl_FUNC_LINKAT): Move the setting of
14181         $LINKAT_SYMLINK_NOTSUP out of the AC_CACHE_CHECK code block.
14183 2015-06-28  Jim Meyering  <meyering@fb.com>
14185         mountlist: avoid an unused-label warning on OS X
14186         * lib/mountlist.c (read_file_system_list) [MOUNTED_GETMNTINFO]:
14187         Building on OS X, I saw a warning about the "free_then_fail" label
14188         being unused.  Give it the _GL_UNUSED_LABEL attribute.
14190         error.c: correct printf-style format: %d -> %u
14191         * lib/error.c (error_at_line): Correct __fxprintf format to use %u,
14192         rather than %d, to match the type of "line_number", unsigned int.
14194 2015-06-25  Pádraig Brady  <P@draigBrady.com>
14196         fts: avoid reading beyond the heap allocation
14197         GCC 5.1.1 with -O2 and -fsanitize=address reports
14198         a read of size 4 from a heap object of size 3 is indeed invalid,
14199         though this may be due to incorrect padding assumptions by GCC, see:
14200         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66661
14201         * lib/fts.c (fts_alloc): Increase allocation to alignof(FTSENT).
14202         * modules/fts: Depend on stdalign.
14204 2015-06-24  Pádraig Brady  <P@draigBrady.com>
14206         savedir: avoid undefined behavior in qsort call
14207         GCC 5.1.1 -fsanitize=undefined with glibc 2.21 is returning:
14208         "runtime error: null pointer passed as argument 1,
14209          which is declared to never be null"
14210         * lib/savedir.c (streamsavedir): Avoid the call with no entries.
14212 2015-06-24  Pádraig Brady  <P@draigBrady.com>
14214         userspec: avoid undefined behavior in gettext call
14215         GCC 5.1.1 -fsanitize=undefined with glibc 2.21 is returning:
14216         "runtime error: null pointer passed as argument 2,
14217          which is declared to never be null"
14218         * lib/userspec.c (parse_with_separator): Avoid passing NULL to gettext()
14220 2015-06-20  Glenn Morris  <rgm@gnu.org>
14222         gitlog-to-changelog: improve gitmerge.el commits
14223         Let the Emacs ChangeLog generation process exclude "skipped"
14224         messages from merge commits (Bug#20717).
14225         * build-aux/gitlog-to-changelog: Handle gitmerge.el skipped commits.
14227 2015-06-20  Paul Eggert  <eggert@cs.ucla.edu>
14229         wchar: fix MinGW compilation warnings
14230         This lets Texinfo compile cleanly.  See Eli Zaretskii in:
14231         http://lists.gnu.org/r/bug-gnulib/2015-06/msg00050.html
14232         * lib/wchar.in.h: Do not use special invocation convention on MinGW.
14234 2015-06-20  Daiki Ueno  <ueno@gnu.org>
14236         uniname/uniname-tests: use pristine data files
14237         For copyright and maintenance reasons, use the data files from UCD
14238         without modification.
14239         * tests/uniname/test-uninames.c (FIELDLEN): Remove.
14240         (getfield): Remove.
14241         (aliases_count): New global variable.
14242         (fill_names): Skip comments and empty lines in the input.  Don't
14243         use getfield.
14244         (fill_aliases): Likewise.
14245         (main): Change the expected command line arguments to:
14246         NAMES... ["--" ALIASES...].
14247         * tests/uniname/test-uninames.sh: Adjust to the change in
14248         test-uninames.c.
14249         * tests/uniname/UnicodeDataNames.txt: Remove.
14250         * tests/uniname/UnicodeData.txt: New file, from Unicode 8.0.0.
14251         * tests/uniname/NameAliases.txt: Use the pristine copy of the data
14252         file from Unicode 8.0.0.
14254 2015-06-19  Pádraig Brady  <P@draigBrady.com>
14256         linked-list, linkedhash-list: avoid compiler warnings
14257         * lib/gl_anytree_list2.h: Add _GL_ATTRIBUTE_PURE to avoid
14258         -Werror=suggest-attribute=pure (from GCC 5.1.1).
14260 2015-06-19  Daiki Ueno  <ueno@gnu.org>
14262         libunistring: bump minimum version to 0.9.6
14263         * all modules depending on updated Unicode data: Regenerate.
14264         The modules are listed by a script that does:
14265         - for each file listed by: git show --oneline --name-only 705f4efc
14266           - deduce the containing modules, based on "Files:"
14267         - deduce the modules which depend on the containing modules, based
14268           on "Depends-on:"
14270 2015-06-18  Daiki Ueno  <ueno@gnu.org>
14272         uniname/uniname: update to Unicode 8.0.0
14273         * lib/uniname/uninames.h: Regenerate.
14274         * tests/uniname/NameAliases.txt: Update from Unicode 8.0.0.
14275         * tests/uniname/UnicodeDataNames.txt: Update from Unicode 8.0.0.
14277 2015-06-18  Daiki Ueno  <ueno@gnu.org>
14279         libunistring: update to Unicode 8.0.0
14280         * lib/gen-uni-tables.c (SIZEOF): New macro.
14281         (output_numeric): Increase the maximum number of fractions from
14282         128 to 160.  Increase the level3 value width from 7 bits to 8
14283         bits.  Use SIZEOF instead of a hard-coded integer.
14284         (output_blocks): Decrease the cut-off threshold from 0x30000 to
14285         0x28000.
14286         (fill_blocks): Increase the maximum number of blocks from 256 to
14287         384.  Use SIZEOF instead of a hard-coded integer.
14288         (get_lbp): Adjust to new characters added in Unicode 8.0.0.
14289         * lib/unictype/numeric.c (uc_numeric_value): Adjust the level3
14290         value width.
14291         * lib/unilbrk/lbrktables.c (unilbrk_table): Implement LBP21b and
14292         a new case added to LBP22.
14293         * lib/uniwidth/width.c (nonspacing_table_data): Add U+08E3,
14294         U+A69E, U+FE2E..U+FE2F, U+111CA..U+111CC, U+11300,
14295         U+115DC..U+115DD, U+1171D..U+1171F, U+11722..U+11725,
14296         U+11727..U+1172B, U+1DA00..U+1DA36, U+1DA3B..U+1DA6C, U+1DA75,
14297         U+1DA84, U+1DA9B..U+1DA9F, and U+1DAA1..U+1DAAF.
14298         * tests/uniwidth/test-uc_width2.sh: Same updates as in
14299         lib/uniwidth/width.c.
14300         * all generated files under lib/uni* and tests/uni*: Regenerate.
14302 2015-06-16  Pádraig Brady  <P@draigBrady.com>
14304         gnu-web-doc-update: add --mirror to remove stale files
14305         * build-aux/gnu-web-doc-update: Add a --mirror option to remove
14306         out of date files from the CVS server.  Since this is usually
14307         appropriate, a prompt is given when the option is not specified,
14308         along with the `cvs remove` command that would be run.
14310 2015-06-06  Paul Eggert  <eggert@cs.ucla.edu>
14312         acl-permissions: pacify -Wsuggest-attribute=const
14313         Problem reported by Masanari Iida in: http://bugs.gnu.org/20753
14314         * lib/acl-internal.h (free_permission_context):
14315         Declare with attribute const if ! (defined USE_ACL &&
14316         (HAVE_ACL_GET_FILE || defined GETACL)).
14318         fsync: document AIX misbehavior
14319         * doc/posix-functions/fsync.texi (fsync):
14320         Document failure on AIX with read-only file descriptor.
14322 2015-06-05  Jonathan Perkin  <jperkin@joyent.com>  (tiny change)
14324         stdio: Don't redefine gets when using C++
14325         * lib/stdio.in.h (gets): Disable warning on C++.
14327 2015-06-05  Paul Eggert  <eggert@cs.ucla.edu>
14329         acl-permissions: port to AIX, C89 HP-UX
14330         Problems reported by Michael Felt.
14331         * lib/file-has-acl.c (file_has_acl) [HAVE_STATACL]:
14332         * lib/get-permissions.c (get_permissions) [USE_ACL && HAVE_STATACL]:
14333         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]:
14334         * lib/set-permissions.c (set_acls) [HAVE_ACLX_GET && ACL_AIX_WIP]:
14335         Add cast for AIX, whose system calls are declared to accept
14336         char * even though the arguments are really char const *.
14337         * lib/get-permissions.c (get_permissions):
14338         If USE_ACL && HAVE_GETACL /* HP-UX */, don't assume C99.
14339         If USE_ACL && HAVE_STATACL /* older AIX */, add missing decl
14340         that broke a build.
14341         * lib/mountlist.c (read_file_system_list) [MOUNTED_VMOUNT]:
14342         Rework types to pacify xlc.
14344 2015-06-03  Pádraig Brady  <P@draigBrady.com>
14346         vasprintf-posix: avoid compiling vasnprintf where possible
14347         * modules/vasprintf-posix: Avoid compiling the large vasnprintf
14348         module where not required.  For example on a GNU/Linux system
14349         when gnulib-tool is run with the --conditional-dependencies option.
14351 2015-06-02  Pádraig Brady  <P@draigBrady.com>
14353         file-has-acl: fix build on Mac OS X 10
14354         This reverts commit f1b37e3a which doesn't work on Mac OS X >= 10.4
14355         which has an incompatible 6 parameter getxattr() call.
14356         * doc/glibc-functions/getxattr.texi: Mention the divergent getxattr()
14357         call on Mac OS X >= 10.4.
14358         * doc/glibc-functions/fgetxattr.texi: Likewise.
14359         * lib/file-has-acl.c: Revert to more complete combined check.
14360         * m4/acl.m4 (gl_FILE_HAS_ACL): Likewise.
14361         Reported by Jack Howarth.
14363 2015-06-02  Pádraig Brady  <P@draigBrady.com>
14365         prefix-gnulib-mk: remove no longer needed special case
14366         * build-aux/prefix-gnulib-mk (prefix): Since commit e3704b9c,
14367         continued lib_SOURCES lines are no longer present,
14368         so special case handling of such entries is not required.
14370 2015-06-01  Pádraig Brady  <P@draigBrady.com>
14372         acl: don't depend on the deprecated qacl module
14373         * modules/acl (Depends-on): Use q{copy,set}-acl instead.
14375 2015-06-01  Pádraig Brady  <P@draigBrady.com>
14377         gnulib-tool: concatenate lib_SOURCES to a single line
14378         * gnulib-tool: Refactor the line merging sed logic,
14379         and use that to output a single lib_SOURCES line for each module.
14380         gnulib using projects often postprocess this output to prepend
14381         subdir paths to each item, and having a single line simplifies this
14382         processing allowing better decoupling from the gnulib-tool output.
14384 2015-06-01  Pavel Fedin  <p.fedin@samsung.com>
14386         pthread_sigmask: discount system version if a simple macro (trivial)
14387         MinGW64 has: #define pthread_sigmask(H, S1, S2) 0
14388         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Call the
14389         function to ensure it's available.
14391 2015-05-31  Pádraig Brady  <P@draigBrady.com>
14393         readlinkat: avoid OS X 10.10 trailing slash bug
14394         * doc/posix-functions/readlink.texi: Mention that OS X 10.10
14395         has this bug.
14396         * doc/posix-functions/readlinkat.texi: Likewise.  Also mention
14397         that OS X 10.10 has this function.
14398         * lib/readlinkat.c (rpl_readlinkat): Handle the trailing slash bug,
14399         as done for readlink().
14400         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Check for the readlink()
14401         trailing slash bug, and assume readlinkat() has the same issue.
14402         Also fix a typo where $gl_cv_decl_readlink_works was tested,
14403         rather than the correct $gl_cv_decl_readlinkat_works.
14405 2015-05-29  Andreas Gruenbacher  <andreas.gruenbacher@gmail.com>
14407         acl-permissions: Fix build on Mac OS X and older AIX (Bug#20681)
14408         * lib/set-permissions.c (set_acls): Fix more errors introduced in the acl
14409         module rewrite.
14411         acl-permissions: Fix build on Solaris and Cygwin
14412         Reported by Tom G. Christensen <tgc@jupiterrise.com>:
14413         * lib/set-permissions.c (set_acls): The count, entries, ace_count, and
14414         ace_entries variables have moved into struct permission_context but
14415         they were still accessed as local variables here.
14417 2015-05-29  Pádraig Brady  <P@draigBrady.com>
14419         linkat: avoid OS X 10.10 trailing slash with symlink bug
14420         On Darwin 14.3.0 linkat(,"path1",,"dangling_symlink/",)
14421         causes the symlink to be dereferenced, and if it points
14422         to a non existent file, that file will be created as
14423         a hard link to "path1".
14424         This fixes a test failure in test-linkat.c.
14425         * m4/linkat.m4 (gl_FUNC_LINKAT): Augment the test with
14426         this case.  The existing workaround in linkat.c for
14427         trailing slash issues, suffices for this case.
14428         * doc/posix-functions/linkat.texi: Add OS X 10.10 to
14429         the list of platforms with trailing slash issues.
14431 2015-05-28  Pádraig Brady  <P@draigBrady.com>
14433         unlinkat: handle ignoring of ".." on Darwin 14
14434         * lib/unlinkat.c: unlinkat() has the same bug as unlink()
14435         on Mac OS X 10.10, where it ignores paths with a trailing "..",
14436         so handle in the same manner.
14437         * m4/unlinkat.m4: Comment on this Darwin issue.
14438         * doc/posix-functions/unlink.texi: Update the latest version
14439         where the issue was seen.
14440         * doc/posix-functions/unlinkat.texi: Mention this issue.
14441         Fixes a test failure in test-unlinkat.c.
14443 2015-05-27  Paul Eggert  <eggert@cs.ucla.edu>
14445         qacl: split into qcopy-acl and qset-acl
14446         Emacs needs the former, but not the latter.
14447         * modules/acl-permissions: New file, containing most of the old qacl.
14448         * modules/file-has-acl (Depends-on): Depend on acl-permissions, not qacl.
14449         * modules/qacl: Now merely depends on qcopy-acl and qset-acl.
14450         * modules/qcopy-acl, modules/qset-acl: New files.
14451         * MODULES.html.sh (File system functions):
14452         Mention the new modules, and mention qacl while we're at it.
14454 2015-05-27  Glenn Morris  <rgm@gnu.org>
14456         gitlog-to-changelog: new option --ignore-line
14457         (This patch is imported from the GNU Emacs master.)
14458         This option ignores individual commit lines matching a pattern.
14459         * build-aux/gitlog-to-changelog: Add --ignore-line option.
14461 2015-05-27  Andreas Gruenbacher  <agruenba@redhat.com>
14463         qacl: Reimplement qset_acl and qcopy_acl (Bug#20666)
14464         Implement get_permissions and set_permissions primitives for getting all
14465         the permissions of a file, storing them, and later setting them. (In the
14466         minimal case, the permissions consist only of a file mode.) Reimplement
14467         qset_acl and qcopy_acl based on these new primitives: this avoids code
14468         duplication and makes error handling more consistent.
14469         The Solaris and Cygwin code still uses duplicate code paths for setting
14470         a file mode while making sure that no acls exist and setting an explicit
14471         acl; this is no worse than before, but could be cleaned up.  The AIX
14472         code still doesn't read ACLs, it only makes sure that acls don't get in
14473         the way when setting a file mode.
14474         * lib/acl-internal.h (struct permission_context): New data structure.
14475         (get_permissions, set_permissions, free_permission_context): Declare.
14476         * lib/acl-internal.c (free_permission_context): New helper function.
14477         * lib/get-permissions.c (get_permissions): New helper function split off
14478         from qcopy_acl.
14479         * lib/set-permissions.c: (set_acls_from_mode): On Solaris, Cygwin, and
14480         AIX, set a file's permissions based only on a file mode.
14481         (acl_from_mode, context_acl_from_mode, context_aclv_from_mode): All
14482         other platforms construct a temporary acl from the file mode and set
14483         that acl in the same way as setting an acl read from the source file.
14484         This should help avoid code duplication and inconsistent / buggy
14485         behavior.
14486         (set_acls): New helper function Split off from qcopy_acl.
14487         (chmod_or_fchmod): Moved here from qset-acl.c.
14488         (set_permissions): New helper function.
14489         * lib/qcopy-acl.c (qcopy_acl): Rewrite using get_permissions and
14490         set_permissions.
14491         * lib/qset-acl.c (qset_acl): Rewrite using set_permissions.
14492         * modules/qacl: Add get-permissions.c and set-permissions.c.
14494         file-has-acl: Split feature tests again (Bug#20667)
14495         * lib/file-has-acl.c: Instead of testing for
14496         XATTR_NAME_POSIX_ACL_ACCESS and XATTR_NAME_POSIX_ACL_DEFAULT,
14497         define them when needed.
14498         * m4/acl.m4 (gl_FILE_HAS_ACL): With that, Paul's
14499         GETXATTR_WITH_POSIX_ACLS change shouldn't be needed anymore.
14501 2015-05-27  Pádraig Brady  <P@draigBrady.com>
14503         string: fix build failure on BSD/OSX with FORTIFY_SOURCE
14504         This avoids a conflict with "FORTIFY_SOURCE" variants
14505         of the string functions when they're replaced on NetBSD-6.0.1
14506         and Darwin-14.3.0 at least.
14507         * lib/string.in.h: Avoid including our "lib/string.h" while
14508         including the system <string.h>.
14510 2015-05-26  Eric Blake  <eblake@redhat.com>
14512         stdio: limit __gnu_printf__ witness to gcc 4.4+
14513         * lib/error.h (_GL_ATTRIBUTE_SPEC_PRINTF): Move gcc version probe...
14514         * m4/stdio_h.m4 (gl_STDIO_H): ...here.
14516         error: use correct printf attributes on mingw
14517         * lib/stdio.in.h (_GL_ATTRIBUTE_SPEC_PRINTF): New define.
14519         inttypes: force correct mingw PRIdMAX even without <stdio.h>
14520         * modules/inttypes (Depends-on): Require extensions, so that mingw
14521         always uses GNU style inttypes.
14522         * lib/inttypes.in.h: On mingw, include <stdio.h>.
14524         stdio: fix probe on mingw under gcc 5.1
14525         * m4/stdio_h.m4 (gl_STDIO_H): Change to compile test, to work
14526         around new gcc preprocessor rules.
14528 2015-05-07  Glenn Morris  <rgm@gnu.org>
14530         gitlog-to-changelog: parse "Tiny-change"
14531         * build-aux/gitlog-to-changelog: Treat "Tiny-change" like
14532         "Copyright-paperwork-exempt".  (Bug#20324)
14534 2015-05-06  Pádraig Brady  <P@draigBrady.com>
14536         doc: document glibc posix_fallocate() issues
14537         * doc/posix-functions/posix_fallocate.texi: Mention the
14538         glibc efficiency problems and issues with NFS.
14540 2015-05-05  Karl Berry  <karl@freefriends.org>
14542         * build-aux/gendocs.sh (usage): document new css default
14543         for HTML (--htmlarg).
14545 2015-04-29  Paul Eggert  <eggert@cs.ucla.edu>
14547         extern-inline: no need for workaround in GCC 5.1
14548         * doc/extern-inline.texi (extern inline):
14549         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
14550         GCC bugs 54113 and 63877 are fixed in GCC 5.1, so don't work
14551         around these bugs in GCC 5.1 and later.  Maybe in a decade or
14552         two we can remove these workarounds.
14554 2015-04-28  Pádraig Brady  <P@draigBrady.com>
14556         eealloc, pagealign_alloc, xalloc: avoid clang warnings
14557         Avoid [-Wunknown-attributes] warnings like:
14558         warning: unknown attribute '__alloc_size__' ignored
14559         * lib/xalloc.h: Don't use the __alloc_size__  attribute
14560         with clang, as support has been fully removed as of clang 3.5:
14561         https://github.com/llvm-mirror/clang/commit/c047507a
14562         * lib/eealloc.h: Likewise.
14563         * lib/pagealign_alloc.h: Likewise.
14565 2015-04-27  Paul Eggert  <eggert@cs.ucla.edu>
14567         tests: pacify GCC 5.1's stricter printf checking
14568         * tests/test-dirname.c (main):
14569         * tests/test-getaddrinfo.c (simple):
14570         * tests/test-getlogin.c (main):
14571         * tests/test-getndelim2.c (main):
14572         * tests/test-inttostr.c (CK):
14573         * tests/test-md5.c (main):
14574         * tests/test-read-file.c (main):
14575         * tests/test-sha1.c (main):
14576         Fix mismatches between printf format and value signedness.
14577         * tests/test-inttostr.c (FMT, CAST_VAL, V_min, V_max):
14578         Remove, as CAST_VAL always returned a value of type uintmax_t.
14580         fts: port to GCC 5.1 with --enable-gcc-warnings
14581         Without this fix, GCC 5.1 (correctly) warns about a subscript
14582         error on the fts_name component of FTSENT.  It's actually a
14583         flexible member, so define it that way on C99 or later hosts.
14584         * lib/fts.c (fts_alloc): Use offsetof, not sizeof, for a
14585         structure that now has a flexible array member.
14586         * lib/fts_.h (__FLEXIBLE_ARRAY_MEMBER): New macro.
14587         (FTSENT): fts_name is now flexible on C99-or-later platforms.
14588         * modules/fts (Depends-on): Add flexmember.
14590 2015-04-26  Paul Eggert  <eggert@cs.ucla.edu>
14592         file-has-acl: port to CentOS 6
14593         Problem reported by Tom G. Christensen in:
14594         http://lists.gnu.org/r/bug-gnulib/2015-04/msg00074.html
14595         * lib/file-has-acl.c: Use GETXATTR_WITH_POSIX_ACLS instead of a
14596         combination of HAVE_SYS_XATTR_H, HAVE_LINUX_XATTR_H, and
14597         HAVE_GETXATTR.
14598         * m4/acl.m4 (gl_FILE_HAS_ACL): Test fot the entire combination of
14599         linux/xattr.h, sys/xattr.h, getxattr, XATTR_NAME_POSIX_ACL_ACCESS,
14600         and XATTR_NAME_POSIX_ACL_DEFAULT, since that's what
14601         file-has-acl.c actually needs.
14603 2015-04-26  Pádraig Brady  <P@draigBrady.com>
14605         file-has-acl: always return false when ACLs aren't supported
14606         * lib/file-has-acl.c (file_has_acl): Consistent with other paths,
14607         change the GNU/Linux getxattr path, to transform "not supported"
14608         errors to a false return rather than an error.  This is handled
14609         within file_has_acl() due to the platform specific tests to
14610         determine if ACLs are not supported.
14612 2015-04-25  Paul Eggert  <eggert@cs.ucla.edu>
14614         gettext: propagate po/Makefile.in.in too
14615         * build-aux/po/Makefile.in.in: Copy from latest gettext.
14616         * config/srclist.txt: In build-aux/po, copy Makefile.in.in and
14617         remove-potcdate.sin from $GETTEXT.  This fixes a version mismatch
14618         between Makefile.in.in and the gettext-runtime m4 files.
14620 2015-04-24  Paul Eggert  <eggert@cs.ucla.edu>
14622         file-has-acl: new module, split from acl
14623         And add a new module file-has-acl-tests to match.
14624         I ran into a problem with the recent changes to the acl module,
14625         as they introduced a typo 'test use_xattrs = 0' into 'configure'.
14626         When using the fixed version with Emacs, I discovered that
14627         file-has-acl wasn't separated out well enough for Emacs (e.g., it
14628         had multiple libraries, but needed only one), so I fixed that too.
14629         * NEWS: Document this incompatible change.
14630         * modules/file-has-acl, modules/file-has-acl-tests: New files.
14631         * m4/acl.m4 (gl_FUNC_ACL_ARG): New macro, split from gl_FUNC_ACL.
14632         Initialize gl_need_lib_has_acl.
14633         (gl_FUNC_ACL): Require it.
14634         Simplify use of 'test'.  Set LIB_HAS_ACL if gl_need_lib_has_acl.
14635         Move the file-has-acl.c-relevant stuff to ...
14636         (gl_FILE_HAS_ACL): ... this new macro.  Rewrite to fix 'test
14637         use_xattrs = 0' typo, and omit some needless work.  Set
14638         gl_need_lib_has_acl=1 if we'll need LIB_HAS_ACL to be set
14639         when gl_FUNC_ACL is called.
14640         * modules/acl (Files, lib_SOURCES): Remove lib/file-has-acl.c.
14641         (Link): Remove $(LIB_HAS_ACL).
14642         * modules/acl-tests (Files, Depends-on, configure.ac, TESTS)
14643         (check_PROGRAMS): Move stuff relevant to file-has-acl to
14644         modules/file-has-acl-tests.
14645         (test_file_has_acl_LDADD): Move to modules/file-has-acl-tests.
14647         manywarnings: add GCC 5.1 warnings
14648         * build-aux/gcc-warning.spec: Add -Wabi=, -Warray-bounds,
14649         -Warray-bounds=, -Wc++14-compat, -Wc90-c99-compat,
14650         -Wc99-c11-compat, -Wshadow-ivar, -Wsized-deallocation,
14651         -Wsuggest-override, -Wuse-without-only.  Change
14652         -Wnormalized=... operands to match 5.1.
14653         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wbool-compare,
14654         -Wchkp, -Wdesignated-init, -Wdiscarded-array-qualifiers,
14655         -Wdiscarded-qualifiers, -Wformat-signedness,
14656         -Wincompatible-pointer-types, -Wint-conversion,
14657         -Wlogical-not-parentheses, -Wmemset-transposed-args, -Wodr,
14658         -Wshift-count-negative, -Wshift-count-overflow,
14659         -Wsizeof-array-argument, -Wsuggest-final-methods,
14660         -Wsuggest-final-types, -Wswitch-bool.  Remove -Warray-bounds,
14661         and add -Warray-bounds=2 as a special case.
14663 2015-04-21  Simon Josefsson  <simon@josefsson.org>
14665         doc: update FDL template to match FDL examples.
14666         * doc/alloca-opt.texi:
14667         * doc/alloca.texi:
14668         * doc/c-ctype.texi:
14669         * doc/c-strcase.texi:
14670         * doc/c-strcaseeq.texi:
14671         * doc/c-strcasestr.texi:
14672         * doc/c-strstr.texi:
14673         * doc/c-strtod.texi:
14674         * doc/c-strtold.texi:
14675         * doc/ctime.texi:
14676         * doc/error.texi:
14677         * doc/gcd.texi:
14678         * doc/gnulib-tool.texi:
14679         * doc/inet_ntoa.texi:
14680         * doc/intprops.texi:
14681         * doc/lib-symbol-visibility.texi:
14682         * doc/maintain.texi:
14683         * doc/parse-datetime.texi:
14684         * doc/quote.texi:
14685         * doc/regexprops-generic.texi:
14686         * doc/standards.texi: Remove spurious 'with' in FDL license
14687         template.
14689 2015-04-21  Paul Eggert  <eggert@cs.ucla.edu>
14691         lstat: fix cross-compilation 'ln -s' problem
14692         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
14693         Have the test program call 'symlink' rather than a separate
14694         script run 'ln -s'; this is more likely to work in
14695         cross-compilation environments.  Reported by Pavel Fedin in:
14696         http://lists.gnu.org/r/bug-gnulib/2015-04/msg00060.html
14698 2015-04-16  Ludovic Courtès  <ludo@gnu.org>
14700         gendocs.sh: default to a common CSS style sheet for HTML output
14701         * build-aux/gendocs.sh (htmlarg): Change default value.
14703 2015-04-15  Mats Erik Andersson  <gnu@gisladisker.se>
14705         gnulib-tool: output bold attribute more portably
14706         * gnulib-tool (func_show_module_list): Change hexadecimal
14707         numbers to octal in BOLD_ON and BOLD_OFF.  The use of hex
14708         encoded numbers as arguments to `printf' is not portable,
14709         and is not claimed by POSIX.  This is the case with FreeBSD.
14711 2015-04-15  Andreas Gruenbacher  <andreas.gruenbacher@gmail.com>
14713         qacl: Simplify HP-UX acl_nontrivial check
14714         * lib/acl-internal.c: Remove struct stat parameter from HP-UX's version of
14715         acl_nontrivial. Check if the acl has at most three entries instead (it must
14716         have exactly three entries according to the HP-UX documentation). Ignore
14717         uids and gids as long as an entry is either for a user (i.e., the owner),
14718         a group (i.e., the owning group), or others.
14719         * lib/acl-internal.h: Change HP-UX's acl_nontrivial prototype.
14720         * lib/qcopy-acl.c (qcopy_acl): With that, we no longer need to stat the file.
14722 2015-04-15  Andreas Gruenbacher   <andreas.gruenbacher@gmail.com>
14724         acl: On Linux, check for acls without libacl
14725         On Linux, use the getxattr syscall instead of the acl_extended_file libacl
14726         library function to check for the presence of acls, avoiding a library.
14727         * lib/file-has-acl.c: Include xattr headers if we have them.
14728         (file_has_acl): On Linux, use getxattr().
14729         * m4/acl.m4 (gl_FUNC_ACL): Define LIB_HAS_ACL as the libraries to link with for
14730         file_has_acl(). Check for xattr headers and getxattr().
14732 2015-04-14  Ángel González  <keisial@gmail.com>
14734         tempname: avoid unused parameter warnings (trivial)
14735         * lib/tempname.c (try_dir): Tag with __GL_UNUSED.
14736         (try_nocreate): Likewise.
14738 2015-04-14  HIRAMATSU Yoshifumi  <hiramatu@boreas.dti.ne.jp>
14740         fseeko: fix build failure on NetBSD >= 6 (trivial)
14741         * lib/fseeko.c (feeko): NetBSD 6 changed the definition of _offset
14742         from 'fpos_t struct' to __off_t, which is a typedef of __int64_t.
14744 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
14746         gitlog-to-changelog: port to MS-Windows
14747         * build-aux/gitlog-to-changelog (git_dir_option):
14748         Use strftime with "%Y-%m-%d", not "%F", to avoid a bug in
14749         MS-Windows Perl.  Reported by Eli Zaretskii in:
14750         http://lists.gnu.org/r/emacs-devel/2015-04/msg00504.html
14752 2015-04-07  Karl Berry  <karl@gnu.org>
14754         gendocs: new option --tex for passing args to texi2dvi.
14755         * build-aux/gendocs.sh: new option --tex, default -t @finalout.
14756         (TEXI2DVI): cut to just command name.
14757         (usage): mention new option, and update copyright.
14758         <generate_tex>: use it.
14760 2015-04-07  Karl Berry  <karl@gnu.org>
14762         * config/srclistvars.sh (GETTEXT): new definition.
14763         * config/srclist.txt: use it for gettext .m4 files.
14764         Thread starting at http://lists.gnu.org/r/bug-gnulib/201
14765         and confirmed at http://lists.gnu.org/r/bug-gnulib/2015-02/msg00146.html
14766         and continuing into April.
14768 2015-04-07  Daiki Ueno  <ueno@gnu.org>
14770         uniname/uniname-tests: fix failure due to alias
14771         Reported by Jack Howarth in:
14772         <https://lists.gnu.org/r/bug-libunistring/2015-04/msg00000.html>.
14773         * tests/uniname/test-uninames.c (name_has_alias): New function.
14774         (test_inverse_lookup): Exclude character name with valid alias,
14775         from randomly generated character names.
14776         (main): Fill unicode_aliases before calling test functions.
14778 2015-04-03  Giuseppe Scrivano  <gscrivan@redhat.com>
14780         hash: remove deprecated hash_insert0 function
14781         * lib/hash.h (hash_insert0): Remove deprecated function.
14782         * lib/hash.c (hash_insert0): Likewise.
14784 2015-04-02  Pádraig Brady  <P@draigBrady.com>
14786         mountlist: remove dependency on libmount
14787         * lib/mountlist.c (read_file_system_list): Parse /proc/self/mountinfo
14788         directly, rather than depending on libmount, which has many
14789         dependencies due to its dependence on libselinux, as detailed at:
14790         http://lists.gnu.org/r/bug-gnulib/2015-01/msg00063.html
14791         Note we restrict this to __linux__ as that's probably where this
14792         interface will remain.  If ever porting, it would be best
14793         to first pull the makedev() wrapper from coreutils to a gnulib module.
14794         Note also we don't add a getline dependency to the mountlist module,
14795         as all Linux versions are sufficient.
14797 2015-04-02  Paul Eggert  <eggert@cs.ucla.edu>
14799         stddef: port to pre-C11 GCC on x86
14800         On this platform, max_align_t should have an alignment of 8 even
14801         though the storage alignments of double, long, etc. max out at 4.
14802         Inspired by a comment of Andreas Schwab's here:
14803         https://sourceware.org/ml/libc-alpha/2015-04/msg00017.html
14804         * lib/stddef.in.h (_GL_STDDEF_ALIGNAS) [!HAVE_MAX_ALIGN_T]: New macro.
14805         (max_align_t) [!HAVE_MAX_ALIGN_T]: Use it.
14806         * tests/test-stddef.c: Test __alignof__ too, if available.
14808 2015-03-24  Pádraig Brady  <P@draigBrady.com>
14810         quotearg-simple-tests: add missing gl_FUNC_MMAP_ANON dependency
14811         * modules/quotearg-simple-tests: Reference m4/mmap-anon.m4
14813 2015-03-24  Tobias Stoeckmann  <tobias@stoeckmann.org>
14815         yesno: make EOL optional in ENABLE_NLS case also (trival)
14816         * lib/yesno.c (yesno): Check for EOL before replacing.
14817         * tests/test-yesno.sh: Add a test case (test along with gettext).
14819 2015-03-22  Paul Eggert  <eggert@cs.ucla.edu>
14821         fdopendir-tests: test it does not close its arg
14822         * tests/test-fdopendir.c (main): Test that fdopendir does not
14823         close its argument.  From a suggestion by David Grayson in:
14824         http://lists.gnu.org/r/bug-gnulib/2015-03/msg00039.html
14826 2015-03-20  Paul Eggert  <eggert@cs.ucla.edu>
14828         gitlog-to-changelog: trim trailing white space
14829         * build-aux/gitlog-to-changelog (main):
14830         Trim trailing white space from commit message lines.
14831         This is helpful for processing the GNU Emacs repository,
14832         which dates back to 1985 and contains a lot of such lines.
14834         gitlog-to-changelog: new option --ignore-matching
14835         * build-aux/gitlog-to-changelog (usage, git_dir_option, main):
14836         Support new option --ignore-matching=PAT, which ignores all
14837         commit messages whose first line matches PAT.
14839 2015-03-19  Paul Eggert  <eggert@cs.ucla.edu>
14841         fdopendir: port better to MinGW
14842         * lib/fdopendir.c (fd_clone_opendir) [REPLACE_FCHDIR]:
14843         Use 'dup' if dirfd fails.  Suggested by Eli Zaretskii in:
14844         http://lists.gnu.org/r/bug-gnulib/2015-03/msg00033.html
14845         * modules/fdopendir (Depends-on): Add dirfd.
14847 2015-03-18  Paul Eggert  <eggert@cs.ucla.edu>
14849         fdopendir: fix typo in comment
14850         * lib/fdopendir.c (fdopendir_with_dup): REPLACE_FCHDIR was misspelled.
14852 2015-03-09  Eric Blake  <eblake@redhat.com>
14854         error: document all entry points provided
14855         * doc/glibc-functions/error_print_progname.texi
14856         (error_print_progname): Mention the error module.
14857         * doc/glibc-functions/error_at_line.texi (error_at_line):
14858         Likewise.
14859         * doc/glibc-functions/error_message_count.texi
14860         (error_message_count): Likewise.
14861         * doc/glibc-functions/error_one_per_line.texi
14862         (error_one_per_line): Likewise.
14864 2015-03-03  Paul Eggert  <eggert@cs.ucla.edu>
14866         vasnprintf: pacify clang 3.5.0
14867         Problem reported by Werner Lemberg in:
14868         http://lists.gnu.org/r/bug-gnulib/2015-03/msg00000.html
14869         * lib/vasnprintf.c (VASNPRINTF): Omit casts that clang objects to.
14870         The casts aren't needed, since the characters in question are ASCII.
14872 2015-02-24  Paul Eggert  <eggert@cs.ucla.edu>
14874         glob, etc.: port to MSVC v18 on MS-Windows 8.1
14875         * lib/dirent--.h (GNULIB_defined_opendir):
14876         * lib/dirent.in.h (GNULIB_defined_opendir)
14877         (GNULIB_defined_closedir):
14878         * lib/getcwd.c, lib/glob.c, lib/mountlist.c (opendir, closedir):
14879         #undef only if Gnulib defined it.
14881         poll: port to MSVC v18 on MS-Windows 8.1
14882         Problem reported by Gisle Vanem in:
14883         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00139.html
14884         * lib/poll.c: Always include <sys/select.h> and <sys/socket.h>.
14885         * modules/poll (Depends-on) [!HAVE_POLL || REPLACE_POLL]:
14886         Add sys_socket.
14888 2015-02-24  Pádraig Brady  <P@draigBrady.com>
14890         tests: support stderr verification with returns_()
14891         * tests/init.sh (returns_): Disable tracing for this wrapper
14892         function, so that stderr of the wrapped command is unchanged,
14893         allowing for verification of the contents.
14895 2015-02-24  Pavel Hrdina  <phrdina@redhat.com>
14897         passfd: avoid valgrind uninitalised data warning
14898         * lib/passfd.c (sendfd): Reset the msg_controllen of msghdr,
14899         to include just the fd we've initialized, rather than including
14900         the extra space used for alignment.
14902 2015-02-23  Paul Eggert  <eggert@cs.ucla.edu>
14904         uniwbrk/u32-wordbreaks-tests: fix copyright
14905         * tests/uniwbrk/test-uc-wordbreaks.c: Fix copyright date.
14907         dup2: doc and test for Android bug
14908         Reported by Kevin Cernekee in:
14909         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00125.html
14910         * doc/posix-functions/dup2.texi (dup2): Document the bug.
14911         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the bug.
14913 2015-02-23  Kevin Cernekee  <cernekee@google.com>
14915         Replace dup2() on Android
14916         * m4/dup2.m4 (gl_FUNC_DUP2): Android implements dup2() using dup3().
14917         Since dup3(fd, fd) fails but dup2(fd, fd) should pass, test-dup2
14918         fails.  Using rpl_dup2() fixes this because it has an explicit test
14919         for this condition.
14921 2015-02-22  Paul Eggert  <eggert@cs.ucla.edu>
14923         Android doesn't define RLIM_SAVED_*
14924         Portability problem reported by Kevin Cernekee in:
14925         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00122.html
14926         * doc/posix-headers/sys_resource.texi (sys/resource.h):
14927         Mention the portability problem.
14928         * lib/getdtablesize.c (RLIM_SAVED_CUR, RLIM_SAVED_MAX):
14929         Define if not defined.
14930         * m4/dup2.m4 (gl_FUNC_DUP2):
14931         * m4/fcntl.m4 (gl_FUNC_FCNTL):
14932         Likewise.
14934 2015-02-21  Paul Eggert  <eggert@cs.ucla.edu>
14936         vasnprintf-posix-tests: use consistent test
14937         * tests/test-vasnprintf-posix.c (test_function):
14938         Use "<" in assert instead of "<=", for consistency with other tests.
14940 2015-02-20  Paul Eggert  <eggert@cs.ucla.edu>
14942         printf, isinf, etc.: noncanonical != NaN
14943         Do not require that isinf, printf, etc. treat noncanonical
14944         values as NaNs.  Instead, require only that they do not crash.
14945         Problem reported by Joseph Myers in:
14946         https://sourceware.org/ml/libc-alpha/2015-02/msg00244.html
14947         * doc/posix-functions/dprintf.texi (dprintf):
14948         * doc/posix-functions/fprintf.texi (fprintf):
14949         * doc/posix-functions/isfinite.texi (isfinite):
14950         * doc/posix-functions/isinf.texi (isinf):
14951         * doc/posix-functions/isnan.texi (isnan):
14952         * doc/posix-functions/printf.texi (printf):
14953         * doc/posix-functions/snprintf.texi (snprintf):
14954         * doc/posix-functions/sprintf.texi (sprintf):
14955         * doc/posix-functions/vdprintf.texi (vdprintf):
14956         * doc/posix-functions/vfprintf.texi (vfprintf):
14957         * doc/posix-functions/vprintf.texi (vprintf):
14958         * doc/posix-functions/vsnprintf.texi (vsnprintf):
14959         * doc/posix-functions/vsprintf.texi (vsprintf):
14960         Document this.
14961         * m4/isfinite.m4 (gl_ISFINITEL_WORKS):
14962         * m4/isinf.m4 (gl_ISINFL_WORKS):
14963         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS):
14964         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE):
14965         * tests/test-isfinite.c (test_isfinitel):
14966         * tests/test-isinf.c (test_isinfl):
14967         * tests/test-isnan.c (test_long_double):
14968         * tests/test-isnanl.h (main):
14969         * tests/test-snprintf-posix.h (test_function):
14970         * tests/test-sprintf-posix.h (test_function):
14971         * tests/test-vasnprintf-posix.c (test_function):
14972         * tests/test-vasprintf-posix.c (test_function):
14973 o       Test only that noncanonical values do not cause crashes, not that
14974         they are treated as NaNs.  In some cases this means a larger
14975         output buffer is needed.
14977 2015-02-20  Jaroslav Skarvada  <jskarvad@redhat.com>
14979         fts: remove redundant close() (trivial)
14980         * lib/fts.c (fts_read): Remove redundant call to close().
14981         Spotted by coverity.
14983 2015-02-20  Paul Eggert  <eggert@cs.ucla.edu>
14985         getdtablesize: port better for Android
14986         Problem reported by Kevin Cernekee in:
14987         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00112.html
14988         * doc/glibc-functions/getdtablesize.texi (getdtablesize): Mention bug.
14989         * lib/getdtablesize.c (getdtablesize): Don't fall back on _SC_OPEN_MAX.
14990         Instead, just use getrlimit, taking care to avoid Cygwin bug.
14992         poll: fixes for large fds
14993         * lib/poll.c (poll): Don't check directly for NFD too large.
14994         Don't rely on undefined behavior in FD_SET when an arg exceeds
14995         FD_SETSIZE.  Always set revents afterwards, even if to zero.
14996         * tests/test-poll.c (poll1): Set revents to -1 instead of 0,
14997         as that makes the test a bit stricter.
14999 2015-02-19  Kevin Cernekee  <cernekee@google.com>
15001         fcntl: Fix cross compiling
15002         * m4/fcntl.m4 (gl_FUNC_FCNTL): Assign the guessed result to the
15003         correct variable name (gl_cv_func_fcntl_f_dupfd_works).
15005 2015-02-18  Paul Eggert  <eggert@cs.ucla.edu>
15007         dup2, fcntl: cross-compile better for Android
15008         Problem reported by Kevin Cernekee in:
15009         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00109.html
15010         * m4/dup2.m4 (gl_FUNC_DUP2): Don't guess no when cross-compiling
15011         for a Linux kernel.  That kernel bug was fixed on 2009-05-11, and
15012         there's little need to cross-compile for older kernels nowadays.
15013         * m4/fcntl.m4 (gl_FUNC_FCNTL): When cross-compiling, guess no only
15014         for systems where the bug is known to occur (AIX, Cygwin, Haiku).
15016 2015-02-18  Pádraig Brady  <P@draigBrady.com>
15018         getopt: don't crash on memory exhaustion
15019         * lib/getopt.c (_getopt_internal_r): Use degraded diagnostics on
15020         memory exhaustion.  In the _LIBC case we use alloca() as is
15021         already done in glibc, so we don't need to consider the separate
15022         error path in that awkward case.  Also fix a memory leak when
15023         ambiguous options are present.
15024         Reported by Tobias Stoeckmann
15026 2015-02-17  Mike Miller  <mtmiller@ieee.org>
15028         tempname: allow compilation with C++ (trivial)
15029         * lib/tempname.h [C++]: Specify extern "C" linkage.
15030         * lib/tempname.h (try_tempname):
15031         * lib/tempname.c (__try_tempname, __gen_tempname):
15032         Rename 'try' to 'tryfunc'.
15034 2015-02-17  Paul Eggert  <eggert@cs.ucla.edu>
15036         dup2, fcntl: port to AIX
15037         * m4/dup2.m4 (gl_FUNC_DUP2):
15038         * m4/fcntl.m4 (gl_FUNC_FCNTL):
15039         Prefer getrusage (RLIM_NOFILE ...)/rlim_cur to sysconf (_SC_OPEN_MAX).
15040         The former works on AIX 7.1 but the latter does not.
15041         Also, this may work better with Android; see:
15042         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00100.html
15044 2015-02-16  Paul Eggert  <eggert@cs.ucla.edu>
15046         getdtablesize, dup2, fcntl: port to Android
15047         Problem reported by Kevin Cernekee in:
15048         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00092.html
15049         * doc/glibc-functions/getdtablesize.texi (getdtablesize):
15050         Mention that getdtablesize doesn't work on Android.
15051         * lib/getdtablesize.c: Use getrlimit substitute only if
15052         getdtablesize is declared.  This should suffice for Cygwin
15053         while not breaking Android.
15054         * m4/dup2.m4 (gl_FUNC_DUP2):
15055         * m4/fcntl.m4 (gl_FUNC_FCNTL):
15056         Prefer sysconf (_SC_OPEN_MAX) to getdtablesize, as the former is
15057         standardized but the latter is not, and sysconf works on Android.
15058         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE):
15059         Also check that getdtablesize is declared.
15060         This removes the need for a special case for Android.
15062 2015-02-16  Kevin Cernekee  <cernekee@google.com>
15064         localename: Implement gl_locale_name_thread_unsafe for Android
15065         * lib/localename.c: Android API level >= 21 supports two hardcoded
15066         locales: C (POSIX) and C.UTF-8.  Distinguish them by checking
15067         the internal __locale_t struct.
15069 2015-02-16  Kamil Dudka  <kdudka@redhat.com>
15071         fts: avoid crash when a cycle is added while traversing
15072         This could be triggered by auto-mounting a recursive bind mount.
15073         Reported by Michael Chapman in: https://bugzilla.redhat.com/1188498
15074         * lib/fts.c (fts_read): Avoid removing the original hash table item
15075         when leaving a directory that caused a cycle, and preserve the FTS_DC
15076         flag.
15078 2015-02-16  Daiki Ueno  <ueno@gnu.org>
15080         uniname/uniname: support character alias
15081         * lib/uniname/gen-uninames.lisp (main): New argument ALIASFILE.
15082         Generate one-way mapping from aliases to codepoints in the
15083         generated tables.  Special case variation selectors to reduce
15084         table size.
15085         * lib/uniname/uniname.c (unicode_character_name): Special case
15086         variation selectors.
15087         (unicode_name_character): Special case variation selectors and
15088         their aliases.
15089         * lib/uniname/uninames.h: Regenerate.
15090         * tests/uniname/NameAliases.txt: New file, taken from UCD 7.0.0.
15091         * modules/uniname/uniname-tests (Files): Add
15092         tests/uniname/NameAliases.txt.
15093         * tests/uniname/test-uninames.c: Mark as static.
15094         (ALIASLEN): Define.
15095         (struct unicode_alias): New struct.
15096         (unicode_aliases): New variable.
15097         (fill_aliases): New function.
15098         (test_alias_lookup): New test function.
15099         (main): Run the 'test_alias_lookup' test if the second argument is
15100         given.
15101         * tests/uniname/test-uninames.sh: Supply NameAliases.txt as the
15102         second argument.
15104 2015-02-11  Kevin Cernekee  <cernekee@google.com>
15106         Fix FILE struct compatibility with Android API level >= 21
15107         * lib/stdio-impl.h: Test explicitly for __ANDROID__ instead of
15108         __sferror.  Recent versions of Bionic's stdio.h no longer define
15109         __sferror.
15110         * lib/fbufmode.c: Likewise.
15111         * lib/fflush.c: Likewise.
15112         * lib/fpurge.c: Likewise.
15113         * lib/freadable.c: Likewise.
15114         * lib/freadahead.c: Likewise.
15115         * lib/freading.c: Likewise.
15116         * lib/freadptr.c: Likewise.
15117         * lib/freadseek.c: Likewise.
15118         * lib/fseeko.c: Likewise.
15119         * lib/fseterr.c: Likewise.
15120         * lib/fwritable.c: Likewise.
15122         Assume unbroken ungetc() on Android
15123         * m4/ungetc.m4: Add Android case to host OS check.  The ungetc()
15124         test case passed when running on an Android host, and the code
15125         hasn't really changed since 2009.
15127         getdtablesize: Fix Android build
15128         * m4/getdtablesize.m4: Add Android case to host OS check.  Recent NDK
15129         versions have this symbol in the .so library (at least 32-bit
15130         platforms) but are missing the declaration in the header file,
15131         causing the m4 logic to guess incorrectly.
15133         localename: Fix Android build
15134         * modules/localename (Depends-on): Add langinfo.
15136         getugroups: Fix Android build
15137         * lib/getugroups.c: Don't reference unsupported {get,set,end}grent
15138         functions.
15140         euidaccess: Fix Android build
15141         * modules/euidaccess (Depends-on): Add fcntl-h to ensure that
15142         AT_EACCESS gets declared.
15144         linkat_nofollow: Add fallback case for cross compiling
15145         * m4/linkat.m4: Guess no for Darwin, yes otherwise.
15147         net_if: Handle content-free <net/if.h> system headers
15148         * m4/net_if_h.m4: Check to make sure <net/if.h> actually defines
15149         struct if_nameindex.  If not, enable the replacement header.
15151         signal_h: Fix Android build
15152         * lib/signal.in.h: Add Android to the list of platforms that declare
15153         pthread_sigmask() in <pthread.h> instead of <signal.h>.
15155         duplocale: Fix Android build of duplocale-tests
15156         * modules/duplocale-tests (Depends-on): Add langinfo, as the header
15157         is included by test-duplocale.c (but not by duplocale.c).
15158         * modules/duplocale-tests (configure.ac): Check for monetary.h.
15159         * tests/test-duplocale.c: Skip test if monetary.h is absent.
15160         * doc/posix-headers/monetary.texi: Add Android to the list of
15161         platforms missing monetary.h.
15163 2015-02-11  Pádraig Brady  <P@draigBrady.com>
15165         tests: avoid recent -Werror=unused-variable regression in test-locale
15166         * tests/test-locale.c (main): Reference the variable to avoid the
15167         "unused variable" warning.
15169 2015-02-11  Pádraig Brady  <P@draigBrady.com>
15171         maint: various whitespace cleanups in tempname
15172         * lib/tempname.c: Normalize spacing and line length.
15173         * lib/tempname.h: Likewise.
15174         * modules/tempname: Likewise.
15176 2015-02-11  Pádraig Brady  <P@draigBrady.com>
15178         tests: provide returns_() to simplify exit status checking
15179         * tests/init.sh (returns_): A new function for use in tests,
15180         to allow for easier checking of return values, where you expect
15181         a command to exit with failure status.  By checking for a particular
15182         exit code, you don't hide any crashes for example.
15184 2015-02-11  Pádraig Brady  <P@draigBrady.com>
15186         mountlist: only use libmount when specified
15187         There are currently many shared libs dependencies introduced by
15188         libmount with associated runtime and virt mem overhead.
15189         Therefore don't enable by default.
15190         * m4/ls-mntd-fs.m4: Use --with-libmount to enable at build time.
15192 2015-02-08  Daiki Ueno  <ueno@gnu.org>
15194         uniname/unimame-tests: don't link with -lunistring
15195         * modules/uniname/uniname-tests (Makefile.am): Don't link against
15196         $(LIBUNISTRING).  Document the rationale why we need to
15197         conditionalize the test.
15199 2015-02-07  Paul Eggert  <eggert@cs.ucla.edu>
15201         fstrcmp: don't assume strlen < INT_MAX
15202         * lib/fstrcmp.c: Include stddef.h and stdint.h.
15203         (uintptr_t): Remove, as we're now assuming stdint.
15204         (OFFSET, EXTRA_CONTEXT_FIELDS, fstrcmp_bounded):
15205         Prefer ptrdiff_t to int when the value could exceed INT_MAX
15206         if the input string is long.
15207         (fstrcmp_bounded): Check for size-calculation overflow.  Prefer
15208         uintptr_t to size_t when the underlying value is a pointer casted
15209         to an unsigned integer.  Avoid unnecessary 'buffer != NULL' test.
15210         * modules/fstrcmp (Depends-on): Add stdint.
15212         diffseq: prefer ptrdiff_t to ssize_t
15213         * lib/diffseq.h: In commentary, prefer ptrdiff_t to ssize_t.
15214         ptrdiff_t is the natural type for signed indexes.
15215         On a few older platforms, ssize_t is narrower than size_t.
15217         xalloc: fix typo that suppressed warnings
15218         * lib/xalloc.h: Add missing _GL_INLINE_HEADER_END.
15219         This typo, introduced a couple of years ago, mistakenly suppressed
15220         some -Wsuggest-attribute=const, -Wmissing-prototypes, and
15221         -Wmissing-declarations warnings.
15223         full-read: fix license notice typo
15224         * lib/full-read.h: Remove a stray line in the license notice.
15225         Reported by Sam Ellis in: http://bugs.gnu.org/19808
15227         crypto/gc: fix a -Wswitch warning
15228         Reported by Bruce Korb in:
15229         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00046.html
15230         * lib/gc-gnulib.c (gc_hash_open): Fail faster if MODE is nonzero.
15232 2015-02-03  Pádraig Brady  <P@draigBrady.com>
15234         gnulib-tool: fix handling of patch(1) diagnostics
15235         * gnulib-tool: Send diagnostics from patch(1) to stderr,
15236         as otherwise gnulib-tool will reparse that output and attempt
15237         to lookup modules.
15239 2015-02-03  Pádraig Brady  <P@draigBrady.com>
15241         bootstrap: exit immediately upon gnulib-tool failure
15242         * build-aux/bootstrap: Exit immediately if gnulib-tool fails.
15243         This was noticed when gnulib-tool exited early due to failure
15244         to apply a patch in coreutils at http://hydra.nixos.org/eval/1172233,
15245         but various confusing errors were then given as the build proceeded.
15247 2015-02-02  Andreas Gruenbacher  <agruen@gnu.org>
15249         symlinkat: include all required header files
15250         * lib/symlinkat.c (HAVE_SYMLINK_AT): Add <sys/stat.h> for fstatat(),
15251         and string.h for strlen(), required at least on OS X 10.10 (Yosemite).
15252         Reported at https://savannah.gnu.org/bugs/index.php?44151
15253         and by Jack Howarth.
15255 2015-01-29  Pádraig Brady  <P@draigBrady.com>
15257         localename: support Solaris 12 and illumos
15258         * lib/localename.c (gl_locale_name_thread_unsafe): call
15259         getlocalename_l() on newer __sun platforms.
15260         Reported by Alexander Pyhalov.
15261         Fix suggested by Rich Burridge.
15263 2015-01-29  Alexander Pyhalov  <alp@rsu.ru>
15265         locale: fix tests on illumos (trivial)
15266         * tests/test-locale.c: LC_GLOBAL_LOCALE is a function call on illumos,
15267         so move from global scope to main().
15269 2015-01-24  Daiki Ueno  <ueno@gnu.org>
15271         unictype: avoid undefined left-shift behavior
15272         * lib/unictype/bidi_of.c (uc_bidi_class): Building libunistring with
15273         gcc's -fsanitize=shift and running its tests triggered:
15274           unictype/bidi_of.c:43:60: runtime error: left shift of 40167 by 16 \
15275             places cannot be represented in type 'int'
15276         Cast LHS to 'unsigned int' after integer promotion.
15277         * lib/unictype/categ_of.c (lookup_withtable): Likewise.
15278         * lib/unictype/joininggroup_of.c (uc_joining_group): Likewise.
15280 2015-01-20  Daiki Ueno  <ueno@gnu.org>
15282         libunistring: bump version of unitypes dependants
15283         Due to the header file search order, all the headers which depend
15284         on unitypes.h need to be generated, when the preinstalled
15285         libunistring is older.
15286         * modules/unicase/base (configure.ac): Bump minimum version to
15287         0.9.4.
15288         * modules/uniconv/base (configure.ac): Likewise.
15289         * modules/unilbrk/base (configure.ac): Likewise.
15290         * modules/uninorm/base (configure.ac): Likewise.
15291         * modules/unistdio/base (configure.ac): Likewise.
15292         * modules/unistr/base (configure.ac): Likewise.
15293         * modules/uniwbrk/base (configure.ac): Likewise.
15294         * modules/uniwidth/base (configure.ac): Likewise.
15296 2015-01-20  Daiki Ueno  <ueno@gnu.org>
15298         unictype/category-none: fix link with libunistring
15299         Since _UC_CATEGORY_NONE is not a public symbol, it will be
15300         prefixed with "libstring_" when compiled as part of libunistring.
15301         To avoid undefined symbol at link time, increase the minimum
15302         version when the dependant modules are updated.
15303         * modules/unictype/category-none (configure.ac): Bump minimum
15304         version to 0.9.5.
15306 2015-01-20  Daiki Ueno  <ueno@gnu.org>
15308         unitypes: fix build with installed libunistring
15309         The minimum version has not bumped after _UC_ATTRIBUTE_CONST and
15310         _UC_ATTRIBUTE_PURE were added to unitypes.in.h.
15311         * modules/unitypes (configure.ac): Bump minimum version to 0.9.4.
15313 2015-01-15  Paul Eggert  <eggert@cs.ucla.edu>
15315         time: port to MinGW32 3.21
15316         Problem reported by Eli Zaretskii in:
15317         http://lists.gnu.org/r/bug-gnulib/2015-01/msg00042.html
15318         * lib/time.in.h:
15319         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC):
15320         * modules/time (Depends-on):
15321         Fall back on unistd.h if the other include files don't define
15322         struct timespec.
15324         update-copyright: apply to self
15325         * build-aux/update-copyright: Fix copyright date.  How ironic!
15327 2015-01-15  Daiki Ueno  <ueno@gnu.org>
15329         libunistring: update to Unicode 7.0.0
15330         * lib/unictype/joininggroup_byname.gperf: Add Straight Waw and
15331         Manichaean names.
15332         * lib/unictype/joininggroup_name.h: Likewise.
15333         * lib/unictype.in.h (UC_JOINING_GROUP_STRAIGHT_WAW)
15334         (UC_JOINING_GROUP_MANICHAEAN_ALEPH): New enumeration values.
15335         * lib/gen-uni-tables.c (UC_JOINING_GROUP_STRAIGHT_WAW)
15336         (UC_JOINING_GROUP_MANICHAEAN_*): New enumeration values.
15337         (fill_arabicshaping, joining_group_as_c_identifier): Support those
15338         enum values.
15339         (is_property_alphabetic): Accept newly added characters to
15340         cuneiform numeric signs.
15341         (is_property_default_ignorable_code_point): Reject U+0605.
15342         (FIELDLEN): Increase from 120 to 160.
15343         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0605,
15344         U+08FF, U+0C00, U+0C81, U+0D01, U+1AB0..U+1ABE, U+1BAC..U+1BAD,
15345         U+1CF8..U+1CF9, U+1DE7..U+1DF5, U+A9E5, U+AA7C, U+FE27..U+FE2D,
15346         U+102E0, U+10376..U+1037A, U+10AE5..U+10AE6, U+1107F, U+11173,
15347         U+1122F..U+11231, U+11234, U+11236..U+11237, U+112DF,
15348         U+112E3..U+112EA, U+11301, U+1133C, U+11340, U+11366..U+1136C,
15349         U+11370..U+11374, U+114B3..U+114B8, U+114BA, U+114BF..U+114C0,
15350         U+114C2..U+114C3, U+115B2..U+115B5, U+115BC..U+115C0,
15351         U+11633..U+1163A, U+1163D, U+1163F..U+11640, U+16AF0..U+16AF4,
15352         U+16B30..U+16B36, U+1BC9D..U+1BC9E, U+1BCA0..U+1BCA3, and
15353         U+1E8D0..U+1E8D6.
15354         (uc_width): Adjust nonspacing_table_ind boundary from 240 to 248.
15355         * tests/uniwidth/test-uc_width2.sh: Same updates as in
15356         lib/uniwidth/width.c.
15357         * all generated files under lib/uni* and tests/uni*: Regenerate.
15359 2015-01-14  Daiki Ueno  <ueno@gnu.org>
15361         libunistring: update to Unicode 6.3.0
15362         * lib/uniwbrk.in.h (WBP_DQ, WBP_SQ, WBP_HL): New enumeration values.
15363         * lib/uniwbrk/u-wordbreaks.h (FUNC): Support WB7a, WB7b, and WB7c.
15364         Update WB5, WB6, WB7, WB9, WB11, WB12, WB13a, and WB13b.
15365         * lib/uniwbrk/wbrktable.h (uniwbrk_table): Adjust table size.
15366         * lib/uniwbrk/wbrktable.c (uniwbrk_table): Support rule WB7a.
15367         Update WB5, WB9, WB10, WB13a, and WB13b.
15368         * tests/uniwbrk/test-uc-wordbreaks.c
15369         (wordbreakproperty_to_string): Support WBP_DQ, WBP_SQ, and WBP_HL.
15370         * lib/gen-uni-tables.c (UC_BIDI_LRI, UC_BIDI_RLI, UC_BIDI_FSI)
15371         (UC_BIDI_PDI): New enumeration values.
15372         (bidi_category_byname): Support those enum values.
15373         (is_WBP_MIDNUMLET): Exclude 0x0027 (SINGLE QUOTE), which is now a
15374         dedicated property assigned.
15375         (is_property_case_ignorable): Check 0x0027.
15376         (WBP_DQ, WBP_SQ, WBP_HL): New enumeration values.
15377         (get_wbp, debug_output_wbp, fill_org_wbp, debug_output_org_wbp)
15378         (output_wbp): Support those enum values.
15379         * lib/unictype.in.h (UC_BIDI_LRI, UC_BIDI_RLI, UC_BIDI_FSI)
15380         (UC_BIDI_PDI): New enumeration values.
15381         * lib/unictype/bidi_byname.gperf: Add those property names.
15382         * lib/uniwidth/width.c (nonspacing_table_data): Add U+061C,
15383         U+180E, U+1A1B, and U+2066..U+2069.
15384         * tests/uniwidth/test-uc_width2.sh: Same updates as in
15385         lib/uniwidth/width.c.
15386         * all generated files under lib/uni* and tests/uni*: Regenerate.
15388 2015-01-14  Daiki Ueno  <ueno@gnu.org>
15390         libunistring: update to Unicode 6.2.0
15391         * lib/unilbrk/lbrktables.h (LBP_RI): New enumeration value.
15392         (unilbrk_table): Adjust table size.
15393         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column
15394         for LBP_RI.
15395         * lib/uniwbrk.in.h (WBP_RI): New enumeration value.
15396         * lib/uniwbrk/u-wordbreaks.h (FUNC): Support rule WB13c.
15397         Normalize table index skipping ignored properties.
15398         * lib/uniwbrk/wbrktable.c (uniwbrk_table): Support WBP_RI.  Remove
15399         WBP_EXTEND and WBP_FORMAT, which are now computed without using
15400         the table.
15401         * lib/uniwbrk/wbrktable.h: Adjust table size.
15402         * lib/unigbrk.in.h (GBP_RI): New enumeration value.
15403         * lib/unigbrk/uc-is-grapheme-break.c (UC_IS_GRAPHEME_BREAK):
15404         Support rule GB8a.
15405         (UC_GRAPHEME_BREAKS_FOR, gb_table): Support GBP_RI.
15406         * tests/unigbrk/test-uc-is-grapheme-break.c
15407         (graphemebreakproperty_to_string): Support GBP_RI.
15408         * tests/uniwbrk/test-uc-wordbreaks.c
15409         (wordbreakproperty_to_string): Support WBP_RI.
15410         * lib/gen-uni-tables.c (LBP_RI): New enumeration value.
15411         (get_lbp, debug_output_lbp, fill_org_lbp, debug_output_org_lbp)
15412         (output_lbp): Support LBP_RI.  Adjust some characters changed from
15413         LBP_AL to LBP_ID.
15414         (output_lbp): Support LBP_RI.
15415         (WBP_RI): New enumeration value.
15416         (debug_output_wbp, fill_org_wbp, debug_output_org_wbp)
15417         (output_wbp): Support WBP_RI.
15418         (GBP_RI): New enumeration value.
15419         (output_gbp_test, fill_org_gbp): Support GBP_RI.
15420         * all generated files under lib/uni* and tests/uni*: Regenerate.
15422 2015-01-14  Daiki Ueno  <ueno@gnu.org>
15424         libunistring: update to Unicode 6.1.0
15425         * lib/gen-uni-tables.c (output_joining_group): Switch to
15426         3-level table to accommodate joining groups defined with higher
15427         codepoint value.  Since there are only 88 groups defined in
15428         Unicode 7.0.0, use 7-bit packed format for level3 entries.
15429         (get_lbp): Update for Unicode 6.1.0.
15430         * lib/unictype/joininggroup_of.c (uc_joining_group): Adjust to use
15431         3-level table.
15432         * lib/unictype/joininggroup_byname.gperf: Add Rohingya Yeh
15433         joining group name.
15434         * lib/unictype/joininggroup_name.h: Likewise.
15435         * lib/unilbrk/lbrktables.h (LBP_HL): New enumeration value.
15436         (unilbrk_table): Adjust table size.
15437         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column
15438         for LBP_HL.
15439         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0604,
15440         U+08E4..U+08FE, U+1BAB, U+1CF4, U+A674..U+A67B, U+A69F,
15441         U+AAEC..U+AAED, U+AAF6, U+11100..U+11102, U+11127..U+1112B,
15442         U+1112D..U+11134, U+11180..U+11181, U+111B6..U+111BE, U+116AB,
15443         U+116AD, U+116B0..U+116B5, U+116B7, U+16F8F..U+16F92.  Remove
15444         U+302E..U+302F.
15445         * tests/uniwidth/test-uc_width2.sh: Same updates as in
15446         lib/uniwidth/width.c.
15447         * all generated files under lib/uni* and tests/uni*: Regenerate.
15448         * modules/uni*/* (configure.ac): Bump minimum version to 0.9.5.
15450 2015-01-15  Daiki Ueno  <ueno@gnu.org>
15452         uniwbrk/u32-wordbreaks-tests: add conformance test
15453         * modules/uniwbrk/u32-wordbreaks-tests (Files): Add
15454         tests/uniwbrk/test-uc-wordbreaks.c,
15455         tests/uniwbrk/test-uc-wordbreaks.sh, and
15456         tests/uniwbrk/WordBreakTest.txt.
15457         (Makefile.am): Add uniwbrk/test-uc-wordbreaks.sh to $(TESTS), add
15458         test-uc-wordbreaks to $(check_PROGRAMS), and define
15459         test_uc_wordbreaks_SOURCES and test_uc_wordbreaks_LDADD.
15460         * tests/uniwbrk/test-uc-wordbreaks.sh: New file.
15461         * tests/uniwbrk/test-uc-wordbreaks.c: New file.
15463 2015-01-15  Daiki Ueno  <ueno@gnu.org>
15465         uniwbrk: ignore Extended/Format characters at BOL not BOS
15466         * lib/uniwbrk/u-wordbreaks.h (FUNC): Ignore Extend and Format
15467         characters if the previous character property is one of
15468         WBP_NEWLINE, WBP_CR, and WBP_LF.
15470 2015-01-11  Jim Meyering  <meyering@fb.com>
15472         test-strstr.c: avoid a trivial leak
15473         * tests/test-strstr.c (main): Free haystack.
15475         update-copyright: recognize groff's \(co marker
15476         * build-aux/update-copyright (circle_c_re): Also accept
15477         uses of \(co, as found in gzip.1.
15479 2015-01-08  Pádraig Brady  <P@draigBrady.com>
15481         maint.mk: fix compatibility with OS X nm
15482         * top/maint.mk (_gl_tight_scope): Use the -g option to
15483         show exported items rather than the -e option which is
15484         ignored on all platforms except OS X where it gives an error.
15485         Reported by Assaf Gordon.
15487 2015-01-07  KO Myung-Hun  <komh@chollian.net>
15489         localcharset: improve charset detection on OS/2
15490         Use system codepage when appropriate.  Map OS/2 codepages to
15491         GNU canonical charset names if possible.
15492         * lib/config.charset: Don't output aliases if "$os" is os2*.
15493         * lib/localcharset.c (get_charset_aliases) [OS2]: Hardcode the
15494         result for OS/2.
15495         (locale_charset) [OS2]: Use system codepage if codeset is omitted
15496         from the locale name which is neither "C" nor "POSIX".
15498 2015-01-06  Paul Eggert  <eggert@cs.ucla.edu>
15500         count-leading-zeros: use 64-bit intrinsics on 32-bit Windows
15501         This reverts the last patch but one, as it shouldn't be needed now
15502         that the typo is fixed.
15503         * lib/count-leading-zeros.h (count_leading_zeros_ll):
15504         * lib/count-trailing-zeros.h:
15505         * lib/count-one-bits.h:
15506         Go back to using 64-bit intrinsics.
15508         count-leading-zeros: fix pragma typos
15509         * lib/count-leading-zeros.h (_BitScanReverse, _BitScanReverse64):
15510         Fix typos in declaration of intrinsics when _MSC_VER.
15512 2015-01-06  Pádraig Brady  <P@draigBrady.com>
15514         count-leading-zeros: avoid 64-bit intrinsics on 32-bit Windows
15515         * lib/count-leading-zeros.h (count_leading_zeros_ll): Use 32 bit
15516         intrinsics in this case.
15517         * lib/count-trailing-zeros.h: Likewise.
15518         * lib/count-one-bits.h: Likewise.
15520 2015-01-06  Daiki Ueno  <ueno@gnu.org>
15522         uniname/uniname: update to Unicode 7.0.0
15523         To accommodate new characters added since Unicode 5.1.0, this
15524         changes the internal representation of codepoint ranges.
15525         Previously, we grouped codepoint ranges by manually assigned 4-bit
15526         tag, which only allowed 16 groups.  This removes the limitation by
15527         switching to binary search on a table.  For the detail rationale
15528         and the benchmark results, see:
15529         https://lists.gnu.org/r/bug-libunistring/2014-06/msg00001.html
15530         * lib/uniname/gen-uninames.lisp (unicode-char): Rename CODE member
15531         to INDEX, as it no longer represents a codepoint.
15532         (range): New struct.
15533         (main): Switch to intervals list from a bit-pattern based
15534         classification.
15535         * lib/uniname/uninames.h: Regenerate.
15536         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 7.0.0.
15537         * modules/uniname/base (configure.ac): Bump minimum version to
15538         0.9.5.
15539         * modules/uniname/uniname (configure.ac): Bump minimum version to
15540         0.9.5.
15542 2015-01-05  Eric Blake  <eblake@redhat.com>
15544         doc: update INSTALL from autoconf
15545         * doc/install.texi: Resync from autoconf.
15546         * doc/INSTALL: Reflect recent autoconf update.
15547         * doc/INSTALL.ISO: Likewise.
15548         * doc/INSTALL.UTF-8: Likewise.
15550         stdio: fix use of PRIdMAX on modern mingw
15551         * m4/stdio_h.m4 (gl_STDIO_H): Probe for printf flavor via inttypes.
15552         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): Use result
15553         to work with modern mingw.
15555 2015-01-05  Daniel P. Berrange  <berrange@redhat.com>  (tiny change)
15557         pthread: detect git mingw builds with only partial pollution
15558         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for additional
15559         pollution, as seen temporarily in Fedora 21.
15561 2015-01-04  Paul Eggert  <eggert@cs.ucla.edu>
15563         lib-symbol-versions: cache script check
15564         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT):
15565         Cache the check for linker version scripts.
15566         From a suggestion by Christophe Curis in:
15567         http://lists.gnu.org/r/bug-gnulib/2015-01/msg00011.html
15569 2015-01-04  Benno Schulenberg  <bensberg@justemail.net>
15571         maint: fix grammar nits in propername (trivial change)
15572         * lib/propername.h: Remove a mistaken comma and a duplicate "from",
15573         and use an adequate verb and tense.
15575 2015-01-02  Ludovic Courtès  <ludo@gnu.org>
15577         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
15578         * module/gendocs: Add 'doc/gendocs_template_min'.
15580         * build-aux/gendocs.sh: Change email addresses and upstream URLs
15581         from to Gnulib's.
15582         (scripturl, templateurl): Adjust accordingly.
15584 2015-01-01  Paul Eggert  <eggert@cs.ucla.edu>
15586         gendocs: copyright date and version fix
15587         Reported by Karl Berry in:
15588         http://lists.gnu.org/r/bug-gnulib/2015-01/msg00002.html
15589         * build-aux/gendocs.sh, doc/gendocs_template, doc/gendocs_template_min:
15590         Fix copyright date.
15591         * build-aux/gendocs.sh (scriptversion): Update.
15593 2015-01-01  Karl Berry  <karl@gnu.org>
15595         * doc/install.texi,
15596         * build-aux/mdate-sh,
15597         * build-aux/depcomp,
15598         * build-aux/config.guess,
15599         * build-aux/config.sub,
15600         * build-aux/ar-lib,
15601         * build-aux/compile: revert copyright updates (some from last
15602         year) in slaved files.
15604 2015-01-01  Paul Eggert  <eggert@cs.ucla.edu>
15606         version-etc: new year
15607         * doc/gnulib.texi:
15608         * lib/version-etc.c (COPYRIGHT_YEAR): Update copyright date.
15609         * all files: Run 'make update-copyright'.
15611 2014-12-30  Pádraig Brady  <P@draigBrady.com>
15613         xstrtol: ensure errno is reset
15614         Since commit 3bf75404, on 26-09-1998, errno may not have been reset.
15615         Noticed with a spurious coreutils test failure on Darwin 14.0.0.
15617         * lib/xstrtol.c (__xstrtol): Always reset errno before returning.
15619 2014-12-28  Paul Eggert  <eggert@cs.ucla.edu>
15621         utimens: fix dependency typo
15622         * modules/utimens (Depends-on): Remove 'assure'.
15623         This bug was introduced in the recent 'assure' patch.
15625 2014-12-22  Eric Blake  <eblake@redhat.com>
15627         docs: mention why libgen.h is bad
15628         * doc/posix-headers/libgen.texi (libgen.h): Refer to dirname module.
15630 2014-12-20  Paul Eggert  <eggert@cs.ucla.edu>
15632         assure: new module
15633         This works better than 'assert' when compiling with -DNDEBUG,
15634         as it avoids some compiler diagnostics in that case.
15635         Reported by Norihiro Tanaka in:
15636         http://lists.gnu.org/r/bug-gnulib/2014-12/msg00215.html
15637         * MODULES.html.sh (func_all_modules): Add 'assure'.
15638         * lib/assure.h, modules/assure: New files.
15639         * lib/chdir-long.c, lib/cycle-check.c, lib/fchdir.c, lib/fts.c:
15640         * lib/poll.c, lib/savewd.c, lib/xstrtol.c:
15641         Prefer 'assure' to 'assert'.
15642         * lib/utimens.c: Stop using 'assert'; it wasn't helpful.
15643         * modules/chdir-long, modules/cycle-check, modules/fchdir:
15644         * modules/poll, modules/savewd, modules/utimens, modules/xstrtol:
15645         Depend on 'assure'.
15647 2014-12-16  Paul Eggert  <eggert@cs.ucla.edu>
15649         stdalign: port better to HP compilers
15650         * m4/stdalign.m4 (gl_STDALIGN_H): Try the test if __HP_cc or
15651         __HP_aCC are nonzero, to be consistent with the 2014-01-20 patch.
15653         stdalign: work around Apple GCC 4.0 bug
15654         Reported by David Fang in:
15655         http://lists.gnu.org/r/bug-gnulib/2014-12/msg00194.html
15656         * lib/stdalign.in.h (_Alignas):
15657         * m4/stdalign.m4 (gl_STDALIGN_H):
15658         Do not use aligned attribute with GCC 4.0 on Apple.
15660 2014-12-16  Pádraig Brady  <P@draigBrady.com>
15662         getcwd: fix test failure on OS X 10.9
15663         * m4/getcwd-path-max.m4: Avoid the replacement if it
15664         won't be effective due to the PATH_MAX limitation of lstat().
15665         (gl_cv_func_getcwd_path_max): Adjust to indicate this case.
15666         * m4/getcwd.m4 (gl_FUNC_GETCWD): Define HAVE_GETCWD_SHORTER
15667         for this case for use in tests, and also exclude this
15668         case when setting REPLACE_GETCWD.
15669         * tests/test-getcwd.c (test_long_name): Restrict the
15670         tested path length so that lstat() will not be passed
15671         a path greater than PATH_MAX.
15672         Also key a test condition on HAVE_OPENAT_SUPPORT rather
15673         than AT_FDCWD, since the latter is set unconditionally
15674         since Sep 2009 in commit 52c658e9.
15676 2014-12-14  Tim Rühsen  <tim.ruehsen@gmx.de>
15678         parse-datetime: avoid a compiler warning with byacc (trivial)
15679         * lib/parse-datetime.y (yylex): Use the same prototype in the
15680         function definition as the declaration, to avoid a -Wstrict-prototypes
15681         warning seen when using byacc.
15683 2014-12-12  Daiki Ueno  <ueno@gnu.org>
15685         unicase/locale-language-tests: fix LOCALE_FR test
15686         * tests/unicase/test-locale-language.sh: Really use $LOCALE_FR for
15687         a French locale with traditional encoding.
15688         Reported by umerqayam in:
15689         http://lists.gnu.org/r/bug-libunistring/2014-12/msg00000.html
15691 2014-12-12  Paul Eggert  <eggert@cs.ucla.edu>
15693         stddef: support C11's max_align_t
15694         * doc/posix-headers/stddef.texi (stddef.h): Document max_align_t.
15695         * lib/stddef.in.h (_@GUARD_PREFIX@_STDDEF_H) [__need_wint_t]:
15696         Do not undef, as that might cause max_align_t to be defined twice.
15697         Instead, change use to check for _GL_STDDEF_WINT_T too.
15698         (max_align_t) [!HAVE_MAX_ALIGN_T]: New decl.
15699         * m4/stddef_h.m4 (gl_STDDEF_H, gl_STDDEF_H_DEFAULTS):
15700         Check for max_align_t.
15701         * modules/stddef (stddef.h): Substitute HAVE_MAX_ALIGN_T.
15702         * modules/stddef-tests (Depends-on): Add stdalign.
15703         * tests/test-stddef.c: Test max_align_t.
15705 2014-12-11  Daiki Ueno  <ueno@gnu.org>
15707         unistd: fix iOS check conditional
15708         On Mac OS X 10.8, the TARGET_* macros are unconditonally defined
15709         as 0 or 1 in <TargetConditionals.h>, and the previous check always
15710         yielded true on non-iOS environment.
15711         * lib/unistd.in.h (environ) [__APPLE__]: Check the values of
15712         TARGET_OS_IPHONE and TARGET_IPHONE_SIMULATOR, instead of whether
15713         they are defined.
15715 2014-12-09  Paul Eggert  <eggert@cs.ucla.edu>
15717         posixtm: avoid compiler warning in a better way
15718         * lib/posixtm.c (IF_LINT): Remove.
15719         (year, posix_time_parse):
15720         Return true (not 0) if successful.  All callers changed.
15721         (posix_time_parse): Simplify to pacify GCC without need for IF_LINT.
15723 2014-12-08  KO Myung-Hun  <komh78@gmail.com>
15725         * lib/relocatable.c (relocate): Prepend $UNIXROOT to pathname if it is
15726         started with '/' on EMX.
15728 2014-12-08  KO Myung-Hun  <komh78@gmail.com>
15730         freopen: workaround freopen() on OS/2 kLIBC
15731         * lib/freopen.c (rpl_freopen): Workaround.
15732         * m4/freopen.m4: Add os2* case.
15734         get_shared_library_fullname: port to EMX
15735         * lib/relocatable.c: Define strcmp and strncmp to stricmp and strnicmp
15736         on EMX, respectively.
15737         (_DLL_InitTerm): New on EMX.
15738         (get_shared_library_fullname): Implement on EMX.
15740         find_executable: port to EMX
15741         * lib/progreloc.c (find_executable): Implement on EMX.
15743         sched: check struct sched_param in spawn.h as well
15744         * lib/sched.in.h: Include spawn.h on kLIBC.
15745         * lib/sched_h.m4: Check struct sched_param in spawn.h as well.
15747 2014-12-08  Martin Kletzander  <mkletzan@redhat.com>  (tiny change)
15749         bootstrap: Allow perl modules in $buildreq
15750         * build-aux/bootstrap: Add case for perl modules.
15752 2014-12-08  Pádraig Brady  <P@draigBrady.com>
15754         apply _GL_ATTRIBUTE_PURE to some inline functions
15755         clang 3.4.2 flagged these inline functions as pure
15756         * lib/savewd.h (savewd_errno): Set _GL_ATTRIBUTE_PURE.
15757         * lib/sig-handler.h (get_handler): Likewise.
15758         * lib/stat-time.h (get_stat_{a,c,m,birth}time{,_ns}): Likewise.
15759         * lib/timespec.h (timespec_cmp, timespec_sign): Likewise.
15761 2014-12-06  Pádraig Brady  <P@draigBrady.com>
15763         vasnprintf: fix potential use after free
15764         * lib/vasnprintf.c (VASNPRINTF): Fix free-memory read,
15765         flagged by clang-analyzer 3.4.2.
15767 2014-12-05  Pádraig Brady  <P@draigBrady.com>
15769         filevercmp, posixtm: avoid compiler warnings with -O3
15770         * lib/filevercmp.h (filevercmp): Tag with _GL_ATTRIBUTE_PURE
15771         * lib/posixtm.c: (IF_LINT): Define.
15772         (posix_time_parse): Use it to void a "may be used uninitialized"
15773         warning, seen only with -O3.
15775 2014-12-05  Bruno Haible  <bruno@clisp.org>
15777         Fix LDBL80_WORDS macro on big endian platforms.
15778         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Add missing parenthesis in
15779         LDBL80_WORDS macro.
15780         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
15781         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
15782         * tests/test-isfinite.c (test_isfinitel): Likewise.
15783         * tests/test-isinf.c (test_isinfl): Likewise.
15784         * tests/test-isnan.c (test_long_double): Likewise.
15785         * tests/test-isnanl.h (main): Likewise.
15786         * tests/test-snprintf-posix.h (LDBL80_WORDS): Add missing parenthesis.
15787         * tests/test-sprintf-posix.h (LDBL80_WORDS): Likewise.
15788         * tests/test-vasnprintf-posix.c (LDBL80_WORDS): Likewise.
15789         * tests/test-vasprintf-posix.c (LDBL80_WORDS): Likewise.
15790         Reported by Pádraig Brady.
15792 2014-12-02  KO Myung-Hun  <komh78@gmail.com>
15794         git-version-gen: do not print new line characters
15795         * build-aux/git-version-gen: Use printf instead of echo and tr.
15797         gnulib-tool: recognize x:* as an absolute path
15798         * gnulib-tool (func_gnulib_dir): Add ?:* case.
15799         (func_relconcat): Likewise.
15801 2014-12-02  Andrei Borzenkov  <arvidjaar@gmail.com>
15803         argp: avoid extraneous translation and mem leak with empty pre doc
15804         * lib/argp-help.c (argp_doc): Never translate the empty string,
15805         when "\v" is the first or last character of the string, as that
15806         has a reserved meaning to return the header info from a po file.
15807         This also fixes a small memory leak in the !post case.
15808         The issue can be seen with this command for example:
15809         LC_MESSAGES=en_US grub2-mknetdir --help
15811 2014-11-27  Daiki Ueno  <ueno@gnu.org>
15813         uniname/uniname-tests: skip if system's libunistring is used
15814         * modules/uniname/uniname-tests (Makefile.am): Skip test if
15815         uniname/uniname module is not compiled.
15817 2014-11-27  Pádraig Brady  <P@draigBrady.com>
15819         printf: fix configure check on big endian systems
15820         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Add missing bracket.
15822 2014-11-22  Daiki Ueno  <ueno@gnu.org>
15824         pipe-filter-gi, pipe-filter-ii: port to AIX
15825         On AIX 7.1, 'select' is defined as static and cannot be referred
15826         to from inline function.
15827         * lib/pipe-filter-aux.h (nointr_select): Remove, manually expand
15828         the definition...
15829         * lib/pipe-filter-gi.c (filter_loop): ...here, and...
15830         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): ...here.
15832 2014-11-20  Paul Eggert  <eggert@cs.ucla.edu>
15834         gitlog-to-changelog: add --until
15835         * build-aux/gitlog-to-changelog: Support new --until option.
15836         Need described by Eli Zaretskii in: http://bugs.gnu.org/19113
15838 2014-11-14  Paul Eggert  <eggert@cs.ucla.edu>
15840         extern-inline: update commentary about GCC bugs
15841         * m4/extern-inline.m4: Add another GCC bug number to comments.
15843 2014-11-13  Daiki Ueno  <ueno@gnu.org>
15845         gen-uni-tables: untabify
15846         * lib/gen-uni-tables.c: Untabify.
15848 2014-11-13  Daiki Ueno  <ueno@gnu.org>
15850         gen-uni-tables: check out-of-range values added to 3-level tables
15851         * lib/gen-uni-tables.c (output_category, output_bidi_category)
15852         (output_joining_type, output_ident_category): Check out-of-range
15853         values added to 3-level tables.
15855 2014-11-13  Daiki Ueno  <ueno@gnu.org>
15857         gen-uni-tables: utilize 'assert'
15858         * lib/gen-uni-tables.c: Include <assert.h>.
15859         (output_category, output_combclass, output_decimal_digit_test)
15860         (output_decimal_digit, output_digit_test, output_digit)
15861         (output_numeric, get_mirror_value, fill_properties)
15862         (fill_property30, is_property_alphabetic)
15863         (is_property_default_ignorable_code_point)
15864         (is_property_uppercase, is_property_lowercase)
15865         (is_property_cased, is_property_case_ignorable)
15866         (is_property_changes_when_lowercased, is_property_iso_control)
15867         (is_property_math, fill_arabicshaping, output_joining_group)
15868         (fill_scripts, fill_blocks, output_lbp, fill_org_wbp)
15869         (output_wbp, fill_org_gbp, get_decomposition)
15870         (output_decomposition, fill_composition_exclusions)
15871         (debug_output_composition_tables, output_composition_tables)
15872         (redistribute_casefolding_rules, output_casing_rules): Use
15873         'assert (EXPR);' instead of 'if (!EXPR) abort ();' for better error
15874         reporting.
15876 2014-11-13  Daiki Ueno  <ueno@gnu.org>
15878         gen-uni-tables: cosmetic improvements
15879         * lib/gen-uni-tables.c: Escape newlines in the Emacs file local
15880         variables specification.
15881         (is_outdigit): Remove unused function.
15883 2014-11-12  Jeroen Roovers  <jer@gentoo.org>  (tiny change)
15885         fcntl-h-tests: port to PA-RISC GNU/Linux
15886         * tests/test-fcntl-h.c (main): Check O_SYNC is different from O_DSYNC.
15888 2014-11-10  Paul Eggert  <eggert@cs.ucla.edu>
15890         fts: port to C89
15891         Problem reported for MSVC 16 by Gisle Vanem in:
15892         http://lists.gnu.org/r/bug-gnulib/2014-11/msg00027.html
15893         * lib/fts.c (fts_build): Avoid declaration before statement.
15895 2014-11-06  Paul Eggert  <eggert@cs.ucla.edu>
15897         unistd: port to iOS
15898         Problem reported by André Klitzing in:
15899         http://lists.gnu.org/r/bug-gnulib/2014-11/msg00013.html
15900         * lib/unistd.in.h (environ): Do not include crt_externs.h on iOS.
15902 2014-11-05  Paul Eggert  <eggert@cs.ucla.edu>
15904         obstack: do not reject malloc-style obstack_chunkfun, obstack_freefun
15905         Problem reported by Alan Modra in:
15906         http://lists.gnu.org/r/bug-gnulib/2014-11/msg00007.html
15907         * lib/obstack.h (obstack_chunkfun, obstack_freefun):
15908         Always cast the function arg, reverting this part of the previous
15909         change.
15911 2014-11-04  Paul Eggert  <eggert@cs.ucla.edu>
15913         obstack: avoid potentially-nonportable function casts
15914         * lib/obstack.c (CALL_CHUNKFUN, CALL_FREEFUN):
15915         Remove, replacing with ...
15916         (call_chunkfun, call_freefun): New static functions.
15917         All uses changed.  Avoid potentially-nonportable casts.
15918         (chunkfun_type, freefun_type): Remove typedefs; no longer used.
15919         (_obstack_begin_worker): Omit last two args, since they
15920         rely on potentially-nonportable casts.  All callers changed.
15921         * lib/obstack.h (_OBSTACK_CAST): New macro.
15922         Use it everywhere the old API used a potentially-nonportable cast.
15923         The new API doesn't cast.
15924         (struct obstack): Use unions rather than requiring
15925         potentially-nonportable casts.
15926         (obstack_chunkfun, obstack_freefun): Return void.
15928 2014-11-03  Alan Modra  <amodra@gmail.com>
15930         obstack: fix macro return values
15931         * lib/obstack.h (obstack_next_free): Return void *.
15932         (obstack_1grow_fast, obstack_blank_fast): Return void.
15933         For __GNUC__ macros:
15934         (obstack_1grow, obstack_blank): Remove now unnecessary (void) 0.
15935         For !__GNUC__ macros:
15936         (obstack_make_room, obstack_grow, obstack_grow0)
15937         (obstack_ptr_grow_fast, obstack_int_grow_fast): Return void.
15939 2014-11-03  Paul Eggert  <eggert@cs.ucla.edu>
15941         obstack: do not assume system-supplied obstack is size_t safe
15942         * m4/obstack.m4: New file.
15943         * modules/obstack (Files): Add it.
15945         obstack: port to platforms that #define __alignof__
15946         * lib/obstack.c: Include <alignof.h> if !defined __alignof__,
15947         not if !_LIBC.  We don't know of any platforms that #define
15948         __alignof__, but it might be useful in tests.  Conversely,
15949         glibc assumes GCC.
15951 2014-11-03  Pádraig Brady  <P@draigBrady.com>
15953         linkat: don't unconditionally replace on GNU/Linux
15954         * m4/linkat.m4 (gl_FUNC_LINKAT): The compile check for AT_SYMLINK_FOLLOW
15955         was redundant for a few reasons.  It was present to support compiling
15956         on new systems but running on the old narrow window of Linux 2.6.1[67].
15957         It setup and cleaned up test files which weren't actually used.
15958         On non __linux__ it compile tested AT_SYMLINK_FOLLOW, but that is
15959         implicit in the following check.
15961 2014-11-03  Pádraig Brady  <P@draigBrady.com>
15963         linkat: wrap to handle symlinks on OS X 10.10
15964         * m4/linkat.m4 (gl_FUNC_LINKAT): linkat() is available on Yosemite
15965         but not usable because it doesn't support creating hardlinks
15966         to symlinks.  Therefore add a generic test for this capability
15967         and fallback to our emulation if linkat() fails with ENOTSUP.
15969 2014-11-02  Paul Eggert  <eggert@cs.ucla.edu>
15971         open, openat: document nonstandard FreeBSD, NetBSD O_NOFOLLOW errno
15972         * doc/posix-functions/open.texi (open):
15973         * doc/posix-functions/openat.texi (openat):
15974         Document that these functions do not set errno to ELOOP when
15975         a symlink is opened with O_NOFOLLOW.
15977 2014-10-31  Paul Eggert  <eggert@cs.ucla.edu>
15979         obstack: add NEWS entry for recent incompatible changes
15980         * NEWS: Describe recent changes.
15982 2014-10-30  Pádraig Brady  <P@draigBrady.com>
15984         mountlist: don't use libmount to decide on dummy/remote
15985         * lib/mountlist.c (read_file_system_list): Don't use the libmount
15986         routines to determine whether a file system is dummy or remote,
15987         as they're not currently compatible.  For example the remoteness
15988         is determined on file system type (for which the list seems incomplete),
15989         rather than simply checking for a ':' in the device name.
15990         Also libmount currently determines that 'tmpfs' is a dummy file system
15991         even though it has associated storage.
15993 2014-10-29  Paul Eggert  <eggert@cs.ucla.edu>
15995         obstack: prefer __alignof__ to alignof
15996         This is for portability to pre-4.7 GCC when compiling glibc.
15997         See Joseph S. Myers in:
15998         http://sourceware.org/ml/libc-alpha/2014-10/msg00703.html
15999         * lib/obstack.c (__alignof__) [!_LIBC && !__GNUC__]:
16000         New macro, defined by including and using <alignof.h>.
16001         (MAX): New macro.
16002         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Redefine in terms of these.
16003         Do not use enums as they are not portable to some broken compilers.
16004         * modules/obstack (Depends-on): Depend on alignof, not stdalign.
16006         obstack: prefer alignof to calculating alignments by hand
16007         * lib/obstack.c: Include <stdalign.h>.
16008         (struct fooalign): Remove.
16009         (DEFAULT_ALIGNMENT): Use alignof rather than the old offsetof hack.
16010         * modules/obstack (Depends-on): Add stdalign.
16012 2014-10-28  Paul Eggert  <eggert@cs.ucla.edu>
16014         obstack: use size_t alignments and check for overflow
16015         * lib/obstack.c, lib/obstack.h (_obstack_begin, _obstack_begin_1):
16016         * lib/obstack.c (_obstack_begin_worker, _obstack_newchunk):
16017         * lib/obstack.h (struct obstack.alignment_mask):
16018         Use _OBSTACK_SIZE_T, not int, for alignments.
16019         * lib/obstack.c (_obstack_newchunk): Fail if the size calculation
16020         overflows, e.g., when adding the alignment.
16022 2014-10-29  Alan Modra  <amodra@gmail.com>
16024         obstack: 64-bit obstack support, part 3
16025         This finally enables full 64-bit obstack support.  The glibc
16026         shared library specific code is removed from obstack.c too, and
16027         the error handling code conditionally compiled under control of
16028         another macro, _OBSTACK_NO_ERROR_HANDLER.
16029         * lib/obstack.h: Include string.h earlier.
16030         (_OBSTACK_INTERFACE_VERSION): Define.
16031         (_OBSTACK_SIZE_T, _CHUNK_SIZE_T): Define as size_t for version 2.
16032         * lib/obstack.c: Don't include shlib-compat.h.
16033         (OBSTACK_INTERFACE_VERSION): Delete.
16034         (_OBSTACK_ELIDE_CODE): Rename from ELIDE_CODE.  Define when version 1
16035         glibc code is compatible with version 2.  Don't include stdio.h for
16036         __GNU_LIBRARY.
16037         (obstack_exit_failure, print_and_abort, obstack_alloc_failed_handler):
16038         Omit when _OBSTACK_NO_ERROR_HANDLER defined.  Include stdio.h here.
16039         (_obstack_compat, _obstack, _obstack_newchunk, obstack_free): Delete
16040         glibc shared library specific source.
16042         obstack: 64-bit obstack support, part 2
16043         This gets us 4G obstack support, without changing ABI
16044         compatibility, apart from possibly introducing some
16045         signed/unsigned comparison warnings in code that uses obstack.h.
16046         a) Replace "int" size parameters, return values, and macro local vars
16047            with _OBSTACK_SIZE_T, an "unsigned int" for now.
16048         b) Make obstack.chunk_size a _CHUNK_SIZE_T, an "unsigned long" for now.
16049         c) Make all obstack macros checking available room use obstack_room.
16050            "next_free + desired > chunk_limit" may wrap the lhs for chunks
16051            allocated near the top of memory.
16052         d) Use unsigned comparisons, and macro locals to support >2G on 32-bit.
16053         * lib/obstack.h (_OBSTACK_SIZE_T): Define.  Use throughout
16054         in place of "int" size parameters, return values and local vars.
16055         (_CHUNK_SIZE_T): Define.
16056         (struct obstack): Make chunk_size a _CHUNK_SIZE_T.  Make temp
16057         union use an _OBSTACK_SIZE_T integer type.
16058         For __GNUC__ versions of the following macros...
16059         (obstack_room): Rename local var.
16060         (obstack_make_room): Use obstack_room.
16061         (obstack_grow, obstack_grow0, obstack_1grow, obstack_ptr_grow,
16062         obstack_int_grow, obstack_blank): Likewise.
16063         (obstack_finish): Use unsigned comparison when comparing aligned
16064         next_free against chunk_limit.
16065         (obstack_free): Cast OBJ to remove possible const qualifier.
16066         For !__GNUC__ versions of the following macros...
16067         (obstack_make_room): Use obstack_room.
16068         (obstack_grow, obstack_grow0, obstack_1grow, obstack_ptr_grow,
16069         obstack_int_grow, obstack_blank): Likewise.
16070         (obstack_finish): Use unsigned comparision when comparing aligned
16071         next_free against chunk_limit.
16072         (obstack_free): Use temp.p and same comparisons as __GNUC__ version.
16073         * lib/obstack.c (_obstack_begin_worker): Make "size" parameter
16074         _OBSTACK_SIZE_T.
16075         (_obstack_begin, _obstack_begin_1): Likewise.
16076         (_obstack_newchunk): Likewise for length parameter.  Use size_t locals.
16077         (_obstack_memory_used): Return and use _OBSTACK_SIZE_T local.
16079         obstack: 64-bit obstack support, part 1
16080         a) Correct calls to alloc function, to use a size_t arg.  "long" is
16081            just wrong on targets like x86_64-mingw64 where "long" is 32 bits
16082            and "size_t" 64 bits.
16083         b) Consolidate _obstack_begin and _obstack_begin1 code.
16084         * lib/obstack.h (struct obstack <chunkfun>): Correct prototype to
16085         use "size_t" rather than "long".
16086         (_obstack_begin, _obstack_begin1): Likewise.
16087         (obstack_init, obstack_begin, obstack_specify_allocation_with_arg,
16088         obstack_chunkfun): Update alloc function casts.
16089         * lib/obstack.c (CALL_CHUNKFUN): Update chunkfun cast.
16090         (chunkfun_type, freefun_type): New typdefs.
16091         (_obstack_begin_worker): Split out from ..
16092         (_obstack_begin, _obstack_begin_1): ..here.
16094         obstack: tidy part 2
16095         a) Don't be concerned about "not polluting the namespace with stddef.h
16096            symbols" in obstack.h, since gnulib string.h includes stddef.h
16097            anyway, and it seems unlikely that anyone would care.
16098         b) Don't roll our own slow memcpy in _obstack_newchunk.
16099         c) Rename obstack_free to _obstack_free.  This makes the naming
16100            consistent with other obstack functions and obviates the need for
16101            __obstack_free.  Ancient obstack.c defined both obstack_free and
16102            _obstack_free.  We continue to do that for _LIBC via an alias.
16103         d) Miscellaneous macro fixes.  The expression used to test for gcc-2.8
16104            is clever, but nowadays gcc warns on undefined macros.  You'll get
16105            an undefined macro warning if simulating an old gcc with -U__GNUC__
16106            -U__GNUC_MINOR__ -D__GNUC__=1.
16107         * lib/obstack.h: Include stddef.h unconditionally.  Formatting fixes.
16108         (PTR_INT_TYPE): Delete, replace with ptrdiff_t.
16109         (__obstack_free): Delete, update refs.
16110         (_obstack_free): Rename from obstack_free.
16111         (__extension__): Avoid undefined macro warning for __GNUC_MINOR__.
16112         (obstack_object_size, obstack_room): Parenthesise !__GNUC__ versions.
16113         * lib/obstack.c: Don't include stddef.h.
16114         (COPYING_UNIT): Delete.
16115         (_obstack_begin): Formatting fix.
16116         (_obstack_newchunk): Use memcpy to move existing object to new chunk.
16117         (_obstack_free): Rename from __obstack_free, update alias.  Move
16118         undef of obstack_free to where it is needed.
16120         obstack: tidy part 1
16121         a) Rename temp fields.  temp.tempint and temp.tempptr just looks ugly
16122            to me, and result in overlong lines after later patches.
16123         b) Move error handling code, to avoid a forward declaration and to
16124            simplify later patches in this series.
16125         * lib/obstack.h (struct obstack <temp>): Rename fields of union
16126         and update all uses.
16127         * lib/obstack.c: Include stdlib.h earlier.
16128         (obstack_exit_failure, obstack_alloc_failed_handler): Move later
16129         in file.
16130         (print_and_abort): Remove now redundant forward declaration.
16132 2014-10-24  Paul Eggert  <eggert@cs.ucla.edu>
16134         socketlib, sockets, sys_socket: Use AC_REQUIRE to pacify autoconf.
16135         Without this change, in bleeding-edge fileutils Autoconf complains
16136         that gl_SOCKETLIB etc. are AC_REQUIREd after being invoked.
16137         * modules/socketlib (configure.ac): AC_REQUIRE gl_SOCKETLIB.
16138         * modules/sockets (configure.ac): AC_REQUIRE gl_SOCKETS.
16139         * modules/sys_socket (configure.ac): AC_REQUIRE gl_HEADER_SYS_SOCKET.
16141 2014-10-24  Daiki Ueno  <ueno@gnu.org>
16143         iconv: avoid false detection of non-working iconv
16144         The INBUF arguments of iconv can be either 'const char **'
16145         or 'char **'.  If CC is g++, the difference causes a compile error
16146         and thus leads to a false detection of non-working iconv.
16147         Reported by Eli Zaretskii and Werner LEMBERG in:
16148         <https://lists.gnu.org/r/bug-gnulib/2014-10/msg00023.html>.
16149         * m4/iconv.m4 (AM_ICONV_LINK): Try all possible argument types of
16150         iconv.  Bump serial number.
16152 2014-10-23  Pádraig Brady  <P@draigBrady.com>
16154         bootstrap: print more diagnostics for missing programs
16155         * build-aux/bootstrap: only suppress stderr when checking for
16156         alternative program names.  This supports programs issuing non
16157         standard error messages.
16159 2014-10-23  Pádraig Brady  <P@draigBrady.com>
16161         bootstrap: only update the gnulib submodule
16162         * build-aux/bootstrap: Restrict the "submodule update" command
16163         to the gnulib path.
16165 2014-10-18  Paul Eggert  <eggert@cs.ucla.edu>
16167         symlinkat: port to AIX 7.1
16168         * doc/posix-functions/symlinkat.texi (symlinkat):
16169         Mention AIX porting problem.
16170         * lib/symlinkat.c: Always include errno.h.
16171         (rpl_symlinkat) [HAVE_SYMLINKAT]: New function.
16172         * lib/unistd.in.h (symlinkat): Add replacement machinery.
16173         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Check symlinkat behavior.
16174         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_SYMLINKAT.
16175         * modules/symlinkat (Depends-on): Add fstatat if REPLACE_SYMLINKAT.
16176         (configure.ac): Also compile replacement if REPLACE_SYMLINKAT.
16177         * modules/unistd (unistd.h): Substitute REPLACE_SYMLINKAT.
16179         readlinkat: port to AIX 7.1
16180         * doc/posix-functions/readlink.texi (readlink):
16181         * doc/posix-functions/readlinkat.texi (readlinkat):
16182         Mention AIX porting problem.
16183         * lib/readlinkat.c (rpl_readlinkat) [HAVE_READLINKAT]:
16184         New function.
16185         * lib/unistd.in.h (readlinkat): Add replacement machinery.
16186         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Check readlinkat signature.
16187         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_READLINKAT.
16188         * modules/readlinkat (configure.ac): Also compile replacement
16189         if REPLACE_READLINKAT.
16190         * modules/unistd (unistd.h): Substitute REPLACE_READLINKAT.
16192 2014-10-12  Karl Berry  <karl@gnu.org>
16194         * doc/posix-functions/dirname.texi: remove spurious {.
16196 2014-09-28  Ben Pfaff  <blp@cs.stanford.edu>
16198         basename, dirname: Improve documentation.
16199         * doc/posix-functions/basename.texi: Mention dirname module and
16200         base_name() function.
16201         * doc/posix-functions/dirname.texi: Mention dir_name() and
16202         mdir_name() functions.
16203         Suggested by Werner LEMBERG <wl@gnu.org>.
16205 2014-09-24  Jim Meyering  <meyering@fb.com>
16207         exclude: declare exclude_patopts static
16208         * lib/exclude.c (exclude_patopts): Declare static,
16209         to avoid triggering a -Wmissing-prototypes warning.
16210         The alternative (declaring it in the .h file) would
16211         require publicizing the private "struct patopts".
16213 2014-09-21  Werner Lemberg  <wl@gnu.org>
16215         dirname: support compilation with C++
16216         * lib/dirname.h: Add necessary C linkage declarations.
16218 2014-09-16  Paul Eggert  <eggert@cs.ucla.edu>
16220         qsort_r: include <config.h>
16221         Problem reported by Tom G. Christensen in:
16222         http://lists.gnu.org/r/bug-gnulib/2014-09/msg00071.html
16223         * lib/qsort.c [!_LIBC]: Include <config.h> first.
16225 2014-09-16  Dylan Cali  <calid1984@gmail.com>
16227         avltree-list: avoid compiler warnings (trivial)
16228         * lib/gl_anytree_list2.h: Add _GL_ATTRIBUTE_PURE to avoid
16229         -Werror=suggest-attribute=pure.
16230         * lib/gl_array_list.c: Likewise.
16231         * lib/gl_avltree_list.c (gl_avltree_list_check_invariants): Add extern
16232         declaration to avoid -Werror=missing-prototypes.  This is not added
16233         to a header as only exported for tests.  Add (void) to the
16234         check_invariants() call to indicate we're discarding the result
16235         in this context which avoids -Werror=unused-value.  Note we don't
16236         use ignore_value here to avoid a dependency as we know we'll not
16237         be adding __attribute__((warn_unused_result)) to check_invariants().
16238         Add _GL_ATTRIBUTE_CONST to avoid -Werror=suggest-attribute=const.
16240 2014-09-15  Paul Eggert  <eggert@cs.ucla.edu>
16242         qsort_r: new module, for GNU-style qsort_r
16243         * m4/qsort_r.m4: New file.  Forgot to add this earlier.
16245 2014-09-15  Werner LEMBERG  <wl@gnu.org>
16247         strerror_r-posix: support compilation with C++
16248         * lib/strerror_r.c: Add necessary C linkage declarations.
16250 2014-09-11  Johannes Zarl  <johannes.zarl@jku.at>
16252         fcntl-h: fix compilation with Intel C++ compiler (trivial)
16253         * lib/fcntl.in.h: ICC has the same issue as GCC <= 4.2.
16255 2014-09-09  Fridolin Pokorny  <fpokorny@redhat.com>
16257         mountlist: use /proc/self/mountinfo when available
16258         Use libmount to propagate device IDs provided by Linux in
16259         /proc/self/mountinfo.  This will give more accurate output when
16260         using df in chroot'ed environments as the device IDs are not
16261         determined by stat() which may be inaccurate within the chroot.
16262         * lib/mountlist.c (read_file_system_list): Use the libmount routines
16263         from util-linux to parse "/proc/self/mountinfo" or fall back to
16264         standard getmntent() processing.
16265         * m4/ls-mntd-fs.m4: Check for libmount only when 1-argument
16266         getmntent() is used, as is the case on GNU/Linux.
16268 2014-09-07  Eric Wong  <normalperson@yhbt.net>
16270         users.txt: add cmogstored
16271         cmogstored has used gnulib since the beginning in 2012 to support
16272         GNU/Linux, FreeBSD, and GNU/kFreeBSD.
16274 2014-09-05  Mathieu Anquetin  <mathieu@anquetin.eu>
16276         Trivial change.
16277         * gnulib-tool: Use same options as build-aux/bootstrap to download
16278         PO files.
16280 2014-09-05  Mathieu Anquetin  <mathieu@anquetin.eu>
16282         Trivial change.
16283         * gnulib-tool: Fallback to wget when rsync of PO files fails.
16285 2014-09-04  Eric Blake  <eblake@redhat.com>
16287         maintainer-makefile: add syntax check for useless ';;'
16288         * top/maint.mk (sc_prohibit_double_semicolon): New rule.
16290 2014-09-04  Paul Eggert  <eggert@cs.ucla.edu>
16292         pthread, pthread_sigmask, threadlib: port to Ubuntu 14.04
16293         Problem reported by Assaf Gordon in:
16294         http://lists.gnu.org/r/bug-gnulib/2014-09/msg00023.html
16295         Apparently Ubuntu is doing some fancy link-time optimization
16296         that doesn't work with -lpthread but does work with -pthread.
16297         Work around the bug by preferring -pthread to -lpthread.
16298         * m4/pthread.m4 (gl_PTHREAD_CHECK):
16299         * m4/threadlib.m4 (gl_THREADLIB_BODY): Prefer -pthread to -lpthread.
16300         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
16301         Treat -pthread like -lpthread.
16303 2014-09-04  Eric Blake  <eblake@redhat.com>
16305         error: drop spurious semicolon
16306         * lib/error.c (__error_at_line): Fix ';;'.
16308 2014-09-02  Paul Eggert  <eggert@cs.ucla.edu>
16310         gnulib-common.m4: port to GCC 4.2.1 and Sun Studio 12 C++
16311         * m4/gnulib-common.m4 (AC_C_RESTRICT):
16312         Override AC_C_RESTRICT unconditionally.
16313         Update from autoconf, incorporating:
16314         2014-09-02 autoconf: port 'restrict' to GCC 4.2.1
16315         2009-01-28 Fix AC_C_RESTRICT for Sun Studio 12 C++.
16317 2014-09-01  Paul Eggert  <eggert@cs.ucla.edu>
16319         manywarnings: add GCC 4.9 warnings
16320         Also, make it easier to maintain this in the future.
16321         * build-aux/gcc-warning.spec: Add -Wabi-tag,
16322         -Wconditionally-supported, -Wdelete-incomplete,
16323         -Winherited-variadic-ctor, -Wvirtual-move-assign, -Wzerotrip.
16324         Remove duplicates.  Use tabs uniformly, as that's what 'cut' wants.
16325         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wdate-time,
16326         -Wopenmp-simd.  Use -fdiagnostics-show-option and -funit-at-a-time
16327         only for older GCC versions that need them.  Handle
16328         -Wnormalized=nfc specially, so that the 'comm' command used
16329         for maintenance doesn't get confused.
16331 2014-08-31  Paul Eggert  <eggert@cs.ucla.edu>
16333         vasnprintf: fix bugs in width computation
16334         * lib/vasnprintf.c (VASNPRINTF):
16335         Rework previous change, which introduced a bug,
16336         to avoid the warning in a different way.
16337         Avoid undefined behavior if the width arg is less than -INT_MAX.
16338         Avoid unnecessary use of HAS_WIDTH local.
16340 2014-08-31  Thien-Thi Nguyen  <ttn@gnu.org>  (tiny change)
16342         vasnprintf: Avoid signed/unsigned comparison warning.
16343         * lib/vasnprintf.c (VASNPRINTF): To calculate padding,
16344         compare end addr of generated string w/ maximum end addr.
16346 2013-08-30  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
16348         parse-datetime: Avoid pointer difference.
16349         * lib/parse-datetime.y (yylex): Compare pointer to end of buffer,
16350         instead of calculating difference of pointers.  This removes an
16351         annoying warning, devoid of any use.
16353 2014-08-29  Paul Eggert  <eggert@cs.ucla.edu>
16355         qsort_r: new module, for GNU-style qsort_r
16356         This works even on FreeBSD, which has an incompatible qsort_r API.
16357         * MODULES.html.sh: Add it.
16358         * doc/glibc-functions/qsort_r.texi: It's now supported.
16359         * lib/qsort.c: New file, taken from glibc with minor changes
16360         inside "#ifndef _LIBC" and with an unnecessary "#include <alloca.h>"
16361         removed.
16362         * lib/qsort_r.c: New file, compiled only on FreeBSD.
16363         * lib/stdlib.in.h (qsort_r): Declare in the usual way.
16364         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS):
16365         * modules/qsort_r, modules/qsort_r-tests: New files.
16366         * modules/stdlib (Makefile): Set up its defaults.
16367         * tests/test-qsort_r.c: New file.
16369 2014-08-08  Paul Eggert  <eggert@cs.ucla.edu>
16371         vla: new module
16372         GNU RCS can use this, mostly for documentation I expect.  See:
16373         http://lists.gnu.org/r/bug-gnulib/2014-08/msg00025.html
16374         * MODULES.html.sh: Add vla.
16375         * lib/vla.h, modules/vla: New files.
16377 2014-08-07  Daiki Ueno  <ueno@gnu.org>
16379         localename: make gl_locale_name_thread really thread-safe on Windows
16380         * lib/localename.c [WINDOWS_NATIVE && !IN_LIBINTL]: Include
16381         "glthread/lock.h".
16382         (get_lcid_lock) [WINDOWS_NATIVE]: New variable.
16383         (get_lcid) [WINDOWS_NATIVE]: Lock while looking for an LCID.
16385 2014-08-07  Paul Eggert  <eggert@cs.ucla.edu>
16387         getpass: don't assume struct termios
16388         Problem report and trivial fix by Jonas 'Sortie' Termansen in:
16389         http://lists.gnu.org/r/bug-gnulib/2014-08/msg00015.html
16390         * lib/getpass.c (getpass): Port to systems lacking struct termios.
16392         getdtablesize: fall back on sysconf (_SC_OPEN_MAX)
16393         Problem reported by Jonas 'Sortie' Termansen in:
16394         http://lists.gnu.org/r/bug-gnulib/2014-08/msg00023.html
16395         * lib/getdtablesize.c (getdtablesize) [_SC_OPEN_MAX]:
16396         Implement via sysconf for platforms that lack getdtablesize.
16398         vararrays: modernize AC_C_VARARRAYS for C11
16399         This backports a change I recently made to Autoconf.
16400         * m4/vararrays.m4 (AC_C_VARARRAYS): Define __STDC_NO_VLA__ if
16401         VLAs are not supported, as this is what C11 does.  The old macro
16402         HAVE_C_VARARRAYS is still defined if they are supported, but is
16403         now obsolescent.  Also, check for VLA bug in GCC 3.4.3.
16405 2014-08-07  Alessandro Degano  <degano@cern.ch>  (tiny change)
16407         relocatable-prog-wrapper: port gettext to OS X 10.8 + GCC 4.8.1
16408         * build-aux/install-reloc (func_create_wrapper): Also wrap
16409         strerror-override, stat, stat.
16411 2014-08-05  Paul Eggert  <eggert@cs.ucla.edu>
16413         sys_select: fix FD_ZERO problem on Solaris 10
16414         * lib/sys_select.in.h: Fix Solaris 10 bug where "#include
16415         <sys/time.h>" followed by "#include <sys/select.h>" caused FD_ZERO
16416         to expand to an expression that invoked memset without necessarily
16417         including <string.h>.  The problem was that the first include
16418         defined _SYS_TIME_H, causing the second include to short-circuit.
16419         Fix a similar problem with <sys/types.h> followed by <sys/select.h>.
16420         Also, fix what appears to be a cut-and-paste typo, by replacing
16421         _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TIME_H with
16422         _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TYPES_H.
16424         accept: document Solaris 10 type glitch
16425         * doc/posix-functions/accept.texi (accept): Mention that
16426         Solaris 10 'accept' takes void * last arg, not socklen_t *.
16428 2014-08-04  Paul Eggert  <eggert@cs.ucla.edu>
16430         extern-inline: port to FreeBSD, DragonFly
16431         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Also assume the bug
16432         is present if either __DragonFly__ or __FreeBSD__ is defined.
16433         FreeBSD problem reported by Andrey Borzenkov in:
16434         http://lists.gnu.org/r/bug-gnulib/2014-07/msg00104.html
16435         Also, worry about __APPLE__ only if __MACH__ is also defined,
16436         as this is more consistent with the rest of gnulib.
16437         (_GL_EXTERN_INLINE_STDHEADER_BUG): Rename this internal macro from
16438         _GL_EXTERN_INLINE_APPLE_BUG, since the bug is not limited to Apple.
16440 2014-08-01  Siddhesh Poyarekar  <siddhesh@redhat.com>
16442         regex: Make #if/#ifdef usage consistent for DEBUG
16443         * lib/regex_internal.c: Use "#if defined DEBUG && DEBUG" instead
16444         of the inconsistent usage of #if and #ifdef as that works with
16445         both Glibc and Gnulib's style.
16447 2014-07-31  Eric Blake  <eblake@redhat.com>
16449         openat-die: use _Noreturn markup
16450         * modules/openat-die (Depends-on): Add snippet/_Noreturn.
16451         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Mark
16452         _Noreturn.
16454 2014-07-30  Eric Blake  <eblake@redhat.com>
16456         test-open: port to cygwin, which lacks Fortify
16457         * tests/test-open.h (ALWAYS_INLINE): New macro.
16458         (__always_inline): Don't abuse internal symbol on non-glibc.
16460 2014-07-19  Eli Zaretskii  <eliz@gnu.org>
16462         localename: Enforce declarations before statements.
16463         * localename.c (gl_locale_name_thread): Declare 'lcid' before the
16464         first statement.
16466 2014-07-18  Jim Meyering  <meyering@fb.com>
16468         test-userspec: don't look up numeric user names
16469         * tests/test-userspec.c: I found a system for which getpwnam("0")
16470         returned a pointer to a non-root user's entry, and that made the
16471         test fail.
16472         (T): Prefix each numeric input with "+", to inhibit lookup.
16474 2014-07-15  Eli Zaretskii  <eliz@gnu.org>
16476         localcharset, localename: MS-Windows support for non-default locales
16477         * lib/localcharset.c (locale_charset) [WINDOWS_NATIVE]: Before
16478         falling back on the default system codepage, try extracting
16479         the codepage from what 'setlocale' returns.  This allows to
16480         take into account changes of the codeset due to non-default
16481         locale set by a previous call to 'setlocale'.
16482         * lib/localename.c (LOCALE_NAME_MAX_LENGTH) [WINDOWS_NATIVE]:
16483         Define if not already defined.
16484         (enum_locales_fn, get_lcid) [WINDOWS_NATIVE]: New functions.
16485         (gl_locale_name_thread) [WINDOWS_NATIVE]: Produce the
16486         current locale by calling 'setlocale', then converting the
16487         locale name into LCID by calling 'get_lcid'.  This allows to
16488         take into account changes in the current locale from the
16489         default one, in contrast to GetThreadLocale.
16491 2014-07-14  Daiki Ueno  <ueno@gnu.org>
16493         announce-gen: avoid failure when Digest::SHA is installed
16494         When Digest::SHA is available, Digest::SHA1 is not loaded and thus
16495         Digest::SHA1->new in print_checksums fails.
16496         * build-aux/announce-gen (digest_classes): New associative array
16497         for available message digest implementations.
16498         (print_locations): Use it.
16500 2014-07-13  Pádraig Brady  <P@draigBrady.com>
16502         gettext: revert "update macros to version 0.19"
16503         This reverts commit 9b9370ca, as it currently requires that
16504         developers of any project that explicitly uses the gettext module
16505         or implicitly uses it through the utimens-tests or
16506         futimens-tests modules, use gettext >= 0.19.
16507         However there are some stability and availablity issues with
16508         that version at present.  We can reinstate this soon, when stability
16509         is addressed and packages are more readily available.
16511 2014-07-12  Jim Meyering  <meyering@fb.com>
16513         regex: don't deref NULL upon heap allocation failure
16514         * lib/regcomp.c (parse_dup_op): Handle duplicate_tree
16515         failure in one more place.
16516         To trigger the segfault, configure grep -with-included-regex,
16517         build it, and run these commands:
16518         ( ulimit -v 300000; echo a|src/grep -E a+++++++++++++++++++++ )
16519         I discovered this while replying to a private report from
16520         Jens Schleusener about excessive memory consumption by grep
16521         when using a regular expression like the one above.
16523 2014-07-11  Paul Eggert  <eggert@cs.ucla.edu>
16525         regex: fix memory leak in compiler
16526         Fix by Andreas Schwab in:
16527         https://sourceware.org/ml/libc-alpha/2014-06/msg00503.html
16528         * lib/regcomp.c (parse_reg_exp): Deallocate partially
16529         constructed tree before returning error.
16531 2014-07-10  Assaf Gordon  <assafgordon@gmail.com>
16533         announce-gen: avoid perl warnings
16534         * build-aux/announce-gen: add two minor checks to avoid
16535         "use of uninitialized value" warnings when command-line parameters are
16536         missing.
16538 2014-07-10  Assaf Gordon  <assafgordon@gmail.com>
16540         localename: avoid -Wsuggest-attribute={const,pure} warnings
16541         * lib/localename.c (string_has): Tag internal function as pure.
16542         * lib/localename.h (gl_locale_name_default): Tag extern declaration
16543         as const when appropriate.
16545 2014-07-10  Eli Zaretskii  <eliz@gnu.org>
16547         nl_langinfo: Fix last change.
16548         * lib/nl_langinfo.c (includes): Drop redundant include.
16550 2014-07-10  Siddhesh Poyarekar  <siddhesh@redhat.com>
16552         error: Fix -Wundef warnings in glibc
16553         * lib/error.c [_LIBC]: Define default macros for
16554         glibc.
16555         (print_errno_message) [defined HAVE_STRERROR_R || _LIBC]:
16556         Check _LIBC before STRERROR_R_CHAR_P.
16558         error: Sync from glibc master
16559         * lib/error.c [_LIBC]: Remove INTUSE usage.
16560         (error_tail): Remove unused macro ALLOCA_LIMIT.
16561         Fix potential buffer overflow.  Fix potential NULL dereference
16562         in strcmp.
16564 2014-07-09  Pavel Hrdina  <phrdina@redhat.com> (tiny change)
16566         nl_langinfo: fix build under mingw
16567         * lib/nl_langinfo.c (includes): Pick up <windows.h> for GetACP().
16569 2014-07-09  Andrew D Warshall  <warshall@99main.com>
16571         mountlist: do not classify a bind-mounted dir entry as "dummy"
16572         * m4/ls-mntd-fs.m4: Check for hasmntopt() on platforms with
16573         1-argument getmntent() (instead of assuming absence).
16575 2014-07-08  Eric Blake  <eblake@redhat.com>
16577         maint.mk: less syntax-check noise when SIGPIPE is ignored
16578         * top/maint.mk (_sc_header_without_use)
16579         (sc_require_config_h_first): Parse full list.
16581 2014-07-07  Eli Zaretskii  <eliz@gnu.org>
16582             Paul Eggert  <eggert@cs.ucla.edu>
16584         nl_langinfo: CODESET on MS-Windows and more items from localeconv
16585         * lib/langinfo.in.h (DECIMAL_POINT, THOUSANDS_SEP, GROUPING)
16586         (CURRENCY_SYMBOL, INT_CURR_SYMBOL, MON_DECIMAL_POINT)
16587         (MON_THOUSANDS_SEP, MON_GROUPING, POSITIVE_SIGN, NEGATIVE_SIGN)
16588         (FRAC_DIGITS, INT_FRAC_DIGITS, P_CS_PRECEDES, N_CS_PRECEDES)
16589         (P_SEP_BY_SPACE, N_SEP_BY_SPACE, P_SIGN_POSN, N_SIGN_POSN): Define.
16590         * lib/nl_langinfo.c: Include <locale.h> and <string.h> early.
16591         Include <stdio.h> if Microsoft Windows.
16592         Include <time.h> if !REPLACE_NL_LANGINFO.
16593         (ctype_codeset): New function, taken from rpl_nl_langinfo,
16594         and with improvements for Microsoft Windows.
16595         (rpl_nl_langinfo): Use it.
16596         (nl_langinfo) [!REPLACE_NL_LANGINFO]: Likewise.
16597         Compute the values of RADIXCHAR, THOUSEP, GROUPING, CRNCYSTR,
16598         INT_CURR_SYMBOL, MON_DECIMAL_POINT, MON_THOUSANDS_SEP,
16599         MON_GROUPING, POSITIVE_SIGN, NEGATIVE_SIGN, FRAC_DIGITS,
16600         INT_FRAC_DIGITS, P_CS_PRECEDES, N_CS_PRECEDES, P_SEP_BY_SPACE,
16601         N_SEP_BY_SPACE, P_SIGN_POSN, and N_SIGN_POSN from the
16602         corresponding values returned by 'localeconv'.  Compute the values
16603         of AM_STR, PM_STR, DAY_n, ABDAY_n, MON_n, and ABMON_n by calling
16604         'strftime' with a suitable struct tm value.
16606 2014-07-05  Paul Eggert  <eggert@cs.ucla.edu>
16608         Bruno Haible has stepped down as maintainer.
16609         See Karl Berry in:
16610         http://lists.gnu.org/r/bug-gnulib/2014-07/msg00004.html
16611         Daiki Ueno has volunteered to maintain libunistring; see:
16612         http://lists.gnu.org/r/bug-gnulib/2014-07/msg00005.html
16613         * modules/gen-uni-tables, modules/libunistring:
16614         * modules/libunistring-optional, modules/ucs4-utf16, modules/ucs4-utf8:
16615         * modules/unicase/base, modules/unicase/cased:
16616         * modules/unicase/empty-prefix-context:
16617         * modules/unicase/empty-suffix-context, modules/unicase/ignorable:
16618         * modules/unicase/locale-language, modules/unicase/special-casing:
16619         * modules/unicase/tocasefold, modules/unicase/tolower:
16620         * modules/unicase/totitle, modules/unicase/toupper:
16621         * modules/unicase/u16-casecmp, modules/unicase/u16-casecoll:
16622         * modules/unicase/u16-casefold, modules/unicase/u16-casemap:
16623         * modules/unicase/u16-casexfrm, modules/unicase/u16-ct-casefold:
16624         * modules/unicase/u16-ct-tolower, modules/unicase/u16-ct-totitle:
16625         * modules/unicase/u16-ct-toupper, modules/unicase/u16-is-cased:
16626         * modules/unicase/u16-is-casefolded, modules/unicase/u16-is-invariant:
16627         * modules/unicase/u16-is-lowercase, modules/unicase/u16-is-titlecase:
16628         * modules/unicase/u16-is-uppercase, modules/unicase/u16-prefix-context:
16629         * modules/unicase/u16-suffix-context, modules/unicase/u16-tolower:
16630         * modules/unicase/u16-totitle, modules/unicase/u16-toupper:
16631         * modules/unicase/u32-casecmp, modules/unicase/u32-casecoll:
16632         * modules/unicase/u32-casefold, modules/unicase/u32-casemap:
16633         * modules/unicase/u32-casexfrm, modules/unicase/u32-ct-casefold:
16634         * modules/unicase/u32-ct-tolower, modules/unicase/u32-ct-totitle:
16635         * modules/unicase/u32-ct-toupper, modules/unicase/u32-is-cased:
16636         * modules/unicase/u32-is-casefolded, modules/unicase/u32-is-invariant:
16637         * modules/unicase/u32-is-lowercase, modules/unicase/u32-is-titlecase:
16638         * modules/unicase/u32-is-uppercase, modules/unicase/u32-prefix-context:
16639         * modules/unicase/u32-suffix-context, modules/unicase/u32-tolower:
16640         * modules/unicase/u32-totitle, modules/unicase/u32-toupper:
16641         * modules/unicase/u8-casecmp, modules/unicase/u8-casecoll:
16642         * modules/unicase/u8-casefold, modules/unicase/u8-casemap:
16643         * modules/unicase/u8-casexfrm, modules/unicase/u8-ct-casefold:
16644         * modules/unicase/u8-ct-tolower, modules/unicase/u8-ct-totitle:
16645         * modules/unicase/u8-ct-toupper, modules/unicase/u8-is-cased:
16646         * modules/unicase/u8-is-casefolded, modules/unicase/u8-is-invariant:
16647         * modules/unicase/u8-is-lowercase, modules/unicase/u8-is-titlecase:
16648         * modules/unicase/u8-is-uppercase, modules/unicase/u8-prefix-context:
16649         * modules/unicase/u8-suffix-context, modules/unicase/u8-tolower:
16650         * modules/unicase/u8-totitle, modules/unicase/u8-toupper:
16651         * modules/unicase/ulc-casecmp, modules/unicase/ulc-casecoll:
16652         * modules/unicase/ulc-casexfrm, modules/unicodeio:
16653         * modules/uniconv/base, modules/uniconv/u16-conv-from-enc:
16654         * modules/uniconv/u16-conv-to-enc:
16655         * modules/uniconv/u16-strconv-from-enc:
16656         * modules/uniconv/u16-strconv-from-locale:
16657         * modules/uniconv/u16-strconv-to-enc:
16658         * modules/uniconv/u16-strconv-to-locale:
16659         * modules/uniconv/u32-conv-from-enc, modules/uniconv/u32-conv-to-enc:
16660         * modules/uniconv/u32-strconv-from-enc:
16661         * modules/uniconv/u32-strconv-from-locale:
16662         * modules/uniconv/u32-strconv-to-enc:
16663         * modules/uniconv/u32-strconv-to-locale:
16664         * modules/uniconv/u8-conv-from-enc, modules/uniconv/u8-conv-to-enc:
16665         * modules/uniconv/u8-strconv-from-enc:
16666         * modules/uniconv/u8-strconv-from-locale:
16667         * modules/uniconv/u8-strconv-to-enc:
16668         * modules/uniconv/u8-strconv-to-locale, modules/unictype/base:
16669         * modules/unictype/bidicategory-all:
16670         * modules/unictype/bidicategory-byname:
16671         * modules/unictype/bidicategory-name, modules/unictype/bidicategory-of:
16672         * modules/unictype/bidicategory-test, modules/unictype/bidiclass-all:
16673         * modules/unictype/bidiclass-byname:
16674         * modules/unictype/bidiclass-longname, modules/unictype/bidiclass-name:
16675         * modules/unictype/bidiclass-of, modules/unictype/bidiclass-test:
16676         * modules/unictype/block-all, modules/unictype/block-list:
16677         * modules/unictype/block-of, modules/unictype/block-test:
16678         * modules/unictype/category-C, modules/unictype/category-Cc:
16679         * modules/unictype/category-Cf, modules/unictype/category-Cn:
16680         * modules/unictype/category-Co, modules/unictype/category-Cs:
16681         * modules/unictype/category-L, modules/unictype/category-LC:
16682         * modules/unictype/category-Ll, modules/unictype/category-Lm:
16683         * modules/unictype/category-Lo, modules/unictype/category-Lt:
16684         * modules/unictype/category-Lu, modules/unictype/category-M:
16685         * modules/unictype/category-Mc, modules/unictype/category-Me:
16686         * modules/unictype/category-Mn, modules/unictype/category-N:
16687         * modules/unictype/category-Nd, modules/unictype/category-Nl:
16688         * modules/unictype/category-No, modules/unictype/category-P:
16689         * modules/unictype/category-Pc, modules/unictype/category-Pd:
16690         * modules/unictype/category-Pe, modules/unictype/category-Pf:
16691         * modules/unictype/category-Pi, modules/unictype/category-Po:
16692         * modules/unictype/category-Ps, modules/unictype/category-S:
16693         * modules/unictype/category-Sc, modules/unictype/category-Sk:
16694         * modules/unictype/category-Sm, modules/unictype/category-So:
16695         * modules/unictype/category-Z, modules/unictype/category-Zl:
16696         * modules/unictype/category-Zp, modules/unictype/category-Zs:
16697         * modules/unictype/category-all, modules/unictype/category-and:
16698         * modules/unictype/category-and-not, modules/unictype/category-byname:
16699         * modules/unictype/category-longname, modules/unictype/category-name:
16700         * modules/unictype/category-none, modules/unictype/category-of:
16701         * modules/unictype/category-or, modules/unictype/category-test:
16702         * modules/unictype/category-test-withtable:
16703         * modules/unictype/combining-class:
16704         * modules/unictype/combining-class-all:
16705         * modules/unictype/combining-class-byname:
16706         * modules/unictype/combining-class-longname:
16707         * modules/unictype/combining-class-name, modules/unictype/ctype-alnum:
16708         * modules/unictype/ctype-alpha, modules/unictype/ctype-blank:
16709         * modules/unictype/ctype-cntrl, modules/unictype/ctype-digit:
16710         * modules/unictype/ctype-graph, modules/unictype/ctype-lower:
16711         * modules/unictype/ctype-print, modules/unictype/ctype-punct:
16712         * modules/unictype/ctype-space, modules/unictype/ctype-upper:
16713         * modules/unictype/ctype-xdigit, modules/unictype/decimal-digit:
16714         * modules/unictype/digit, modules/unictype/joininggroup-all:
16715         * modules/unictype/joininggroup-byname:
16716         * modules/unictype/joininggroup-name, modules/unictype/joininggroup-of:
16717         * modules/unictype/joiningtype-all:
16718         * modules/unictype/joiningtype-byname:
16719         * modules/unictype/joiningtype-longname:
16720         * modules/unictype/joiningtype-name, modules/unictype/joiningtype-of:
16721         * modules/unictype/mirror, modules/unictype/numeric:
16722         * modules/unictype/property-all, modules/unictype/property-alphabetic:
16723         * modules/unictype/property-ascii-hex-digit:
16724         * modules/unictype/property-bidi-arabic-digit:
16725         * modules/unictype/property-bidi-arabic-right-to-left:
16726         * modules/unictype/property-bidi-block-separator:
16727         * modules/unictype/property-bidi-boundary-neutral:
16728         * modules/unictype/property-bidi-common-separator:
16729         * modules/unictype/property-bidi-control:
16730         * modules/unictype/property-bidi-embedding-or-override:
16731         * modules/unictype/property-bidi-eur-num-separator:
16732         * modules/unictype/property-bidi-eur-num-terminator:
16733         * modules/unictype/property-bidi-european-digit:
16734         * modules/unictype/property-bidi-hebrew-right-to-left:
16735         * modules/unictype/property-bidi-left-to-right:
16736         * modules/unictype/property-bidi-non-spacing-mark:
16737         * modules/unictype/property-bidi-other-neutral:
16738         * modules/unictype/property-bidi-pdf:
16739         * modules/unictype/property-bidi-segment-separator:
16740         * modules/unictype/property-bidi-whitespace:
16741         * modules/unictype/property-byname:
16742         * modules/unictype/property-case-ignorable:
16743         * modules/unictype/property-cased:
16744         * modules/unictype/property-changes-when-casefolded:
16745         * modules/unictype/property-changes-when-casemapped:
16746         * modules/unictype/property-changes-when-lowercased:
16747         * modules/unictype/property-changes-when-titlecased:
16748         * modules/unictype/property-changes-when-uppercased:
16749         * modules/unictype/property-combining:
16750         * modules/unictype/property-composite:
16751         * modules/unictype/property-currency-symbol:
16752         * modules/unictype/property-dash:
16753         * modules/unictype/property-decimal-digit:
16754         * modules/unictype/property-default-ignorable-code-point:
16755         * modules/unictype/property-deprecated:
16756         * modules/unictype/property-diacritic:
16757         * modules/unictype/property-extender:
16758         * modules/unictype/property-format-control:
16759         * modules/unictype/property-grapheme-base:
16760         * modules/unictype/property-grapheme-extend:
16761         * modules/unictype/property-grapheme-link:
16762         * modules/unictype/property-hex-digit:
16763         * modules/unictype/property-hyphen:
16764         * modules/unictype/property-id-continue:
16765         * modules/unictype/property-id-start:
16766         * modules/unictype/property-ideographic:
16767         * modules/unictype/property-ids-binary-operator:
16768         * modules/unictype/property-ids-trinary-operator:
16769         * modules/unictype/property-ignorable-control:
16770         * modules/unictype/property-iso-control:
16771         * modules/unictype/property-join-control:
16772         * modules/unictype/property-left-of-pair:
16773         * modules/unictype/property-line-separator:
16774         * modules/unictype/property-logical-order-exception:
16775         * modules/unictype/property-lowercase, modules/unictype/property-math:
16776         * modules/unictype/property-non-break:
16777         * modules/unictype/property-not-a-character:
16778         * modules/unictype/property-numeric:
16779         * modules/unictype/property-other-alphabetic:
16780         * modules/unictype/property-other-default-ignorable-code-point:
16781         * modules/unictype/property-other-grapheme-extend:
16782         * modules/unictype/property-other-id-continue:
16783         * modules/unictype/property-other-id-start:
16784         * modules/unictype/property-other-lowercase:
16785         * modules/unictype/property-other-math:
16786         * modules/unictype/property-other-uppercase:
16787         * modules/unictype/property-paired-punctuation:
16788         * modules/unictype/property-paragraph-separator:
16789         * modules/unictype/property-pattern-syntax:
16790         * modules/unictype/property-pattern-white-space:
16791         * modules/unictype/property-private-use:
16792         * modules/unictype/property-punctuation:
16793         * modules/unictype/property-quotation-mark:
16794         * modules/unictype/property-radical:
16795         * modules/unictype/property-sentence-terminal:
16796         * modules/unictype/property-soft-dotted:
16797         * modules/unictype/property-space:
16798         * modules/unictype/property-terminal-punctuation:
16799         * modules/unictype/property-test, modules/unictype/property-titlecase:
16800         * modules/unictype/property-unassigned-code-value:
16801         * modules/unictype/property-unified-ideograph:
16802         * modules/unictype/property-uppercase:
16803         * modules/unictype/property-variation-selector:
16804         * modules/unictype/property-white-space:
16805         * modules/unictype/property-xid-continue:
16806         * modules/unictype/property-xid-start:
16807         * modules/unictype/property-zero-width, modules/unictype/scripts:
16808         * modules/unictype/scripts-all, modules/unictype/syntax-c-ident:
16809         * modules/unictype/syntax-c-whitespace:
16810         * modules/unictype/syntax-java-ident:
16811         * modules/unictype/syntax-java-whitespace, modules/unigbrk/base:
16812         * modules/unigbrk/u16-grapheme-breaks:
16813         * modules/unigbrk/u16-grapheme-next, modules/unigbrk/u16-grapheme-prev:
16814         * modules/unigbrk/u32-grapheme-breaks:
16815         * modules/unigbrk/u32-grapheme-next, modules/unigbrk/u32-grapheme-prev:
16816         * modules/unigbrk/u8-grapheme-breaks, modules/unigbrk/u8-grapheme-next:
16817         * modules/unigbrk/u8-grapheme-prev, modules/unigbrk/uc-gbrk-prop:
16818         * modules/unigbrk/uc-is-grapheme-break:
16819         * modules/unigbrk/ulc-grapheme-breaks, modules/unilbrk/base:
16820         * modules/unilbrk/tables, modules/unilbrk/u16-possible-linebreaks:
16821         * modules/unilbrk/u16-width-linebreaks:
16822         * modules/unilbrk/u32-possible-linebreaks:
16823         * modules/unilbrk/u32-width-linebreaks:
16824         * modules/unilbrk/u8-possible-linebreaks:
16825         * modules/unilbrk/u8-width-linebreaks, modules/unilbrk/ulc-common:
16826         * modules/unilbrk/ulc-possible-linebreaks:
16827         * modules/unilbrk/ulc-width-linebreaks, modules/uniname/base:
16828         * modules/uniname/uniname, modules/uninorm/base:
16829         * modules/uninorm/canonical-decomposition:
16830         * modules/uninorm/compat-decomposition, modules/uninorm/composition:
16831         * modules/uninorm/decompose-internal, modules/uninorm/decomposing-form:
16832         * modules/uninorm/decomposition, modules/uninorm/decomposition-table:
16833         * modules/uninorm/filter, modules/uninorm/nfc, modules/uninorm/nfd:
16834         * modules/uninorm/nfkc, modules/uninorm/nfkd:
16835         * modules/uninorm/u16-normalize, modules/uninorm/u16-normcmp:
16836         * modules/uninorm/u16-normcoll, modules/uninorm/u16-normxfrm:
16837         * modules/uninorm/u32-normalize, modules/uninorm/u32-normcmp:
16838         * modules/uninorm/u32-normcoll, modules/uninorm/u32-normxfrm:
16839         * modules/uninorm/u8-normalize, modules/uninorm/u8-normcmp:
16840         * modules/uninorm/u8-normcoll, modules/uninorm/u8-normxfrm:
16841         * modules/unistdio/base, modules/unistdio/u-printf-args:
16842         * modules/unistdio/u16-asnprintf, modules/unistdio/u16-asprintf:
16843         * modules/unistdio/u16-printf-parse, modules/unistdio/u16-snprintf:
16844         * modules/unistdio/u16-sprintf, modules/unistdio/u16-u16-asnprintf:
16845         * modules/unistdio/u16-u16-asprintf, modules/unistdio/u16-u16-snprintf:
16846         * modules/unistdio/u16-u16-sprintf:
16847         * modules/unistdio/u16-u16-vasnprintf:
16848         * modules/unistdio/u16-u16-vasprintf:
16849         * modules/unistdio/u16-u16-vsnprintf:
16850         * modules/unistdio/u16-u16-vsprintf, modules/unistdio/u16-vasnprintf:
16851         * modules/unistdio/u16-vasprintf, modules/unistdio/u16-vsnprintf:
16852         * modules/unistdio/u16-vsprintf, modules/unistdio/u32-asnprintf:
16853         * modules/unistdio/u32-asprintf, modules/unistdio/u32-printf-parse:
16854         * modules/unistdio/u32-snprintf, modules/unistdio/u32-sprintf:
16855         * modules/unistdio/u32-u32-asnprintf:
16856         * modules/unistdio/u32-u32-asprintf, modules/unistdio/u32-u32-snprintf:
16857         * modules/unistdio/u32-u32-sprintf:
16858         * modules/unistdio/u32-u32-vasnprintf:
16859         * modules/unistdio/u32-u32-vasprintf:
16860         * modules/unistdio/u32-u32-vsnprintf:
16861         * modules/unistdio/u32-u32-vsprintf, modules/unistdio/u32-vasnprintf:
16862         * modules/unistdio/u32-vasprintf, modules/unistdio/u32-vsnprintf:
16863         * modules/unistdio/u32-vsprintf, modules/unistdio/u8-asnprintf:
16864         * modules/unistdio/u8-asprintf, modules/unistdio/u8-printf-parse:
16865         * modules/unistdio/u8-snprintf, modules/unistdio/u8-sprintf:
16866         * modules/unistdio/u8-u8-asnprintf, modules/unistdio/u8-u8-asprintf:
16867         * modules/unistdio/u8-u8-snprintf, modules/unistdio/u8-u8-sprintf:
16868         * modules/unistdio/u8-u8-vasnprintf, modules/unistdio/u8-u8-vasprintf:
16869         * modules/unistdio/u8-u8-vsnprintf, modules/unistdio/u8-u8-vsprintf:
16870         * modules/unistdio/u8-vasnprintf, modules/unistdio/u8-vasprintf:
16871         * modules/unistdio/u8-vsnprintf, modules/unistdio/u8-vsprintf:
16872         * modules/unistdio/ulc-asnprintf, modules/unistdio/ulc-asprintf:
16873         * modules/unistdio/ulc-fprintf, modules/unistdio/ulc-printf-parse:
16874         * modules/unistdio/ulc-snprintf, modules/unistdio/ulc-sprintf:
16875         * modules/unistdio/ulc-vasnprintf, modules/unistdio/ulc-vasprintf:
16876         * modules/unistdio/ulc-vfprintf, modules/unistdio/ulc-vsnprintf:
16877         * modules/unistdio/ulc-vsprintf, modules/unistr/base:
16878         * modules/unistr/u16-check, modules/unistr/u16-chr:
16879         * modules/unistr/u16-cmp, modules/unistr/u16-cmp2:
16880         * modules/unistr/u16-cpy, modules/unistr/u16-cpy-alloc:
16881         * modules/unistr/u16-endswith, modules/unistr/u16-mblen:
16882         * modules/unistr/u16-mbsnlen, modules/unistr/u16-mbtouc:
16883         * modules/unistr/u16-mbtouc-unsafe, modules/unistr/u16-mbtoucr:
16884         * modules/unistr/u16-move, modules/unistr/u16-next:
16885         * modules/unistr/u16-prev, modules/unistr/u16-set:
16886         * modules/unistr/u16-startswith, modules/unistr/u16-stpcpy:
16887         * modules/unistr/u16-stpncpy, modules/unistr/u16-strcat:
16888         * modules/unistr/u16-strchr, modules/unistr/u16-strcmp:
16889         * modules/unistr/u16-strcoll, modules/unistr/u16-strcpy:
16890         * modules/unistr/u16-strcspn, modules/unistr/u16-strdup:
16891         * modules/unistr/u16-strlen, modules/unistr/u16-strmblen:
16892         * modules/unistr/u16-strmbtouc, modules/unistr/u16-strncat:
16893         * modules/unistr/u16-strncmp, modules/unistr/u16-strncpy:
16894         * modules/unistr/u16-strnlen, modules/unistr/u16-strpbrk:
16895         * modules/unistr/u16-strrchr, modules/unistr/u16-strspn:
16896         * modules/unistr/u16-strstr, modules/unistr/u16-strtok:
16897         * modules/unistr/u16-to-u32, modules/unistr/u16-to-u8:
16898         * modules/unistr/u16-uctomb, modules/unistr/u32-check:
16899         * modules/unistr/u32-chr, modules/unistr/u32-cmp:
16900         * modules/unistr/u32-cmp2, modules/unistr/u32-cpy:
16901         * modules/unistr/u32-cpy-alloc, modules/unistr/u32-endswith:
16902         * modules/unistr/u32-mblen, modules/unistr/u32-mbsnlen:
16903         * modules/unistr/u32-mbtouc, modules/unistr/u32-mbtouc-unsafe:
16904         * modules/unistr/u32-mbtoucr, modules/unistr/u32-move:
16905         * modules/unistr/u32-next, modules/unistr/u32-prev:
16906         * modules/unistr/u32-set, modules/unistr/u32-startswith:
16907         * modules/unistr/u32-stpcpy, modules/unistr/u32-stpncpy:
16908         * modules/unistr/u32-strcat, modules/unistr/u32-strchr:
16909         * modules/unistr/u32-strcmp, modules/unistr/u32-strcoll:
16910         * modules/unistr/u32-strcpy, modules/unistr/u32-strcspn:
16911         * modules/unistr/u32-strdup, modules/unistr/u32-strlen:
16912         * modules/unistr/u32-strmblen, modules/unistr/u32-strmbtouc:
16913         * modules/unistr/u32-strncat, modules/unistr/u32-strncmp:
16914         * modules/unistr/u32-strncpy, modules/unistr/u32-strnlen:
16915         * modules/unistr/u32-strpbrk, modules/unistr/u32-strrchr:
16916         * modules/unistr/u32-strspn, modules/unistr/u32-strstr:
16917         * modules/unistr/u32-strtok, modules/unistr/u32-to-u16:
16918         * modules/unistr/u32-to-u8, modules/unistr/u32-uctomb:
16919         * modules/unistr/u8-check, modules/unistr/u8-chr:
16920         * modules/unistr/u8-cmp, modules/unistr/u8-cmp2, modules/unistr/u8-cpy:
16921         * modules/unistr/u8-cpy-alloc, modules/unistr/u8-endswith:
16922         * modules/unistr/u8-mblen, modules/unistr/u8-mbsnlen:
16923         * modules/unistr/u8-mbtouc, modules/unistr/u8-mbtouc-unsafe:
16924         * modules/unistr/u8-mbtoucr, modules/unistr/u8-move:
16925         * modules/unistr/u8-next, modules/unistr/u8-prev:
16926         * modules/unistr/u8-set, modules/unistr/u8-startswith:
16927         * modules/unistr/u8-stpcpy, modules/unistr/u8-stpncpy:
16928         * modules/unistr/u8-strcat, modules/unistr/u8-strchr:
16929         * modules/unistr/u8-strcmp, modules/unistr/u8-strcoll:
16930         * modules/unistr/u8-strcpy, modules/unistr/u8-strcspn:
16931         * modules/unistr/u8-strdup, modules/unistr/u8-strlen:
16932         * modules/unistr/u8-strmblen, modules/unistr/u8-strmbtouc:
16933         * modules/unistr/u8-strncat, modules/unistr/u8-strncmp:
16934         * modules/unistr/u8-strncpy, modules/unistr/u8-strnlen:
16935         * modules/unistr/u8-strpbrk, modules/unistr/u8-strrchr:
16936         * modules/unistr/u8-strspn, modules/unistr/u8-strstr:
16937         * modules/unistr/u8-strtok, modules/unistr/u8-to-u16:
16938         * modules/unistr/u8-to-u32, modules/unistr/u8-uctomb, modules/unitypes:
16939         * modules/uniwbrk/base, modules/uniwbrk/table:
16940         * modules/uniwbrk/u16-wordbreaks, modules/uniwbrk/u32-wordbreaks:
16941         * modules/uniwbrk/u8-wordbreaks, modules/uniwbrk/ulc-wordbreaks:
16942         * modules/uniwbrk/wordbreak-property, modules/uniwidth/base:
16943         * modules/uniwidth/u16-strwidth, modules/uniwidth/u16-width:
16944         * modules/uniwidth/u32-strwidth, modules/uniwidth/u32-width:
16945         * modules/uniwidth/u8-strwidth, modules/uniwidth/u8-width:
16946         * modules/uniwidth/width, modules/utf16-ucs4:
16947         * modules/utf16-ucs4-unsafe, modules/utf8-ucs4:
16948         * modules/utf8-ucs4-unsafe:
16949         Change maintainer from Bruno Haible to Daiki Ueno.
16950         This is my guess at the libunistring modules; please feel free
16951         to fix if I guessed incorrectly.
16952         * modules/accept4, modules/acl, modules/acos, modules/acosf:
16953         * modules/alignof, modules/amemxfrm, modules/ansi-c++-opt:
16954         * modules/areadlink, modules/array-list, modules/array-mergesort:
16955         * modules/array-oset, modules/asin, modules/asinf, modules/astrxfrm:
16956         * modules/atan, modules/atan2, modules/atan2f, modules/atanf:
16957         * modules/avltree-list, modules/avltree-oset, modules/avltreehash-list:
16958         * modules/binary-io, modules/bison-i18n, modules/btowc:
16959         * modules/c-ctype, modules/c-strcase, modules/c-strcaseeq:
16960         * modules/c-strcasestr, modules/c-strstr, modules/calloc-posix:
16961         * modules/canonicalize-lgpl, modules/careadlinkat, modules/carray-list:
16962         * modules/cbrt, modules/cbrt-ieee, modules/cbrtf, modules/cbrtf-ieee:
16963         * modules/cbrtl, modules/cbrtl-ieee, modules/ceil, modules/ceil-ieee:
16964         * modules/ceilf, modules/ceilf-ieee, modules/ceill, modules/ceill-ieee:
16965         * modules/chdir, modules/classpath, modules/clean-temp, modules/close:
16966         * modules/closedir, modules/concat-filename, modules/copy-file:
16967         * modules/copysign, modules/copysignf, modules/copysignl, modules/cos:
16968         * modules/cosf, modules/cosh, modules/coshf, modules/csharpcomp:
16969         * modules/csharpcomp-script, modules/csharpexec:
16970         * modules/csharpexec-script, modules/ctype, modules/diffseq:
16971         * modules/dprintf, modules/dprintf-posix, modules/dup:
16972         * modules/dup2-obsolete, modules/dup3, modules/duplocale:
16973         * modules/eealloc, modules/environ, modules/erf, modules/erfc:
16974         * modules/errno, modules/execute, modules/exp, modules/exp-ieee:
16975         * modules/exp2, modules/exp2-ieee, modules/exp2f, modules/exp2f-ieee:
16976         * modules/exp2l, modules/exp2l-ieee, modules/expf, modules/expf-ieee:
16977         * modules/expl, modules/expl-ieee, modules/expm1, modules/expm1-ieee:
16978         * modules/expm1f, modules/expm1f-ieee, modules/expm1l:
16979         * modules/expm1l-ieee, modules/fabs, modules/fabs-ieee, modules/fabsf:
16980         * modules/fabsf-ieee, modules/fabsl, modules/fabsl-ieee:
16981         * modules/fatal-signal, modules/fbufmode, modules/fchdir:
16982         * modules/fclose, modules/fd-hook, modules/fdopen, modules/filename:
16983         * modules/findprog, modules/findprog-lgpl, modules/floor:
16984         * modules/floor-ieee, modules/floorf, modules/floorf-ieee:
16985         * modules/floorl, modules/floorl-ieee, modules/fma, modules/fma-ieee:
16986         * modules/fmaf, modules/fmaf-ieee, modules/fmal, modules/fmal-ieee:
16987         * modules/fmod, modules/fmod-ieee, modules/fmodf, modules/fmodf-ieee:
16988         * modules/fmodl, modules/fmodl-ieee, modules/fopen, modules/fpieee:
16989         * modules/fprintf-posix, modules/fpucw, modules/fpurge:
16990         * modules/freadable, modules/freadahead, modules/freadptr:
16991         * modules/freadseek, modules/freopen, modules/frexp:
16992         * modules/frexp-ieee, modules/frexp-nolibm, modules/frexpf:
16993         * modules/frexpf-ieee, modules/frexpl, modules/frexpl-ieee:
16994         * modules/frexpl-nolibm, modules/fseek, modules/fseeko:
16995         * modules/fseterr, modules/fstat, modules/fstrcmp, modules/ftell:
16996         * modules/ftello, modules/full-read, modules/full-write:
16997         * modules/fwritable, modules/fwriteerror, modules/gcd:
16998         * modules/get-rusage-as, modules/get-rusage-data:
16999         * modules/getdtablesize, modules/getrusage, modules/gettext:
17000         * modules/gettext-h, modules/git-merge-changelog, modules/gperf:
17001         * modules/grantpt, modules/havelib, modules/host-cpu-c-abi:
17002         * modules/hostent, modules/hypot, modules/hypot-ieee, modules/hypotf:
17003         * modules/hypotf-ieee, modules/hypotl, modules/hypotl-ieee:
17004         * modules/iconv, modules/iconv-h, modules/iconv_open:
17005         * modules/iconv_open-utf, modules/idpriv-drop, modules/idpriv-droptemp:
17006         * modules/ilogb, modules/ilogbf, modules/ilogbl, modules/imaxabs:
17007         * modules/imaxdiv, modules/integer_length, modules/integer_length_l:
17008         * modules/integer_length_ll, modules/ioctl, modules/isatty:
17009         * modules/isblank, modules/isnand, modules/isnand-nolibm:
17010         * modules/isnanf, modules/isnanf-nolibm, modules/isnanl:
17011         * modules/isnanl-nolibm, modules/iswblank, modules/iswctype:
17012         * modules/j0, modules/j1, modules/javacomp, modules/javacomp-script:
17013         * modules/javaexec, modules/javaexec-script, modules/javaversion:
17014         * modules/jn, modules/langinfo, modules/ldd, modules/ldexp:
17015         * modules/ldexp-ieee, modules/ldexpf, modules/ldexpf-ieee:
17016         * modules/ldexpl, modules/ldexpl-ieee, modules/lgamma:
17017         * modules/lib-symbol-visibility, modules/libsigsegv:
17018         * modules/linked-list, modules/linkedhash-list, modules/list:
17019         * modules/localcharset, modules/locale, modules/localeconv:
17020         * modules/localename, modules/lock, modules/log, modules/log-ieee:
17021         * modules/log10, modules/log10-ieee, modules/log10f:
17022         * modules/log10f-ieee, modules/log10l, modules/log10l-ieee:
17023         * modules/log1p, modules/log1p-ieee, modules/log1pf:
17024         * modules/log1pf-ieee, modules/log1pl, modules/log1pl-ieee:
17025         * modules/log2, modules/log2-ieee, modules/log2f, modules/log2f-ieee:
17026         * modules/log2l, modules/log2l-ieee, modules/logb, modules/logb-ieee:
17027         * modules/logbf, modules/logbf-ieee, modules/logbl, modules/logbl-ieee:
17028         * modules/logf, modules/logf-ieee, modules/login_tty:
17029         * modules/logl-ieee, modules/malloc-posix, modules/malloca:
17030         * modules/mbchar, modules/mbfile, modules/mbiter, modules/mbmemcasecmp:
17031         * modules/mbmemcasecoll, modules/mbrlen, modules/mbrtowc:
17032         * modules/mbscasecmp, modules/mbscasestr, modules/mbschr:
17033         * modules/mbscspn, modules/mbsinit, modules/mbslen:
17034         * modules/mbsncasecmp, modules/mbsnlen, modules/mbsnrtowcs:
17035         * modules/mbspbrk, modules/mbspcasecmp, modules/mbsrchr:
17036         * modules/mbsrtowcs, modules/mbssep, modules/mbsspn, modules/mbsstr:
17037         * modules/mbstok_r, modules/mbswidth, modules/mbtowc, modules/mbuiter:
17038         * modules/memchr-obsolete, modules/memcmp2, modules/minmax:
17039         * modules/mkdtemp, modules/mkostemp, modules/mktime-internal:
17040         * modules/modf, modules/modf-ieee, modules/modff, modules/modff-ieee:
17041         * modules/modfl, modules/modfl-ieee, modules/msvc-inval:
17042         * modules/msvc-nothrow, modules/multiarch, modules/nextafter:
17043         * modules/nl_langinfo, modules/no-c++, modules/nocrash:
17044         * modules/nonblocking, modules/open, modules/opendir, modules/openmp:
17045         * modules/oset, modules/pclose, modules/pipe, modules/pipe-filter-gi:
17046         * modules/pipe-filter-ii, modules/pipe2, modules/poll-h:
17047         * modules/posix_spawn, modules/posix_spawn-internal:
17048         * modules/posix_spawn_file_actions_addclose:
17049         * modules/posix_spawn_file_actions_adddup2:
17050         * modules/posix_spawn_file_actions_addopen:
17051         * modules/posix_spawn_file_actions_destroy:
17052         * modules/posix_spawn_file_actions_init:
17053         * modules/posix_spawnattr_destroy, modules/posix_spawnattr_getflags:
17054         * modules/posix_spawnattr_getpgroup:
17055         * modules/posix_spawnattr_getschedparam:
17056         * modules/posix_spawnattr_getschedpolicy:
17057         * modules/posix_spawnattr_getsigdefault:
17058         * modules/posix_spawnattr_getsigmask, modules/posix_spawnattr_init:
17059         * modules/posix_spawnattr_setflags, modules/posix_spawnattr_setpgroup:
17060         * modules/posix_spawnattr_setschedparam:
17061         * modules/posix_spawnattr_setschedpolicy:
17062         * modules/posix_spawnattr_setsigdefault:
17063         * modules/posix_spawnattr_setsigmask, modules/posix_spawnp:
17064         * modules/pow, modules/powf, modules/printf-frexp:
17065         * modules/printf-frexpl, modules/printf-posix, modules/printf-safe:
17066         * modules/progname, modules/propername, modules/pselect:
17067         * modules/pthread_sigmask, modules/ptsname, modules/ptsname_r:
17068         * modules/qacl, modules/quotearg-simple, modules/raise, modules/random:
17069         * modules/rbtree-list, modules/rbtree-oset, modules/rbtreehash-list:
17070         * modules/read, modules/readdir, modules/readlink:
17071         * modules/realloc-posix, modules/regex-quote, modules/relocatable-lib:
17072         * modules/relocatable-lib-lgpl, modules/relocatable-perl:
17073         * modules/relocatable-prog, modules/relocatable-prog-wrapper:
17074         * modules/relocatable-script, modules/remainder:
17075         * modules/remainder-ieee, modules/remainderf, modules/remainderf-ieee:
17076         * modules/remainderl, modules/remainderl-ieee, modules/rewinddir:
17077         * modules/rint, modules/rint-ieee, modules/rintf, modules/rintf-ieee:
17078         * modules/rintl, modules/rintl-ieee, modules/round-ieee:
17079         * modules/roundf-ieee, modules/roundl-ieee, modules/safe-read:
17080         * modules/safe-write, modules/sched, modules/servent, modules/setenv:
17081         * modules/setlocale, modules/sh-quote, modules/shutdown:
17082         * modules/signal, modules/signbit, modules/sigpipe:
17083         * modules/sigpipe-die, modules/sigprocmask, modules/sin, modules/sinf:
17084         * modules/sinh, modules/sinhf, modules/size_max, modules/sleep:
17085         * modules/snippet/arg-nonnull, modules/snippet/c++defs:
17086         * modules/snippet/link-warning, modules/snippet/unused-parameter:
17087         * modules/snprintf, modules/snprintf-posix, modules/spawn:
17088         * modules/spawn-pipe, modules/sprintf-posix, modules/sqrt:
17089         * modules/sqrt-ieee, modules/sqrtf, modules/sqrtf-ieee:
17090         * modules/sqrtl-ieee, modules/stdalign, modules/stdarg:
17091         * modules/stdbool, modules/stpcpy, modules/stpncpy, modules/strcase:
17092         * modules/strcasestr, modules/strcasestr-simple, modules/strcspn:
17093         * modules/streq, modules/strerror_r-posix, modules/striconv:
17094         * modules/striconveh, modules/striconveha, modules/strncat:
17095         * modules/strnlen1, modules/strpbrk, modules/strtod-obsolete:
17096         * modules/sublist, modules/sys_resource, modules/sys_utsname:
17097         * modules/sys_wait, modules/system-posix, modules/system-quote:
17098         * modules/tan, modules/tanf, modules/tanh, modules/tanhf:
17099         * modules/tcgetsid, modules/termios, modules/threadlib, modules/tls:
17100         * modules/tmpdir, modules/towctrans, modules/trunc, modules/trunc-ieee:
17101         * modules/truncf, modules/truncf-ieee, modules/truncl:
17102         * modules/truncl-ieee, modules/ttyname_r, modules/uname:
17103         * modules/unlockpt, modules/unsetenv, modules/vasnprintf:
17104         * modules/vasnprintf-posix, modules/vasprintf, modules/vasprintf-posix:
17105         * modules/vdprintf, modules/vdprintf-posix, modules/vfprintf-posix:
17106         * modules/vfscanf, modules/vma-iter, modules/vprintf-posix:
17107         * modules/vscanf, modules/vsnprintf-posix, modules/vsprintf-posix:
17108         * modules/wait-process, modules/waitpid, modules/wcpcpy:
17109         * modules/wcpncpy, modules/wcrtomb, modules/wcscasecmp, modules/wcscat:
17110         * modules/wcschr, modules/wcscmp, modules/wcscoll, modules/wcscpy:
17111         * modules/wcscspn, modules/wcsdup, modules/wcslen, modules/wcsncasecmp:
17112         * modules/wcsncat, modules/wcsncmp, modules/wcsncpy, modules/wcsnlen:
17113         * modules/wcsnrtombs, modules/wcspbrk, modules/wcsrchr:
17114         * modules/wcsrtombs, modules/wcsspn, modules/wcsstr, modules/wcstok:
17115         * modules/wcswidth, modules/wcsxfrm, modules/wctob, modules/wctomb:
17116         * modules/wctrans, modules/wctype, modules/wcwidth, modules/wmemchr:
17117         * modules/wmemcmp, modules/wmemcpy, modules/wmemmove, modules/wmemset:
17118         * modules/write, modules/xconcat-filename, modules/xlist:
17119         * modules/xmalloca, modules/xoset, modules/xprintf-posix:
17120         * modules/xreadlink, modules/xsetenv, modules/xsize, modules/xstriconv:
17121         * modules/xstriconveh, modules/xsublist, modules/xvasprintf-posix:
17122         * modules/y0, modules/y1, modules/yn:
17123         Remove Bruno Haible as maintainer; if he's the sole maintainer,
17124         change the maintainer to 'all'.  Let's hope someone volunteers.
17126 2014-06-27  Paul Eggert  <eggert@cs.ucla.edu>
17128         mktime: merge #if/#ifdef usage from glibc
17129         * lib/mktime.c: Use "#if defined DEBUG && DEBUG", not "#if DEBUG",
17130         as that works with both Glibc's and Gnulib's style.
17131         See thread starting at Siddhesh Poyarekar's bug report at:
17132         http://lists.gnu.org/r/bug-gnulib/2014-06/msg00102.html
17134 2014-06-20  Alfred M. Szmidt  <ams@gnu.org>
17136         git-version-gen: improve option descriptions
17137         * build-aux/git-version-gen: Mention that --prefix and --fallback
17138         have a mandatory argument.
17140 2014-06-19  Paul Eggert  <eggert@penguin.cs.ucla.edu>
17142         regex: fix memory leak in compiler
17143         Fix by Andreas Schwab in:
17144         https://sourceware.org/ml/libc-alpha/2014-06/msg00462.html
17145         * lib/regcomp.c (parse_expression): Deallocate partially
17146         constructed tree before returning error.
17148         regex: merge patch from libc
17149         2014-02-12  Joseph Myers  <joseph@codesourcery.com>
17150         Combine __USE_BSD and __USE_SVID into __USE_MISC.
17151         * lib/regex.h [__USE_BSD]: Change condition to [__USE_MISC].
17153 2014-06-17  Paul Eggert  <eggert@cs.ucla.edu>
17155         acl: port to gcc -Wredundant-decls
17156         From a request by Dmitry Antipov in:
17157         http://lists.gnu.org/r/emacs-devel/2014-06/msg00263.html
17158         * lib/acl.h (_GL_ACL_H): New macro.  Protect entire contents with
17159         "#ifndef _GL_ACL_H".
17161 2014-06-11  Bruce Korb  <bkorb@gnu.org>
17162         Jim Meyering  <meyering@fb.com>
17164         parse-duration: eliminate 68-year duration limit
17165         * lib/parse-duration.c: Include "intprops.h".
17166         (TIME_MAX): Rename to MAX_DURATION and define to
17167         TYPE_MAXIMUM(time_t).
17168         * modules/parse-duration (Depends-on): Add intprops.
17169         Reported by Jonas 'Sortie' Termansen.
17171 2014-06-14  Paul Eggert  <eggert@cs.ucla.edu>
17173         pthread: don't assume AC_CANONICAL_HOST, port better to Solaris, etc.
17174         * modules/pthread (Depends-on): Add 'extensions', as it defines
17175         _POSIX_PTHREAD_SEMANTICS, which is needed on Solaris.
17176         (configure.ac-early): New section.
17177         * m4/pthread.m4 (gl_PTHREAD_CHECK): Revert previous change, as
17178         it is no longer needed.
17180 2014-06-14  Pádraig Brady  <P@draigBrady.com>
17182         pthread: define thread-safe macros on some platforms
17183         * m4/pthread.m4 (gl_PTHREAD_CHECK): Define macros needed
17184         for thread-safe operation on some platforms.
17186 2014-06-13  Paul Eggert  <eggert@cs.ucla.edu>
17188         regex: don't be multithreaded if USE_UNLOCKED_IO.
17189         Problem reported by Michael Felt in: http://bugs.gnu.org/17773
17190         * lib/regex_internal.h: Do not use multithreaded version if
17191         USE_UNLOCKED_IO is defined.  This is a hack, but it works
17192         around a porting bug with coreutils 8.22 on AIX 7.1.
17194 2014-06-11  Daiki Ueno  <ueno@gnu.org>
17196         gettext: update macros to version 0.19
17197         * m4/intl.m4, m4/po.m4: Update from gettext-0.19.  In particular,
17198         depend on gl_EXTERN_INLINE and drop support for older Bison
17199         versions.
17201 2014-06-10  Pádraig Brady  <P@draigBrady.com>
17203         select,poll: fix console handle check on windows 8
17204         lib/poll.c (IsConsoleHandle): Change from testing the lower
17205         2 bits of the handle to the more expensive but accurate syscall.
17206         lib/select.c: Likewise.
17208 2014-06-10  Eli Zaretskii  <eliz@gnu.org>
17210         select: fix waiting on anonymous pipes on MS-Windows
17211         * lib/select.c (rpl_select): Fall back to polling when select()
17212         indicates there is nothing to check, while due to the timeout not
17213         expiring, activity is indicated on one of the handles.
17214         Also clear the TIMEOUT argument if the timer does expire.
17216 2014-06-10  Eli Zaretskii  <eliz@gnu.org>
17218         times: fix to return non constant value on MS-Windows
17219         * lib/times.c (times): Don't use the process creation time,
17220         rather clock() which on windows returns the number of
17221         clock ticks since the process started.
17223 2014-06-09  Michael Goffioul  <michael.goffioul@gmail.com>
17225         isatty: fix to work on windows 8
17226         * lib/isatty.c (IsConsoleHandle): Change from testing the lower
17227         2 bits of the handle to the more expensive but accurate syscall.
17229 2014-06-07  Paul Eggert  <eggert@cs.ucla.edu>
17231         maint: fix typo in fdl.texi
17232         * doc/fdl.texi: Fix typo (missing '@').
17233         Somehow this was in fdl.texi but not fdl-1.3.texi.
17235 2014-06-06  Ben Walton  <bdwalton@gmail.com>
17237         mountlist: avoid hasmntopt const type warning on solaris
17238         * lib/mountlist.c: Solaris defines the OPT param of hasmntopt()
17239         with char * instead of const char *.  Passing the constant string
17240         "ignore" generates a compiler warning.  For Solaris cast MNT_IGNORE
17241         to avoid the warning.
17243 2014-06-04  Eric Blake  <eblake@redhat.com>
17245         maintainer-makefile: delete obsolete code
17246         * top/maint.mk (build_aux): Drop old code, as threatened.
17248         maintainer-makefile: avoid spurious error messages
17249         * top/maint.mk (syntax-check): Guard definition and use of
17250         $(shell) by whether Makefile is present.
17252 2014-06-03  Ben Walton  <bdwalton@gmail.com>
17254         rename: avoid unused-but-set-variable compiler warning
17255         * lib/rename.c (rpl_rename):  In the non-Win32 variant of rpl_rename,
17256         it is possible that dst_exists may be set but not used.  Mark it with
17257         the unused attribute to avoid compiler warnings.
17259 2014-06-02  Ben Walton  <bdwalton@gmail.com>
17261         rename: mark a label as potentially unused
17262         * lib/rename.c (rpl_rename): Avoid compiler warnings seen on Solaris,
17263         by marking the out label as potentially unused.
17264         * m4/gnulib-common.m4: Mention the need for the trailing ; for C++.
17266 2014-06-01  Paul Eggert  <eggert@cs.ucla.edu>
17268         gnulib-common.m4: Fix typo in _GL_UNUSED_LABEL.
17269         * m4/gnulib-common.m4 (_GL_UNUSED_LABEL): Omit trailing semicolon.
17271 2014-06-02  Ben Walton  <bdwalton@gmail.com>
17273         acl: apply pure attribute to two functions
17274         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial):
17275         Mark as "pure" as flagged by gcc 4.9 on Solaris 10.
17277 2014-06-01  Pádraig Brady  <P@draigBrady.com>
17279         gnulib-common.m4: add _GL_UNUSED_LABEL
17280         * m4/gnulib-common.m4: Add _GL_UNUSED_LABEL which is similar to
17281         _GL_UNUSED, but handles g++ < 4.5 not supporting this syntax.
17283 2014-05-31  Paul Eggert  <eggert@cs.ucla.edu>
17285         dup2, fcntl, fcntl-h: port to AIX 7.1
17286         This fixes some porting problems discovered when testing the latest
17287         grep snapshot on AIX 7.1.  I don't think if fixes any bugs
17288         in grep but it could be important for other applications.
17289         * doc/posix-functions/dup2.texi:
17290         * doc/posix-functions/fcntl.texi:
17291         * doc/posix-headers/fcntl.texi:
17292         Document AIX bugs.
17293         * lib/fcntl.in.h (O_CLOEXEC, O_NOFOLLOW, O_TTY_INIT) [_AIX]:
17294         Define to 0 if outside 'int' range.
17295         * m4/dup2.m4 (gl_FUNC_DUP2):
17296         * m4/fcntl.m4 (gl_FUNC_FCNTL):
17297         Check for getdtablesize.  If it's available, test a value just
17298         outside its range instead of testing 1000000.  When cross-compiling,
17299         guess that AIX will fail this improved test.
17301 2014-05-30  Paul Eggert  <eggert@cs.ucla.edu>
17303         printf, config.rpath: Port to FreeBSD 10.
17304         Problem reported by Tijl Coosemans in:
17305         http://lists.gnu.org/r/bug-gnulib/2014-05/msg00078.html
17306         * build-aux/config.rpath (hardcode_libdir_flag_spec)
17307         (hardcode_direct): Simplify FreeBSD configuration.
17308         (library_names_spec): Don't mishandle FreeBSD 10+.
17309         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE)
17310         (gl_PRINTF_INFINITE_LONG_DOUBLE, gl_PRINTF_DIRECTIVE_F)
17311         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99)
17312         (gl_SNPRINTF_DIRECTIVE_N, gl_VSNPRINTF_ZEROSIZE_C99):
17313         Don't mishandle FreeBSD 10+ when cross-compiling.
17315         ftoastr: work around compiler bug in IBM xlc 12.1
17316         * lib/ftoastr.h (_GL_FLT_PREC_BOUND, _GL_DBL_PREC_BOUND)
17317         (_GL_LDBL_PREC_BOUND): Make these macros, not enums, to work
17318         around a compiler bug in IBM xlc 12.1.0.0: it complains
17319         '"ftoastr.c", line 80.37: 1506-045 (S) Undeclared identifier
17320         _GL_FLT_PREC_BOUND.'
17322 2014-05-30  Kieran Colford  <colfordk@gmail.com>
17324         valgrind-tests: fixed misleading help message
17325         * m4/valgrind-tests.m4: The help message generated by configure
17326         implied that valgrind was disabled by default, which it wasn't.
17327         Adjusted the help message using s/enable/disable/ to clarify.
17329 2014-05-30  Ulrich Weigand  <uweigand@de.ibm.com>
17331         isfinite, isinf, isnan tests: fix for little-endian PowerPC
17332         * tests/test-isfinite.c (test_isfinitel): Only manipulate the
17333         first double of a PowerPC "double double" pair.
17334         * tests/test-isinf.c (test_isinfl): Likewise.
17335         * tests/test-isnan.c (test_long_double): Likewise.
17336         * tests/test-isnanl.h (main): Likewise.
17337         * tests/test-signbit.c (test_signbitl): Likewise.
17339 2014-05-29  Paul Eggert  <eggert@cs.ucla.edu>
17341         exclude-tests: port to AIX 7.1
17342         * modules/exclude-tests (test_exclude_LDADD): Add $(LIBTHREAD).
17343         Needed on AIX 7.1 with xlc V12.1, otherwise it won't link because
17344         the regex code uses locks.
17346 2014-05-28  Paul Eggert  <eggert@cs.ucla.edu>
17348         pthread_sigmask, timer-time: use gl_THREADLIB only if needed
17349         Without this fix, Emacs would sometimes call sigprocmask instead
17350         of pthread_sigmask, which is a no-no in multithreaded applications.
17351         Problem reported by Jorgen Schaefer in <http://bugs.gnu.org/17561>.
17352         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
17353         Suppress check for pthread_sigmask working without -lpthread if
17354         the application always links with -lpthread.  Do not link with
17355         $LIBMULTITHREAD if gl_THREADLIB is not defined.
17356         * m4/timer_time.m4 (gl_TIMER_TIME):
17357         Require gl_THREADLIB only if it is defined.  Do not append
17358         $LIBMULTITHREAD to LIB_TIMER_TIME if gl_THREADLIB is not defined.
17360 2014-05-27  Sylvain Beucler  <beuc@beuc.net>.
17362         gnulib-tool: wget translations using --no-verbose rather than --quiet
17363         This allows the user to see error messages if any (--quiet hides them)
17364         * gnulib-tool: Invoke wget with --no-verbose, rather than --quiet.
17366 2014-05-27  Sylvain Beucler  <beuc@beuc.net>
17368         gnulib-tool: adjust translation wget to avoid a https redirection
17369         Context: http://translationproject.org/latest/gnulib redirects to
17370            https://translationproject.org/latest/gnulib/
17371         Rationale: if the user falls back to wget, she doesn't have rsync and
17372         is probably in a minimal build environment, where packages such as
17373         'ca-certificates' are missing as well, resulting in a failed (and
17374         difficult to detect since ignored) translation initial fetch.
17375         Consequently let's avoid https if possible, and add the missing
17376         trailing slash.  This also avoids an unnecessary 302 redirection.
17377         * gnulib-tool: Add trailing slash to gnulib URL.
17379 2014-05-22  Pádraig Brady  <P@draigBrady.com>
17381         getlogin_r-tests: check return value rather than errno
17382         * tests/test-getlogin_r.c (main): As per POSIX we should be
17383         verifying the return value from getlogin_r() rather than errno.
17385 2014-05-22  Pádraig Brady  <P@draigBrady.com>
17387         getlogin_r-tests: fix various issues in recent change
17388         * tests/test-getlogin_r.c: Include required headers that were
17389         missed in recent commit eec20b4e.
17390         Also consistently check the errno rather than the return value from
17391         getlogin_r as POSIX only specifies that non zero is returned on error.
17392         * modules/getlogin_r-tests (configure.ac): Add the check for ttyname().
17394 2014-05-21  Paul Eggert  <eggert@cs.ucla.edu>
17396         fchdir: port 'open' and 'close' redefinitions to AIX 7.1
17397         * lib/chown.c, lib/clean-temp.c, lib/copy-file.c, lib/execute.c:
17398         * lib/fsusage.c, lib/gc-gnulib.c, lib/javacomp.c, lib/mountlist.c:
17399         * lib/openat-proc.c, lib/pagealign_alloc.c, lib/progreloc.c:
17400         * lib/spawn-pipe.c:
17401         Do not #undef 'open' and 'close'.  AIX 7 does '#define open open64'
17402         and then 'int open64(const char *, int, ...);', which means the
17403         declaration for 'open' gets lost if we later '#undef open'.
17404         Discovered while building grep pretest 2.18.151-1c770 on AIX 7.1,
17405         where the compilation reported the non-fatal error "In function
17406         'openat_proc_name' ... warning: implicit declaration of function
17407         'open'".  In this case the error is relatively harmless, but in
17408         other cases it might not be so minor.
17410 2014-05-20  Paul Eggert  <eggert@cs.ucla.edu>
17412         xalloc: don't potentially generate invalid code for xmemdup calls
17413         * lib/xalloc.h (xmemdup): Do not mark with _GL_ATTRIBUTE_ALLOC, as
17414         this function can initialize the newly-allocated storage with new
17415         pointers, which means this function is not malloc-like.  See:
17416         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56955
17418 2014-05-19  Pádraig Brady  <P@draigBrady.com>
17420         getlogin_r-tests: avoid false failure under sudo/ssh etc.
17421         * tests/test-getlogin_r.c (main): Sync up with test-getlogin.c
17422         changes from commit 97249cf29 to not depend on environment variables.
17424 2014-05-18  Pádraig Brady  <P@draigBrady.com>
17426         getlogin-tests: avoid false failure under cron
17427         * tests/test-getlogin.c (main): Avoid verifying errnos from ttyname()
17428         since that's not what's under test.  Centos 6 was seen to return
17429         EINVAL for ttyname() when run from cron.
17431 2014-05-16  Jim Meyering  <meyering@fb.com>
17433         mbrtowc.m4: fix a comment typo
17434         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Fix typo s/2/-2/ in
17435         emitted documentation string.
17437 2014-05-16  Paul Eggert  <eggert@cs.ucla.edu>
17439         mbrlen, mbrtowc: fix bug with empty input
17440         * lib/mbrtowc.c (rpl_mbrtowc) [MBRTOWC_EMPTY_INPUT_BUG]: Fix the bug.
17441         * m4/mbrlen.m4 (gl_MBRLEN_EMPTY_INPUT): New macro.  It's not used,
17442         so this is mainly for documentation.
17443         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT): New macro.
17444         (gl_FUNC_MBRTOWC): Use it.
17445         * tests/test-mbrtowc.c (main): Test for the bug.
17447 2014-05-15  Paul Eggert  <eggert@cs.ucla.edu>
17449         doc: document mbrtowc and mbrlen problem with empty input
17450         * doc/posix-functions/mbrlen.texi (mbrlen):
17451         * doc/posix-functions/mbrtowc.texi (mbrtowc):
17452         Document portability problem when the input string is empty.  See:
17453         https://sourceware.org/bugzilla/show_bug.cgi?id=16950
17455         doc: document exec* = spawn+exit bug with non-Cygwin Windows platforms
17456         Problem reported by Eli Zaretskii in:
17457         http://lists.gnu.org/r/bug-grep/2014-05/msg00118.html
17458         * doc/posix-functions/execl.texi (execl):
17459         * doc/posix-functions/execle.texi (execle):
17460         * doc/posix-functions/execlp.texi (execlp):
17461         * doc/posix-functions/execv.texi (execv):
17462         * doc/posix-functions/execve.texi (execve):
17463         * doc/posix-functions/execvp.texi (execvp):
17464         Mention spawn+exit problem on non-Cygwin Windows platforms.
17466 2014-05-14  Guilherme de Almeida Suckevicz  <guito.linux@gmail.com>
17468         getlogin-tests: avoid false failure under sudo/ssh etc.
17469         * modules/getlogin-tests (configure.ac): Check for ttyname().
17470         * tests/test-getlogin.c (main): Don't depend on environment variables
17471         to correlate with getlogin(), since sudo and ssh etc. can tamper
17472         with the LOGNAME and USER env vars.  Instead lookup the name from
17473         the uid associated with the stdin tty.
17475 2014-05-11  Paul Eggert  <eggert@cs.ucla.edu>
17477         mbsstr, quotearg, xstrtol: pacify IRIX 6.5 cc
17478         These were found when building the latest grep snapshot on IRIX 6.5.
17479         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Break "a=b=c;" into
17480         "b=c; a=b;", since IRIX 6.5 cc complains about the former if b is
17481         never used later.
17482         * lib/quotearg.c (quoting_options_from_style):
17483         * lib/xstrtol.c (__xstrtol):
17484         Use enum instead of 0, to pacify IRIX 6.5 cc.
17486 2014-04-18  Pádraig Brady  <P@draigBrady.com>
17488         gitlog-to-changelog: revert inclusion of git-log-fix file
17489         * build-aux/git-log-fix: Delete dummy file.
17490         * modules/gitlog-to-changelog: Don't reference (overwrite)
17491         the project specific git-log-fix file.
17493 2014-04-18  Assaf Gordon  <agordon@wi.mit.edu>
17495         maint.mk: Relax the copyright check to cater for non FSF projects
17496         * top/maint.mk (sc_copyright_check): Relax the check for $PACKAGE.texi
17497         to not require the "Free" suffix after the copyright years.
17499 2014-04-18  Natanael Copa  <ncopa@alpinelinux.org>
17501         physmem: use sysinfo on linux-gnu if _SC_PHYS_PAGES unavailable
17502         * lib/physmem.c (physmem_total): Some systems like musl libc don't yet
17503         support _SC_PHYS_PAGES.  Use the linux syscall sysinfo as fallback
17504         if _SC_PHYS_PAGES or _SC_PAGESIZE fails.
17505         (physmem_available): Likewise for _SC_AVPHYS_PAGES.
17507 2014-04-18  Paul Eggert  <eggert@cs.ucla.edu>
17509         exclude: port to strict C99
17510         Strict C does not allow converting a function pointer to void *
17511         and vice versa.  Pass a pointer to a function pointer instead.
17512         * lib/exclude.c (add_exclude_file):
17513         Pass the address of the function pointer.
17514         (call_addfn): And deference the address here, to match.
17516 2014-04-17  Paul Eggert  <eggert@cs.ucla.edu>
17518         regex: do not depend on malloc-gnu
17519         * modules/regex (Depends-on): Remove malloc-gnu.
17520         It's no longer needed, because of the 2012-12-29 patch
17521         "regex: port to hosts where malloc (0) == NULL".
17522         Reported by Nathan Kennedy in:
17523         http://lists.gnu.org/r/bug-gnulib/2014-04/msg00026.html
17525 2014-04-16  Assaf Gordon  <agordon@wi.mit.edu>
17527         expl: avoid incorrect expl(small_value) on OpenBSD 5.4
17528         * m4/expl.m4 (gl_FUNC_EXPL): Add a check for this condition.
17529         * doc/posix-functions/expl.texi: Mention the workaround.
17531 2014-04-12  Paul Eggert  <eggert@cs.ucla.edu>
17533         xalloc: allow x2nrealloc (P, PN, S) where P && !*PN
17534         * lib/xalloc.h (x2nrealloc): Extend slightly, to allow the current
17535         size to be zero even when the pointer is nonnull.  This
17536         accommodates the use case where P is malloc (0) and *PN is 0 on a
17537         host where malloc (0) yields nonnull.
17539 2014-04-09  Eric Blake  <eblake@redhat.com>
17541         fts: avoid unnecessary strlen calls
17542         * lib/fts.c (_D_EXACT_NAMLEN): Restore definition when needed.
17544 2014-04-09  Paul Eggert  <eggert@cs.ucla.edu>
17546         fts: avoid unnecessary strlen calls
17547         * lib/fts.c (fts_build): Go back to using _D_EXECT_NAMLEN
17548         when that can be faster than strlen.
17550 2014-03-26  Bernhard Voelker  <mail@bernhard-voelker.de>
17552         fts: avoid unnecessary strlen calls
17553         * lib/fts.c (_D_EXACT_NAMLEN): Remove macro.
17554         (fts_build): Store the length of the dp->d_name entry in a local variable
17555         instead of calling strlen() several times via the above, removed macro.
17556         For 'rm -rf some-dir' with e.g. 1M directory entries, this speeds up the
17557         run by ~4%, yet this reduces the execution time by about a third if run
17558         via "ltrace -c rm -rf some-dir".
17560 2014-03-27  Paul Eggert  <eggert@cs.ucla.edu>
17562         obstack: Remove ancient NeXTSTEP gcc support conditional
17563         This change will ease merging with glibc.  The "#if ... __NEXT__"
17564         causes a warning with -Wundef which glibc now enables by default.
17565         Problem reported by Will Newton in
17566         <http://lists.gnu.org/r/bug-gnulib/2014-03/msg00032.html>.
17567         glibc <sys/cdefs.h> now uses __extension__ for GCC 2.8 or later,
17568         so go with that.
17569         * lib/obstack.h (__extension__):
17571 2014-03-27  Paul Eggert  <eggert@cs.ucla.edu>
17573         obstack: merge with glibc changes
17574         * lib/obstack.c, lib/obstack.h: Merge from glibc.
17575         This is mostly indenting and commentary changes.
17576         Instances of 'register' have been removed.
17578 2014-03-26  Bernhard Voelker  <mail@bernhard-voelker.de>
17580         strftime: wrap macros in "do {...} while(0)"
17581         * lib/strftime.c (DO_NUMBER): Wrap multi-statement code block of
17582         this macro in "do {...} while(0)" to prevent false use as a
17583         single statement, e.g., in an un-braced "{}" else-block.
17584         (DO_SIGNED_NUMBER, DO_TZ_OFFSET, DO_NUMBER_SPACEPAD): Likewise.
17585         (strftime_case_): Remove 'else' after 'goto' - which was the
17586         only non-fatal, un-braced use of one of the above macros.
17587         Spotted by coverity (NESTING_INDENT_MISMATCH).
17589 2014-03-26  Bernhard Voelker  <mail@bernhard-voelker.de>
17591         modechange: avoid memory leaks for invalid octal modes
17592         * lib/modechange.c (mode_compile): During the parsing of
17593         notations like +40, free the 'mc' buffer for invalid mode
17594         strings like +17777 (greater than the maximum octal mode),
17595         =18 (bad octal mode characters) or u=1 ('affected' with
17596         octal modes).
17597         Reproducer, e.g.:
17598             $ valgrind --leak-check=full chmod +17777 file
17599         Introduced via the 2012-03-09 commit, 4730c3e3, "modechange:
17600         add notations +40, 00440, etc.".
17601         Spotted by coverity (RESOURCE_LEAK).
17603 2014-03-24  Paul Eggert  <eggert@cs.ucla.edu>
17605         gitlog-to-changelog: include a dummy git-log-fix file
17606         Problem reported by Nathan Stratton Treadway in:
17607         http://lists.gnu.org/r/bug-tar/2014-03/msg00082.html
17608         * build-aux/git-log-fix: New file.
17610 2014-03-13  Jim Meyering  <meyering@fb.com>
17612         gitlog-to-changelog: also include the file, git-log-fix
17613         * modules/gitlog-to-changelog (Files): Add git-log-fix.
17614         Reported by Assaf Gordon.
17616 2014-03-06  Paul Eggert  <eggert@cs.ucla.edu>
17618         regex: port to OS X 10.8.5 en_US.UTF-8 locale
17619         This fixes a bug when ignoring case and when comparing the
17620         titlecase letter 'Lj' (U+01C8 LATIN CAPITAL LETTER L WITH SMALL
17621         LETTER J) to the corresponding uppercase letter 'LJ' (U+01C7 LATIN
17622         CAPITAL LETTER LJ).  In the OS X 10.8.5 en_US.UTF-8 locale, the
17623         titlecase letter is neither lowercase nor uppercase, but
17624         uppercasing the titlecase letter (via towupper) yields the
17625         uppercase letter, so the two letters should match when ignoring case.
17626         Problem reported by Jim Meyering in <http://debbugs.gnu.org/16911#16>.
17627         * lib/regex_internal.c (build_wcs_upper_buffer, build_upper_buffer):
17628         Don't test whether a character is lowercase before uppercasing it.
17630 2014-03-04  Kevin Cernekee  <cernekee@gmail.com>
17632         stdint, read-file: fix missing SIZE_MAX on Android (tiny change)
17633         This is basically one of the options Bruno Haible proposed in:
17634         http://lists.gnu.org/r/bug-gnulib/2012-01/msg00282.html
17635         * lib/sys_types.in.h (_GL_INCLUDING_UNISTD_H): New macro.
17636         * lib/stdint.in.h: Use it.
17637         * modules/stdint (Depends-on): Add sys_types.
17639 2014-02-26  Pádraig Brady  <P@draigBrady.com>
17641         parse-datetime: fix crash or infloop in TZ="" parsing
17642         * lib/parse-datetime.y (parse_datetime): Break out of the
17643         TZ="" parsing loop once the second significant " is found.
17644         Also skip over any subsequent whitespace to be consistent
17645         with the non TZ= case.
17646         * tests/test-parse-datetime.c: Add test cases for TZ="" parsing.
17648 2014-02-26  Paul Eggert  <eggert@cs.ucla.edu>
17650         savedir: new symbol for fast-read version
17651         * lib/savedir.h (SAVEDIR_SORT_FASTREAD): New symbol, for programs
17652         like GNU cp that want to use SAVEDIR_SORT_INODE if available,
17653         SAVEDIR_SORT_NONE otherwise.  Problem reported by Bernhard Voelker in:
17654         http://lists.gnu.org/r/coreutils/2014-02/msg00037.html
17656 2014-02-25  Paul Eggert  <eggert@penguin.cs.ucla.edu>
17658         unistd: port readlink to Mac OS X 10.3.9
17659         * lib/unistd.in.h (_GL_INCLUDING_UNISTD_H): New macro, to work
17660         around self-include problem in Mac OS X 10.3.9 when combined with
17661         readlink module.  Problem reported by Klaus Zietler in
17662         <http://bugs.gnu.org/16825>.
17664 2014-02-23  Paul Eggert  <eggert@cs.ucla.edu>
17666         diffseq: remove TOO_EXPENSIVE heuristic
17667         Problem with diffutils reported by Vincent Lefevre in
17668         <http://bugs.gnu.org/16848>.  The simplest solution is to remove
17669         the TOO_EXPENSIVE heuristic that I added to GNU diff in 1993.
17670         Although appropriate for circa-1993 hardware, these days the heuristic
17671         seems to be more trouble than it's worth.
17672         * lib/diffseq.h: Modernize citations.
17673         (struct context): Remove member too_expensive.
17674         All uses changed.
17675         (struct partition): Remove members lo_minimal, hi_minimal.
17676         All uses changed.
17677         (diag, compareseq): Remove arg find_minimal.  All uses changed.
17678         (diag): Remove the TOO_EXPENSIVE heuristic that I added back in
17679         1993 to make 'diff' run faster (but not as well) on large inputs.
17680         These days, computers are fast enough that it's typically better
17681         to run slower but more accurately.
17682         * lib/fstrcmp.c: Remove duplicate comment.
17683         * lib/fstrcmp.c (strcmp_bounded):
17684         * lib/git-merge-changelog.c (compute_differences):
17685         Adjust to diffseq.h changes.
17686         * NEWS: Document the change.
17688         savedir: simplify by using stpcpy
17689         * lib/savedir.c (direntry_t): Remove size member.  All uses removed.
17690         (streamsavedir): Use stpcpy instead.
17691         * modules/savedir (Depends-on): Add stpcpy.
17693 2014-02-21  Pádraig Brady  <P@draigBrady.com>
17695         spawn: fix link error on uclibc
17696         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): use AC_SEARCH_LIBS,
17697         to incorporate -lrt if needed (on uclibc for example).
17698         * modules/posix_spawn: Reference the substituted LIB.
17700 2014-02-21  Thomas Petazzoni  <thomas.petazzoni@free-electrons.com>  (tiny change)
17701         timer: fix uClibc detection of threading
17702         * m4/time_time.m4 (gl_TIMER_TIME): Detect whether threads are
17703         enabled in uClibc.
17705 2014-02-21  Eric Blake  <eblake@redhat.com>
17707         maintainer-makefiles: provide AC_PROG_SED for older autoconf
17708         * m4/gnulib-common.m4 (AC_PROG_SED): Copy from newer autoconf.
17710 2014-02-21  Sergey Poznyakoff  <gray@gnu.org.ua>
17712         exclude: add support for posix regexps
17714         This commit adds support for POSIX extended regular expressions
17715         and fixes a long-standing memory leak (pattern buffer was never
17716         freed).  It also implements a new interface function to read
17717         exclude patterns from a FILE, which passes an additional parameter
17718         to its callback function, thereby allowing to preserve its state
17719         between invocations.
17721         * lib/exclude.c (struct patopts): Pack regex and pattern into union.
17722         (pattern_buffer): New struct.
17723         (exclude): New member patbuf.
17724         (exclude_add_pattern_buffer): New function.
17725         (free_exclude_segment): Free regexps.
17726         (free_exclude): Free allocated pattern buffers.
17727         (exclude_patopts): New function.
17728         (file_pattern_matches): Use exclude_patopts.
17729         (add_exclude): support regexps.
17730         (add_exclude_fp): New function.
17731         (add_exclude_file): Rewrite using add_exclude_fp.
17732         (fnmatch_pattern_has_wildcards): Support posix extended regexps.
17733         * lib/exclude.h (EXCLUDE_REGEX, EXCLUDE_ALLOC): New flags.
17734         (add_exclude_fp)
17735         (add_exclude_file): Rewrite using add_exclude_fp.
17736         (fnmatch_pattern_has_wildcards): Support posix extended regexps.
17737         * lib/exclude.h (EXCLUDE_REGEX, EXCLUDE_ALLOC): New flags.
17738         (add_exclude_fp)
17739         (exclude_add_pattern_buffer): New prototypes.
17740         * modules/exclude: Depends on regex and filename.
17742 2014-02-20  Eric Blake  <eblake@redhat.com>
17744         maintainer-makefiles: use $(SED) for syntax check
17745         * modules/maintainer-makefile (configure.ac): Check for sane sed.
17746         * top/maint.mk: Change sed to $(SED).
17748 2014-02-11  Sergey Poznyakoff  <gray@gnu.org.ua>
17749             Paul Eggert  <eggert@cs.ucla.edu>
17751         savedir: add sorting arg to savedir, streamsavedir; remove fdsavedir
17752         Patch based on an idea by Dick Streefland in
17753         <https://savannah.gnu.org/patch/?7892>.
17754         * NEWS: Document this.
17755         * lib/savedir.c (NAME_SIZE_DEFAULT): Remove.
17756         (direntry_t, comparison_function): New types.
17757         (direntry_cmp_name): New function.
17758         (direntry_cmp_inode) [D_INO_IN_DIRENT]: New function.
17759         (streamsavedir, savedir): New arg OPTION.
17760         (streamsavedir): Simplify memory allocation.
17761         (fdsavedir): Remove.
17762         * lib/savedir.h (enum savedir_option): New type.
17763         (streamsavedir, savedir): New arg OPTION.
17764         (fdsavedir): Remove.
17766 2014-02-05  Paul Eggert  <eggert@cs.ucla.edu>
17768         file-type: add support for doors and other less-common file types
17769         Problem with S_ISDOOR reported by Rich Burridge.
17770         * lib/file-type.c (file_type): Do S_ISLNK early too.  Do S_TYPEIS*
17771         macros before the rest.  Add S_ISCTG, S_ISDOOR, S_ISMPB, S_ISMPC,
17772         S_ISMPX, S_ISNAM, S_ISNWK, S_ISOFD, S_ISOFL, S_ISPORT, S_ISWHT.
17774 2014-01-23  Eric Blake  <eblake@redhat.com>
17776         pthread: work around winpthread header pollution on mingw
17777         * lib/time.in.h: Move pthread workarounds...
17778         * lib/pthread.in.h: ...here.
17779         * m4/pthread.m4 (gl_PTHREAD_CHECK): Also build pthread.h when we
17780         detect macro pollution on mingw.
17781         * doc/posix-headers/pthread.texi (pthread.h): Document the problems.
17783 2014-01-22  Paul Eggert  <eggert@cs.ucla.edu>
17785         qacl: check for fchmod
17786         * m4/acl.m4 (gl_FUNC_ACL): Check for fchmod, since acl-internal.h
17787         and qset-acl.c both use HAVE_FCHMOD.
17789 2014-01-20  Paul Eggert  <eggert@cs.ucla.edu>
17791         fdopen-tests: port to Tru64
17792         * tests/test-fdopen.c (main): Don't invoke fdopen on a file
17793         descriptor that is not open, as POSIX doesn't specify the
17794         resulting behavior and the test does not work on Tru64.
17795         Problem reported by Steven M. Schweda in:
17796         http://lists.gnu.org/r/bug-gnulib/2014-01/msg00079.html
17798         stdalign: port to HP-UX compilers
17799         * lib/stdalign.in.h (_Alignas): Use __attribute__ (__aligned__ (x))
17800         if __HP_cc or __HP_aCC are nonzero.
17802 2014-01-16  Paul Eggert  <eggert@cs.ucla.edu>
17804         strtoimax: port to platforms lacking 'long long'
17805         VMS's pre-C99 compiler lacks 'long long', so 'configure' doesn't
17806         check whether strtoll is declared, which causes the C file to
17807         wrongly report an error.  Problem reported by Steven M. Schweda in:
17808         http://lists.gnu.org/r/bug-diffutils/2014-01/msg00003.html
17809         * lib/strtoimax.c (strtoull):
17810         Declare only if HAVE_UNSIGNED_LONG_LONG_INT.
17811         (strtoll): Declare only if HAVE_LONG_LONG_INT.
17813 2014-01-16  Daniel Albers  <daniel@lbe.rs>  (tiny change)
17815         relocatable-perl: fix texi syntax
17816         * doc/relocatable-maint.texi: Escape braces.
17818 2014-01-09  Reuben Thomas  <rrt@sc3d.org>
17820         relocatable-perl: like relocatable-script, but for Perl scripts
17821         * build-aux/relocatable.pl.in: Add.
17822         * doc/relocatable-maint.texi: Add documentation.
17823         * modules/relocatable-perl: Add.
17825 2014-01-07  Paul Eggert  <eggert@cs.ucla.edu>
17827         tests: fix export bug in previous patch
17828         Problem reported by Jim Meyering.
17829         * tests/init.sh (re_shell): New var, which is exported instead of
17830         re_shell_.
17832         tests: simplify porting to Solaris 10 /bin/sh
17833         Some test cases in 'grep' need a shell that groks '$(';
17834         export re_shell_ for their benefit.  Problem reported for 'grep'
17835         by Dagobert Michelsen in <http://bugs.gnu.org/16380>.
17836         * tests/init.sh (re_shell_): Export if it's used.
17838 2014-01-06  Eric Blake  <eblake@redhat.com>
17840         md5, sha1, sha256, sha512: support older autoconf
17841         * m4/00gnulib.m4 (m4_divert_push): Wrap diversion stack
17842         for autoconf < 2.63b.
17844         include_next: port to autoconf 2.63
17845         * m4/gnulib-common.m4 (AS_VAR_COPY): Define if missing.
17847 2014-01-04  Jim Meyering  <meyering@fb.com>
17849         maint: add a gnulib-local rule to keep non-ascii out of .texi files
17850         * cfg.mk (sc_keep_gnulib_texi_files_mostly_ascii): New rule,
17851         so that "make sc_maint" will ding anyone who puts non-ascii
17852         in any of gnulib's .texi files.
17854 2014-01-03  Jim Meyering  <meyering@fb.com>
17856         freadable, fwritable, fwriting: declare with the "pure" attribute
17857         * lib/freadable.h (freadable): Declare with the "pure" attribute.
17858         * lib/fwritable.h (fwritable): Likewise.
17859         * lib/fwriting.h (fwriting): Likewise.
17860         Suggested by Bruno Haible.
17862         maint.mk: adapt openat.h-include-without-use test
17863         * top/maint.mk (sc_prohibit_openat_without_use): Also check for
17864         FCHMODAT_INLINE, FCHOWNAT_INLINE and STATAT_INLINE, to avoid
17865         failing on gnulib's own lib/{chmod,chown,stat}at.c files.
17866         With this change, running "make sc_maint" in gnulib's top-level
17867         directory now passes for me.
17869 2014-01-03  Paul Eggert  <eggert@cs.ucla.edu>
17871         doc: use ASCII in .texi files where UTF-8 isn't needed
17872         * doc/posix-functions/crypt.texi, doc/posix-functions/encrypt.texi:
17873         * doc/posix-functions/setkey.texi, doc/regex.texi:
17874         Use ASCII input, not UTF-8.
17876 2014-01-02  Jim Meyering  <meyering@fb.com>
17878         freading: declare with the "pure" attribute
17879         * lib/freading.h (freading): Declare with the "pure" attribute.
17881         manywarnings: remove -Wmudflap
17882         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Remove -Wmudflap, since
17883         it is no longer supported in gcc-4.9-to-be.
17885 2014-01-01  Paul Eggert  <eggert@cs.ucla.edu>
17887         relocatable-script: remove unused code
17888         Problem reported by Reuben Thomas in:
17889         http://lists.gnu.org/r/bug-gnulib/2013-12/msg00117.html
17890         * build-aux/relocatable.sh.in (func_tmpdir): Remove unused function.
17892 2014-01-01  Jim Meyering  <meyering@fb.com>
17894         maint: fix public-submodule-commit to work with newer git
17895         * top/maint.mk (public-submodule-commit): Remove excess quoting.
17896         We were over-quoting the test arguments, and somewhere prior to
17897         version 1.8.5.2.229, git stopped removing those excess quotes,
17898         which made the test fail, since the unexpanded strings would
17899         always differ; using GIT_TRACE=1 confirmed that the git merge-base
17900         command wasn't even being run.
17902 2014-01-01  Paul Eggert  <eggert@cs.ucla.edu>
17904         doc: update main copyright year
17905         * doc/gnulib.texi: Update copyright date.
17907 2014-01-01  Eric Blake  <eblake@redhat.com>
17909         version-etc: new year
17910         * lib/version-etc.c (COPYRIGHT_YEAR): Bump to 2014.
17911         * all files: run 'make update-copyright'
17913 2013-12-24  Eric Blake  <eblake@redhat.com>
17915         passfd: give nicer error for recvfd at eof
17916         * lib/passfd.c (recvfd): Fake ENOTCONN if other end closes early.
17917         * tests/test-passfd.c (main): Enhance test to cover this.
17919 2013-12-17  Paul Eggert  <eggert@cs.ucla.edu>
17921         gettimeofday: port recent C++ fix to Emacs
17922         Without this further patch, Emacs won't build due to
17923         the portcheck failing.  Also, this simplifies the patch a bit.
17924         * lib/time.in.h (localtime, gmtime): Don't replace unless
17925         GNULIB_GETTIMEOFDAY.  Treat them more like mktime.
17926         * lib/time.in.h (localtime, gmtime):
17927         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME):
17928         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS):
17929         * modules/time (time.h):
17930         Don't worry about the possibility of localtime and gmtime
17931         being absent; they're present in all C libraries we know about.
17932         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS):
17933         Don't assume sys_time is present and has been initialized.
17934         Instead, use a hack that should work even if it hasn't been.
17935         Don't use a portcheck for gmtime or localtime; this supports
17936         the hack.
17937         * modules/time (time.h): Substitute GNULIB_GETTIMEOFDAY.
17939 2013-12-17  John W. Eaton  <jwe@gnu.org>
17941         gettimeofday: fix C++ crosscompilation
17943         Never replace gmtime and localtime by macros when compiling with
17944         C++, this prevents <ctime> from being included.
17946         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Do not
17947         define gmtime and localtime as preprocessor macros.  Instead
17948         define some HAVE_GMTIME, HAVE_LOCALTIME, REPLACE_GMTIME, and
17949         REPLACE_LOCALTIME substitutions.
17950         * lib/time.in.h: Declare gmtime and localtime when needed.
17951         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): AC_SUBST HAVE_GMTIME,
17952         HAVE_LOCALTIME, REPLACE_GMTIME, and REPLACE_LOCALTIME.
17953         * modules/time: Depend on gettimeofday, and substitute the above
17954         variables in time.h.
17956 2013-12-17  Paul Eggert  <eggert@cs.ucla.edu>
17958         qacl: port to Windows better
17959         See Eli Zaretskii in
17960         <http://lists.gnu.org/r/emacs-devel/2013-12/msg00593.html>.
17961         * lib/file-has-acl.c (acl_access_nontrivial):
17962         Return -1 and set errno if !HAVE_ACL_FIRST_ENTRY &&
17963         !HAVE_ACL_TO_SHORT_TEXT && !HAVE_ACL_FREE_TEXT.
17965 2013-12-12  Alexander V. Lukyanov  <lav@netis.ru>
17967         md5, sha1, sha256, sha512: fix (trivial) compile error in c++ mode.
17968         * lib/gl_openssl.h: Cast void pointers to a specific type.
17970 2013-12-07  Pádraig Brady  <P@draigBrady.com>
17972         open-tests: fix build failure with -Werror=old-style-declaration
17973         * tests/test-open.h: Reorder the inline to avoid the issue.
17975 2013-12-07  Pádraig Brady  <P@draigBrady.com>
17977         md5, sha1, sha256, sha512: fix link error with partial libcrypto
17978         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK): Only clear LIB_CRYPTO at
17979         init time, so that if early checks find crypto routines,
17980         while the last does not, then @LIB_CRYPTO@ is replaced correctly,
17981         avoiding link failures.
17983 2013-12-07  Paul Eggert  <eggert@cs.ucla.edu>
17985         md5, sha1, sha256, sha512: add gl_SET_CRYPTO_CHECK_DEFAULT
17986         This provides a new way to specify the default for
17987         gl_CRYPTO_CHECK, one that is reflected in the --help message.
17988         Emacs uses this, as well as the old way.
17989         This attempts to implement a suggestion by Pádraig Brady in
17990         <http://lists.gnu.org/r/coreutils/2013-12/msg00080.html>.
17991         * m4/gl-openssl.m4(gl_SET_CRYPTO_CHECK_DEFAULT): New macro.
17992         (gl_CRYPTO_CHECK): Use it.  Mention the default in --help output.
17994         md5, sha1, sha256, sha512: add 'auto', and a way to specify default
17995         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK):
17996         Add support for a new option, --with-openssl=auto, which causes
17997         the library to be used if available and silently ignored if not.
17998         Add support to allow configure.ac to specify its own
17999         default, by setting with_openssl_default before invoking gl_INIT.
18001 2013-12-05  Paul Eggert  <eggert@cs.ucla.edu>
18003         open-tests: port to glibc with _FORTIFY_SOURCE and -O1
18004         Problem reported by Daiki Ueno in:
18005         http://lists.gnu.org/r/bug-gnulib/2013-06/msg00052.html
18006         * tests/test-open.h (__always_inline):
18007         New macro, if not already defined.
18008         (test_open): Use it.
18010 2013-12-04  Eric Blake  <eblake@redhat.com>
18012         include_next: minimize code duplication
18013         * modules/include_next (Depends-on): Add absolute-header.
18014         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Reuse
18015         gl_ABSOLUTE_HEADER_ONE instead of open-coding it.
18017 2013-12-04  Pádraig Brady  <P@draigBrady.com>
18019         getcwd: fix compile error in configure check
18020         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Include errno.h
18022 2013-12-04  Pádraig Brady  <P@draigBrady.com>
18024         regex: suppress core dumps from detection code
18025         * m4/regex.m4 (gl_REGEX): Catch the SIGABRT and convert to SIGTERM
18026         to suppress core dumps that may well occur on glibc systems.
18027         These core dumps might not be cleaned up automatically, or could
18028         trigger some system core dump handling logic.
18030 2013-12-03  Pádraig Brady  <P@draigBrady.com>
18032         md5, sha1, sha256, sha512: support mandating use of openssl
18033         * m4/gl-openssl.m4 (gl_crypto_check): Adjust the --with-openssl
18034         description, to list the now 3 separate options.  also don't
18035         mention the default=no, since this is implicit given the option
18036         is described as --with-openssl rather than --without-openssl.
18037         If projects change the default they're free to document that.
18038         with --with-openssl[=yes] we now error out when the specified
18039         hash algorithm is not available in libcrypto.
18041 2013-12-03  Ivailo  <xakepa10@gmail.com>
18043         test-xvasprintf: (trivial) fix to disable some -Wformat-security diags
18044         * tests/test-xvasprintf.c: Disable -Wformat-zero-length and
18045         -Wformat-nonliteral checks, as these edge cases are part of the test.
18047 2013-12-03  Eric Blake  <eblake@redhat.com>
18049         regex: avoid glibc deadlock during configure
18050         * m4/regex.m4 (gl_REGEX): Avoid recursive malloc deadlock when
18051         glibc bug 15078 in turn triggers bug 16159.
18052         Reported by Michal Privoznik.
18054 2013-12-02  Pádraig Brady  <P@draigBrady.com>
18056         md5, sha1, sha256, sha512: use openssl routines if available.
18057         --with-openssl the libcrypto md5, sha1, sha224, sha256, sha384, sha256
18058         routines will be used if available, requiring apps to link @LIB_CRYPTO@
18059         * lib/gl_openssl.h: Provide wrappers for specified openssl hash.
18060         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK): New function to lookup libcrypto
18061         in the standard system location.
18062         * m4/sha1.m4: Call gl_CRYPTO_CHECK() for SHA1.
18063         * m4/sha256.m4: Likewise with SHA256.
18064         * m4/sha512.m4: Likewise with SHA512.
18065         * m4/md5.m4: Likewise with MD5.
18066         * m4/gc.m4: Ensure @LIB_CRYPTO@ set for tests.
18067         * lib/sha1.h: Include wrappers if HAVE_OPENSSL_SHA1.
18068         * lib/sha256.h: Likewise with SHA256.
18069         * lib/sha512.h: Likewise with SHA512.
18070         * lib/md5.h: Likewise with MD5.
18071         * lib/sha1.c: Exlude functionality if HAVE_OPENSSL_SHA1.
18072         * lib/sha256.c: Likewise with SHA256.
18073         * lib/sha512.c: Likewise with SHA512.
18074         * lib/md5.c: Likewise with MD5.
18075         * modules/crypto/sha1 (Link:): Add the new optional lib.
18076         (Depends-on:): Add dependency on extern-inline.
18077         * modules/crypto/sha256: Likewise.
18078         * modules/crypto/sha512: Likewise.
18079         * modules/crypto/md5: Likewise.
18080         * modules/crypto/sha1-tests: Reference the lib here too.
18081         * modules/crypto/md5-tests: Likewise.
18082         * modules/crypto/gc-des-tests: Likewise.
18083         * modules/crypto/gc-hmac-md5-tests: Likewise.
18084         * modules/crypto/gc-hmac-sha1-tests: Likewise.
18085         * modules/crypto/gc-hmac-sha256-tests: Likewise.
18086         * modules/crypto/gc-hmac-sha512-tests: Likewise.
18087         * modules/crypto/gc-md5-tests: Likewise.
18088         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
18089         * modules/crypto/gc-sha1-tests: Likewise.
18090         * modules/crypto/gc-tests: Likewise.
18091         * modules/crypto/hmac-md5-tests: Likewise.
18092         * modules/crypto/hmac-sha1-tests: Likewise.
18093         * modules/crypto/hmac-sha256-tests: Likewise.
18094         * modules/crypto/hmac-sha512-tests: Likewise.
18096 2013-11-29  RV1971  <rv1971@web.de>
18098         base64: (trivial) fix compilation regression on some compilers
18099         * lib/base64.c: Don't return the void function,
18100         instead split to a separate return statement.
18102 2013-11-28  Paul Eggert  <eggert@cs.ucla.edu>
18104         ignore-value: revert previous code change
18105         * lib/ignore-value.h (ignore_value): Use __extension__ and
18106         __typeof__ only for GCC 3.4 and later.  Reported by Eric Blake in
18107         <http://lists.gnu.org/r/bug-gnulib/2013-11/msg00102.html>.
18108         Change the comment to try to explain this better.
18110 2013-11-27  Pádraig Brady  <P@draigBrady.com>
18112         selinux-h: improve stub types and add more stub functions
18114         * lib/se-selinux.in.h: Change security_context_t to a typedef
18115         rather than a define, as it's a pointer type and so is better
18116         as a typedef to avoid issues declaring multiple variables
18117         with the comma operator.  Also add stub for string_to_security_class().
18118         * lib/se-context.in.h: Add stub functions for
18119         context_{type,range,role,user}_get().
18121 2013-11-27  Paul Eggert  <eggert@cs.ucla.edu>
18123         ignore-value: prefer GCC version back through 2.0
18124         The code didn't match the comments, so I did a bit of software
18125         archaeology.  GCC 2.0 seems to support __extension__ and
18126         __typeof__, so fix both code and comments to use 2.0.
18127         * lib/ignore-value.h (ignore_value): Use __extension__ and
18128         __typeof__ for GCC 2.0 through 3.3, too.
18130 2013-11-25  Mats Erik Andersson  <gnu@gisladisker.se>
18132         pty: Activate the signature wrapper of forkpty.
18133         The intended preprocessor macro HAVE_FORKPTY is
18134         never defined, yet `lib/forkpty.c' depends on it.
18136         * m4/pty.m4 (gl_FUNC_FORKPTY): At completed analysis,
18137         apply AC_DEFINE_UNQUOTED to HAVE_FORKPTY with value
18138         $HAVE_FORKPTY for access to wrapper in `lib/forkpty.c'.
18140 2013-11-18  Jim Meyering  <meyering@fb.com>
18141         and Paul Eggert  <eggert@cs.ucla.edu>
18143         quotearg: don't attempt to store 1 << 31 into an "int"
18144         * lib/quotearg.c (quotearg_buffer_restyled): Building coreutils with
18145         gcc's new -fsanitize=undefined and running its tests triggered some
18146         new test failures due to undefined behavior, all with this diagnostic:
18147           lib/quotearg.c:629:62: runtime error: left shift of 1 by 31 places \
18148             cannot be represented in type int
18149         Rather than shifting "1" left to form a mask, shift the bits right and
18150         simply use "1" as the mask.
18152 2013-11-21  Paul Eggert  <eggert@cs.ucla.edu>
18154         error: depend on stdio
18155         Problem reported by Nikos Mavrogiannopoulos in
18156         <http://lists.gnu.org/r/bug-gnulib/2013-11/msg00084.html>
18157         * modules/error (Depends-on): Add stdio.
18159 2013-11-18  Ben Pfaff  <blp@cs.stanford.edu>
18161         * doc/relocatable-maint.texi (Supporting Relocation): Improve
18162         wording.
18163         Reported by Reuben Thomas <rrt@sc3d.org>.
18165 2013-11-13  Paul Eggert  <eggert@cs.ucla.edu>
18167         * lib/getgroups.c (posix_getgroups, getgroups) [__APPLE__]:
18168         New function and macro, to work around _DARWIN_C_SOURCE problem.
18169         Reported by Jack Howarth in <http://bugs.gnu.org/14463>.
18171 2013-11-11  Pádraig Brady  <P@draigBrady.com>
18173         base64: provide a fast path for encoding well sized buffers
18174         Avoid conditionals in the base64 encoding loop,
18175         which was seen to give 60% better throughput.
18176         * lib/base64.c (base64_encode_fast): A new function to be called
18177         when we don't want to NUL terminate, and we have enough space
18178         in the output to encode the given input.
18179         (base64_encode): Call the _fast() version when appropriate.
18180         Also remove a redundant mask with 0x3F on the first encoded byte.
18182 2013-11-08  Paul Eggert  <eggert@cs.ucla.edu>
18184         extern-inline: port better to OS X 10.9
18185         * m4/extern-inline.m4: Omit serial number; this file doesn't use them.
18186         (gl_EXTERN_INLINE): Do not suppress the use of extern inline on
18187         OS X 10.9, except for g++ where the bug is still present.
18188         See <http://trac.macports.org/ticket/41033>.
18190 2013-11-08  Eric Blake  <eblake@redhat.com>
18192         fpending: fix regression on DragonFly BSD
18193         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for declaration.
18194         * lib/fpending.h (__fpending): Don't declare twice.
18195         Reported by GW in
18196         <https://lists.gnu.org/r/bug-m4/2013-11/msg00000.html>
18198 2013-11-05  Jim Meyering  <meyering@fb.com>
18200         hash: relax license to LGPLv2+, for libguestfs
18201         * modules/hash (License): Change from GPL to LGPLv2+.
18203 2013-11-03  Paul Eggert  <eggert@cs.ucla.edu>
18205         intprops: port to Oracle Studio c99
18206         * lib/intprops.h (_GL_HAVE___TYPEOF__) [__SUNPRO_C && __STDC__]:
18207         Define to 0, to avoid diagnostics when Oracle Studio is pedantic.
18209 2013-10-31  Paul Eggert  <eggert@cs.ucla.edu>
18211         obstack: pacify HP C
18212         * lib/obstack.h (obstack_free) [!__GNUC__]: Rewrite to avoid
18213         warning "conversion from pointer to smaller integer" from HP
18214         C-ANSI-C - cc version B9007AA/B3910B A.06.26.  It's safe to assume
18215         C89 or later nowadays, so cast to void instead of int.  Privately
18216         reported by H.Merijn Brand.  Also, change header to match glibc's,
18217         to make checking against glibc easier.
18219 2013-10-29  Jim Meyering  <meyering@fb.com>
18221         maint.mk: prefer gpgv2 over gpgv
18222         * top/maint.mk (gpgv): Use gpgv2 if present, else gpgv.
18223         (gpg_key_ID): Use $(gpgv), rather than hard-coding "gpgv".
18224         Reported by Gary Vaughan.
18226 2013-10-30  Paul Eggert  <eggert@cs.ucla.edu>
18228         isnan: port to VAX
18229         Reported by John Klos for NetBSD-5/VAX in
18230         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00133.html>.
18231         * lib/isnan.c (IEEE_FLOATING_POINT): New macro, stolen from Emacs.
18232         (FUNC): Use it.
18234 2013-10-28  Jim Meyering  <meyering@fb.com>
18236         gnulib-tool: protect against CDPATH
18237         * gnulib-tool: Many "cd" built-in functions print a directory name
18238         to stdout when CDPATH is set, e.g.,
18239           $ bash -c 'CDPATH=/; cd tmp'
18240           /tmp
18241         Unset it, when possible.  Prompted by a comment from Bruce Korb.
18243         maint.mk: restore functionality removed by recent change...
18244         Sunday's change, v0.0-8062-g6b24f60, may have appeared correct from
18245         the context of a shallow-cloned gnulib repository: "git describe"
18246         would fail in such a directory.  However, that change made it so
18247         the reported gnulib revision no longer includes the version number
18248         or a commit count, even when run from a full clone.
18249         * top/maint.mk (gnulib-version): Use the full "git describe"
18250         output when possible, e.g., the form above, rather than the
18251         abbreviated, no-tag, no-commit-count string, and fall back to
18252         using a 10-byte hash, rather than the default minimal-length
18253         hash prefix, since while the minimal-length one may be fine today,
18254         it is likely not to be unique for very long.
18256 2013-10-26  Jim Meyering  <meyering@fb.com>
18258         maint.mk: fix "release" target to build _version
18259         This fixes a bug in README-release whereby following the outlined
18260         steps, one would publish a tarball whose programs would report
18261         --version output not consistent with the package version number.
18262         This bug caused grep-2.15 to produce a grep program whose
18263         --version option made it print 2.14.56-1e3d rather than 2.15.
18264         * top/maint.mk (release): Making this target build "_version"
18265         ensures that the new version number is reflected in configure.
18267 2013-10-21  Ben Pfaff  <blp@cs.stanford.edu>
18269         install-reloc: Support multi-binary installation.
18270         * build-aux/install-reloc: Support installing multiple programs in
18271         one invocation, as done by Automake starting with commit
18272         4295fe33eb23f (Multi-file install for PROGRAMS.).  From Bruno
18273         Haible <bruno@clisp.org>, archived at
18274         http://lists.debian.org/debian-bsd/2012/05/msg00032.html.
18275         Reported by Sylvain <beuc@gnu.org>.
18277 2013-10-21  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
18279         selinux-h: Really build without selinux when library is missing.
18280         * m4/selinux-selinux-h.m4: When the selinux library is missing, really
18281         continue without selinux, as already told in the warning message.
18283 2013-10-21  Jim Meyering  <meyering@fb.com>
18285         regex: also remove dependency on HAVE_WCSCOLL
18286         * lib/regex_internal.h: Remove final vestige of the wcscoll dependency.
18288 2013-10-21  Reuben Thomas  <rrt@sc3d.org>
18290         xfreopen: Fix typo. s/frepoen/freopen/
18291         * lib/xfreopen.c: Fix description.
18292         * modules/xfreopen: Likewise.
18294 2013-10-21  Jim Meyering  <meyering@fb.com>
18296         regex: don't depend on wcscoll
18297         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wcscoll.
18298         It is no longer used.
18300 2013-10-20  Jim Meyering  <meyering@fb.com>
18302         error: add the printf attribute to a static function
18303         * lib/error.c (error_tail): Add the printf attribute, to placate
18304         gcc's -Werror=suggest-attribute=format option.
18306 2013-09-30  Jim Meyering  <meyering@fb.com>
18308         fpending, obstack, strerror-override: use pure+const function attrs
18309         * lib/fpending.h (__fpending): Declare with the "pure" attribute.
18310         * lib/obstack.c (_obstack_allocated_p): Likewise.
18311         * lib/obstack.h (_obstack_memory_used): Likewise.
18312         (_obstack_memory_used): Likewise.
18313         * lib/strerror-override.h (strerror_override): Declare with
18314         the "const" attribute.
18316 2013-10-18  Eric Blake  <eblake@redhat.com>
18318         extern-inline: make safe for -Wundef usage
18319         Reported by Vladimir 'phcoder' Serbinenko in
18320         https://lists.gnu.org/r/bug-gnulib/2013-10/msg00078.html
18321         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Port to older gcc.
18323 2013-10-16  Paul Eggert  <eggert@cs.ucla.edu>
18325         mkfifo-tests, etc.: allow HP-UX 11.11 bug
18326         Problem reported by Daniel Richard G. in
18327         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00068.html>.
18328         * doc/posix-functions/mkfifo.texi (mkfifo):
18329         * doc/posix-functions/mkfifoat.texi (mkfifoat):
18330         * doc/posix-functions/mknod.texi (mknod):
18331         * doc/posix-functions/mknodat.texi (mknodat):
18332         Document the HP-UX 11.11 bug.
18333         * tests/test-mkfifo.h (test_mkfifo):
18334         Allow the HP-UX 11.11 bug.
18336 2013-10-14  Paul Eggert  <eggert@cs.ucla.edu>
18338         acl: allow cross-compilation to Gentoo
18339         Problem reported by Gabriel Marcano in
18340         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00058.html>.
18341         * m4/acl.m4 (gl_ACL_GET_FILE): When cross-compiling,
18342         test only whether it links.
18344 2013-10-13  Paul Eggert  <eggert@cs.ucla.edu>
18346         mgetgroups: remove dependency on realloc-gnu
18347         The dependency violates the comment in realloc-gnu, which
18348         says that tests can't depend on realloc-gnu; some tests depend
18349         on mgetgroups, so mgetgroups can't depend on realloc-gnu.
18350         Problem reported by Daniel Richard G. in
18351         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00056.html>.
18352         * lib/mgetgroups.c (mgetgroups): Don't call realloc (NULL, 0).
18353         * modules/mgetgroups (Depends-on): Depend on realloc-posix,
18354         not realloc-gnu.
18356 2013-10-12  Paul Eggert  <eggert@cs.ucla.edu>
18358         regex-tests: port to HP-UX 11.11
18359         Problem reported by Daniel Richard G. in
18360         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00052.html>.
18361         * modules/regex-tests (test_regex_LDADD): Add LIBTHREAD, LIB_PTHREAD.
18363 2013-10-10  Paul Eggert  <eggert@cs.ucla.edu>
18365         verify: document some 'assume' pitfalls
18366         * doc/verify.texi (Compile-time Assertions):
18367         Mention that 'assume (E)' can sometimes slow things down.
18368         Use CHAR_MAX + 1, not UCHAR_MAX + 1.
18370 2013-10-10  Eric Blake  <eblake@redhat.com>
18372         strtoumax: fix typo in previous commit.
18373         * modules/strtoumax (Depends-on): Fix typo.
18374         * modules/strtoimax (Depends-on): Likewise.
18376 2013-10-10  Paul Eggert  <eggert@cs.ucla.edu>
18378         strtoumax: port to Solaris 8
18379         This problem was introduced in the recent HP-UX patch.
18380         Reported by Tom G. Christensen in
18381         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00037.html>.
18382         * modules/strtoumax (Depends-on): Test HAVE_STRTOUMAX
18383         and REPLACE_STRTOUMAX rather than ac_cv_func_strtoumax.
18385 2013-10-09  Paul Eggert  <eggert@cs.ucla.edu>
18387         strtoimax, strtoumax: port to HP-UX 11.11
18388         Problem reported by Daniel Richard G. in
18389         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00023.html>.
18390         * lib/inttypes.in.h (strtoumax): Replace strtoumax if
18391         REPLACE_STRTOUMAX, thus treating it consistently with strtoimax.
18392         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Add default for
18393         REPLACE_STRTOUMAX.
18394         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX):
18395         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX):
18396         Replace the function if defined as a macro but not as a function.
18397         * modules/inttypes-incomplete (inttypes.h): Substitute
18398         REPLACE_STRTOUMAX.
18399         * modules/strtoumax (configure.ac): Replace strtoumax if
18400         REPLACE_STRTOUMAX.
18402 2013-10-08  Paul Eggert  <eggert@cs.ucla.edu>
18404         strtoimax: port to HP-UX 11.11
18405         Problem reported by Daniel Richard G.
18406         * lib/strtoimax.c (Strtoimax, Strtol, Strtoll): New macros.
18407         (strtoimax, strtol, strtoll) [UNSIGNED]: Remove, since
18408         they might clash with inttypes.h.
18410 2013-10-06  Paul Eggert  <eggert@cs.ucla.edu>
18412         New module 'count-trailing-zeros'.
18413         * MODULES.html.sh: Mention it.
18414         * lib/count-trailing-zeros.c, lib/count-trailing-zeros.h:
18415         * m4/count-trailing-zeros.m4, modules/count-trailing-zeros:
18416         * modules/count-trailing-zeros-tests:
18417         * tests/test-count-trailing-zeros.c:
18418         New files.
18420         count-leading-zeros: port to MSC; support types wider than 64 bits
18421         The ideas behind the MSC port are stolen from Emacs.
18422         * lib/count-leading-zeros.h:
18423         Don't include verify.h: it's no longer needed, as types wider than
18424         64 bits are now supported.
18425         (COUNT_LEADING_ZEROS): New arg MSC_BUILTIN, for better
18426         performance with MSC.  All uses changed.  Do not assume that TYPE
18427         has at most 64 bits.
18428         (count_leading_zeros_32): Assume 0 < X < 2**32, for speed.
18429         All uses changed.  Fold the subtraction from 31 into the table.
18431         count-one-bits: port to MSC; support types wider than 64 bits
18432         The ideas behind the MSC port are stolen from Emacs.
18433         * lib/count-one-bits.c (popcount_support) [_MSC_VER]: New variable.
18434         * lib/count-one-bits.h: Include limits.h, for CHAR_BIT.
18435         Don't include verify.h: it's no longer needed, as types wider than
18436         64 bits are now supported.
18437         (COUNT_ONE_BITS_GENERIC): New macro.
18438         (popcount_supported) [_MSC_VER]: New inline function.
18439         (COUNT_ONE_BITS): Use it.  New arg MSC_BUILTIN, for better
18440         performance with MSC.  All uses changed.  Do not assume that TYPE
18441         has at most 64 bits.
18442         * modules/count-one-bits (Depends-on): Do not depend on 'verify'.
18444 2013-10-06  Andrew Borodin  <aborodin@vmail.ru>
18446         mountlist: fix resource leak with MOUNTED_INTERIX_STATVFS
18447         * lib/mountlist.c (read_file_system_list): fix leak of directory
18448         streams in case of #ifdef MOUNTED_INTERIX_STATVFS.
18450 2013-10-06  Paul Eggert  <eggert@cs.ucla.edu>
18452         tests: improve diagnostic when an assertion fails
18453         * tests/macros.h (ASSERT): Report the assertion that failed.
18455 2013-10-02  Paul Eggert  <eggert@cs.ucla.edu>
18457         verify: new macro 'assume'
18458         This is taken from Emacs, and should be generally useful.
18459         * doc/verify.texi (assume): Document it.
18460         * lib/verify.h (assume): New macro.
18461         (__has_builtin): Expand to 0 if not defined.
18463 2013-09-26  Eric Blake  <eblake@redhat.com>
18465         dup2, dup3: work around another cygwin crasher
18466         * m4/dup2.m4 (gl_FUNC_DUP2): Expose the bug.
18467         * m4/dup3.m4 (gl_FUNC_DUP3): Likewise.
18468         * tests/test-dup2.c (main): Likewise.
18469         * lib/dup2.c (rpl_dup2): Use setdtablesize to avoid it.
18470         * lib/dup3.c (dup3): Likewise.
18471         * doc/posix-functions/dup2.texi (dup2): Document it.
18472         * doc/glibc-functions/dup3.texi (dup3): Likewise.
18474         getdtablesize: work around cygwin issue
18475         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Detect problem.
18476         * modules/getdtablesize (configure.ac): Build replacement.
18477         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set up a witness.
18478         * modules/unistd (Makefile.am): Expose the witness.
18479         * lib/unistd.in.h (getdtablesize): Declare replacement.
18480         * lib/getdtablesize.c (rpl_getdtablesize): Work around it.
18481         * tests/test-getdtablesize.c (main): Test it.
18482         * doc/glibc-functions/getdtablesize.texi (getdtablesize): Document it.
18484 2013-09-25  Mats Erik Andersson  <gnu@gisladisker.se>
18486         pmccabe2html: escaping of special characters
18487         Escape all '<', '>', and '&' in HTML output.
18488         * build-aux/pmccabe2html (html_fnc): Call gsub()
18489         instead of sub() to capture all '<', '>', and '&'.
18490         Neither of '<' and '>' is special in a regexp,
18491         so first arguments to gsub() are corrected. Also,
18492         in replacement strings, ampersand must be escaped.
18493         Finally, '&' must be handled first, then '<' and '>'.
18495 2013-09-24  Eric Blake  <eblake@redhat.com>
18497         manywarnings: enable nicer gcc warning messages
18498         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Older gcc requires
18499         some -f options for optimal warnings.
18501 2013-09-21  Jim Meyering  <meyering@fb.com>
18503         timespec: use the new TIMESPEC_RESOLUTION in a few more places
18504         * lib/timespec-add.c (timespec_add): Also replace 999999999
18505         with TIMESPEC_RESOLUTION - 1.
18506         * lib/timespec-sub.c (timespec_sub): Likewise.
18508 2013-09-23  Paul Eggert  <eggert@cs.ucla.edu>
18510         warnings: port --enable-gcc-warnings to Solaris Studio 12.3
18511         Problem reported by Dagobert Michelsen via Eric Blake in
18512         <http://lists.gnu.org/r/bug-gnulib/2013-09/msg00052.html>.
18513         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): Use AC_LINK_IFELSE,
18514         not AC_COMPILE_IFELSE.
18516 2013-09-23  Eric Blake  <eblake@redhat.com>
18518         configmake: support new --runstatedir option
18519         * m4/configmake.m4 (gl_CONFIGMAKE_PREP): Substitute runstatedir
18520         even if autoconf was too old to provide the command line option.
18521         * modules/configmake (Makefile.am): Propagate it to .h file.
18523 2013-09-22  Paul Eggert  <eggert@cs.ucla.edu>
18525         ctype, string: depend on extern-inline
18526         This is needed to complete the recent OS X fixes.
18527         Also, fix related documentation as suggested by Eric Blake.
18528         * doc/posix-functions/isalnum.texi, doc/posix-functions/isalpha.texi:
18529         * doc/posix-functions/isascii.texi, doc/posix-functions/iscntrl.texi:
18530         * doc/posix-functions/isdigit.texi, doc/posix-functions/isgraph.texi:
18531         * doc/posix-functions/islower.texi, doc/posix-functions/isprint.texi:
18532         * doc/posix-functions/ispunct.texi, doc/posix-functions/isspace.texi:
18533         * doc/posix-functions/isupper.texi, doc/posix-functions/isxdigit.texi:
18534         * doc/posix-functions/toascii.texi, doc/posix-functions/tolower.texi:
18535         * doc/posix-functions/toupper.texi:
18536         List the 'ctype' gnulib module.
18537         * doc/posix-functions/strcat.texi, doc/posix-functions/strcpy.texi:
18538         * doc/posix-functions/strncpy.texi:
18539         List the 'string' gnulib module.
18540         * modules/memcpy, modules/memmove, modules/memset (Depends-on):
18541         Add string.
18542         * modules/ctype, modules/string (Depends-on): Add extern-inline.
18544 2013-09-19  Pádraig Brady  <P@draigBrady.com>
18546         userspec: support optional parameters to parse_user_spec()
18547         * lib/userspec.c (parse_user_spec): If the GID param is NULL,
18548         then avoid group processing and treat the full spec as a user.
18549         (parse_with_separator): Allow the USERNAME and GROUPNAME to
18550         be optional params (NULL), in which case they're ignored.
18552 2013-09-19  Paul Eggert  <eggert@cs.ucla.edu>
18554         timespec: new function make_timespec, and new constants
18555         * lib/timespec.h: Incorporate recent changes on the Emacs trunk.
18556         (TIMESPEC_RESOLUTION, LOG10_TIMESPEC_RESOLUTION): New constants.
18557         (make_timespec): New function.
18558         * lib/dtotimespec.c (dtotimespec):
18559         * lib/timespec-add.c (timespec_add):
18560         * lib/timespec-sub.c (timespec_sub):
18561         * lib/utimens.c (validate_timespec):
18562         * lib/utimensat.c (rpl_utimensat):
18563         Use these new constants and functions.
18565         stdio: OS X port of putc_unlocked + extern inline
18566         * lib/stdio.in.h (putc_unlocked): #undef on problematic Apple platforms.
18567         * doc/posix-functions/putc_unlocked.texi:
18568         * doc/posix-functions/putchar_unlocked.texi:
18569         Document this portability problem.
18571         signal: OS X port of sigaddset etc. + extern inline
18572         * lib/signal.in.h (sigaddset, sigdelset, sigemptyset, sigfillset)
18573         (sigismember): #undef on problematic Apple platforms.
18574         * doc/posix-functions/sigaddset.texi:
18575         * doc/posix-functions/sigdelset.texi:
18576         * doc/posix-functions/sigemptyset.texi:
18577         * doc/posix-functions/sigfillset.texi:
18578         * doc/posix-functions/sigismember.texi:
18579         Document this portability problem.
18581         extern-inline: do not always suppress extern inline on OS X
18582         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Suppress the use of
18583         extern inline on Apple only if the particular compile-time
18584         configuration is known to have the problem.
18585         (_GL_EXTERN_INLINE_APPLE_BUG): New private macro, to implement this.
18586         (_GL_EXTERN_INLINE_IN_USE): New macro, intended for use by
18587         other Gnulib modules.
18589         extern-inline: document fixes for ctype and wctype macros
18590         * doc/posix-functions/isalnum.texi, doc/posix-functions/isalpha.texi:
18591         * doc/posix-functions/isascii.texi, doc/posix-functions/isblank.texi:
18592         * doc/posix-functions/iscntrl.texi, doc/posix-functions/isdigit.texi:
18593         * doc/posix-functions/isgraph.texi, doc/posix-functions/islower.texi:
18594         * doc/posix-functions/isprint.texi, doc/posix-functions/ispunct.texi:
18595         * doc/posix-functions/isspace.texi, doc/posix-functions/isupper.texi:
18596         * doc/posix-functions/iswalnum.texi, doc/posix-functions/iswalpha.texi:
18597         * doc/posix-functions/iswcntrl.texi, doc/posix-functions/iswctype.texi:
18598         * doc/posix-functions/iswdigit.texi, doc/posix-functions/iswgraph.texi:
18599         * doc/posix-functions/iswlower.texi, doc/posix-functions/iswprint.texi:
18600         * doc/posix-functions/iswpunct.texi, doc/posix-functions/iswspace.texi:
18601         * doc/posix-functions/iswupper.texi, doc/posix-functions/iswxdigit.texi:
18602         * doc/posix-functions/isxdigit.texi, doc/posix-functions/toascii.texi:
18603         * doc/posix-functions/memcpy.texi, doc/posix-functions/memmove.texi:
18604         * doc/posix-functions/memset.texi, doc/posix-functions/stpcpy.texi:
18605         * doc/posix-functions/stpncpy.texi, doc/posix-functions/strcat.texi:
18606         * doc/posix-functions/strcpy.texi, doc/posix-functions/strncat.texi:
18607         * doc/posix-functions/strncpy.texi:
18608         * doc/posix-functions/tolower.texi, doc/posix-functions/toupper.texi:
18609         * doc/posix-functions/towlower.texi, doc/posix-functions/towupper.texi:
18610         Document that Gnulib fixes portability problems with these
18611         functions on OS X 10.8 and earlier when called from plain inline
18612         or extern inline functions.
18614 2013-09-17  Kevin Cernekee  <cernekee@gmail.com>
18616         fflush, freadahead, fseeko: Fix for Android
18617         Suggested by Bruno Haible in:
18618         <http://lists.gnu.org/r/bug-gnulib/2012-01/msg00306.html>
18619         * lib/stdio-impl.h: Use local __sfileext definition.
18621 2013-09-17  Mats Erik Andersson  <gnu@gisladisker.se>
18623         pmccabe2html: Portability to other awk versions.
18624         The functions systime() and strftime() are available
18625         in Gawk only.  Properly close two HTML-tags 'style'
18626         and 'span'.
18627         * build-aux/pmccabe2html (BEGIN): Store timing
18628         strings in EPOCH_TIME and CHRONOS_TIME.  Replace
18629         systime() in HTML_COMMENT.
18630         (html_header): Correctly close tag 'style'.
18631         (END): Replace strftime() by CHRONOS_TIME.  Close
18632         tag 'span' correctly, not as 'div'.
18634 2013-09-17  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
18636         getgroups: statement without effect
18637         * lib/getgroups.c (rpl_getgroups) [HAVE_GETGROUPS]:
18638         Change equality conditional to expected assignment.
18640 2013-09-09  Eric Blake  <eblake@redhat.com>
18642         glob: fix compilation
18643         * lib/glob.in.h (__THROW): Fix missing line in previous commit.
18645 2013-09-07  Eric Blake  <eblake@redhat.com>
18647         glob: fix build for platforms without __THROW
18648         * lib/glob.in.h (__THROW): Add definition again.
18650 2013-09-04  Anton Ovchinnikov  <revolver112@gmail.com>  (tiny change)
18652         regex-quote: fix buffer access out of bounds
18653         http://lists.gnu.org/r/bug-gnulib/2013-09/msg00001.html
18654         * lib/regex-quote.c (regex_quote_spec_pcre):
18655         Fix typo that resulted in an out-of-bounds read.
18657 2013-09-04  Eric Blake  <eblake@redhat.com>
18659         glob: avoid -Wattribute warnings on glibc
18660         * lib/glob.c (next_brace_sub, prefix_array, collated_compare): Use
18661         __THROWNL, not __THROW, on static functions.
18662         * lib/glob.in.h (__THROW): Adjust...
18663         (__THROWNL): ...accordingly.
18665 2013-08-28  Paul Eggert  <eggert@cs.ucla.edu>
18667         headers: check that _GL_INLINE_HEADER_BEGIN is defined
18668         Suggested by Bruce Korb in:
18669         http://lists.gnu.org/r/bug-gnulib/2013-08/msg00070.html
18670         * doc/extern-inline.texi (extern inline):
18671         Suggest checking that _GL_INLINE_HEADER_BEGIN is defined.
18672         * lib/acl-internal.h, lib/argp-fmtstream.h, lib/argp.h:
18673         * lib/binary-io.h, lib/bitrotate.h, lib/count-leading-zeros.h:
18674         * lib/count-one-bits.h, lib/eealloc.h, lib/execinfo.in.h:
18675         * lib/gethrxtime.h, lib/gl_list.h, lib/gl_oset.h, lib/gl_xlist.h:
18676         * lib/gl_xoset.h, lib/gl_xsublist.h, lib/glthread/cond.h:
18677         * lib/glthread/thread.h, lib/math.in.h, lib/mbchar.h, lib/mbfile.h:
18678         * lib/mbiter.h, lib/mbuiter.h, lib/openat.h, lib/pipe-filter-aux.h:
18679         * lib/priv-set.h, lib/pthread.in.h, lib/savewd.h, lib/se-context.in.h:
18680         * lib/se-selinux.in.h, lib/sig-handler.h, lib/stat-time.h:
18681         * lib/sys_socket.in.h, lib/timespec.h, lib/u64.h, lib/unistd.in.h:
18682         * lib/utimens.h, lib/wctype.in.h, lib/xalloc.h, lib/xsize.h:
18683         * lib/xtime.h:
18684         Check that _GL_INLINE_HEADER_BEGIN is defined.
18686 2013-08-29  Pádraig Brady  <P@draigBrady.com>
18688         bootstrap: remove the --version requirement from ancillary tools
18689         * build-aux/bootstrap (check_exists): A new refactored function to
18690         determine if a command exists.
18691         (find_tool): Use the new function which does not require the
18692         --version option to be supported.
18693         (check_versions): Use the new function.
18695 2013-08-26  Simon Josefsson  <simon@josefsson.org>
18697         gc: support HMAC-SHA256 and HMAC-SHA512.
18698         * lib/gc.h: Add gc_hmac_sha256 and gc_hmac_sha512.
18699         * lib/gc-libgcrypt.c (gc_hmac_sha256, gc_hmac_sha512): New
18700         functions.
18701         (gc_hmac_md5): Use symbolic constant.
18702         * lib/gc-gnulib.c: Include hmac.h for HMAC-SHA256/512 too.
18703         (gc_hmac_sha256, gc_hmac_sha512): New functions.
18704         * lib/hmac.h: Add hmac_sha256 and hmac_sha512 prototypes.
18705         * m4/sha256.m4: Protect against empty expansion.
18706         * m4/sha512.m4: Likewise.
18707         * lib/hmac-sha256.c: New file.
18708         * lib/hmac-sha512.c: Likewise.
18709         * m4/gc-hmac-sha256.m4: Likewise.
18710         * m4/gc-hmac-sha512.m4: Likewise.
18711         * m4/gc-sha256.m4: Likewise.
18712         * m4/gc-sha512.m4: Likewise.
18713         * modules/crypto/gc-hmac-sha256: Likewise.
18714         * modules/crypto/gc-hmac-sha256-tests: Likewise.
18715         * modules/crypto/gc-hmac-sha512: Likewise.
18716         * modules/crypto/gc-hmac-sha512-tests: Likewise.
18717         * modules/crypto/hmac-sha256: Likewise.
18718         * modules/crypto/hmac-sha256-tests: Likewise.
18719         * modules/crypto/hmac-sha512: Likewise.
18720         * modules/crypto/hmac-sha512-tests: Likewise.
18721         * tests/test-gc-hmac-sha256.c: Likewise.
18722         * tests/test-gc-hmac-sha512.c: Likewise
18723         * tests/test-hmac-sha256.c: Likewise.
18724         * tests/test-hmac-sha512.c: Likewise
18726 2013-08-24  Daiki Ueno  <ueno@gnu.org>
18728         * m4/intl.m4: Update from gettext-0.18.3.1, which fixes a misuse
18729         of AC_CHECK_DECLS.
18731 2013-08-23  Paul Eggert  <eggert@cs.ucla.edu>
18733         selinux-at: omit unnecessary include
18734         * lib/selinux-at.c: Don't include dosname.h; not needed, since
18735         this source file doesn't use its macros, and subsidiary files that
18736         use the macros already include it.
18738 2013-08-21  Eric Blake  <eblake@redhat.com>
18740         d-ino: avoid false negative on symlink
18741         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use lstat.
18742         Reported by Stephane Chazelas.
18744 2013-08-12  Mike Miller  <mtmiller@ieee.org>  (tiny change)
18746         bootstrap: port to OpenBSD sed
18747         * build-aux/bootstrap (insert_if_absent): Port to OpenBSD sed which
18748         does not interpret `-' as a file argument to mean stdin.
18750 2013-08-15  Eric Blake  <eblake@redhat.com>
18752         warnings: minor optimization
18753         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): Use fewer processes.
18755         warnings: check -Wfoo rather than -Wno-foo
18756         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): If name begins with
18757         -Wno-, test if the compiler recognizes the positive form instead.
18759 2013-08-15  Karl Berry  <karl@gnu.org>
18761         * config/srclist-update: add option "doclicense" to placate
18762         pulling *.texi files from Emacs.  Write terse usage
18763         documentation at the top.
18765 2013-08-13  Paul Eggert  <eggert@cs.ucla.edu>
18767         xvasprintf-tests: port to GCC with hardening flags
18768         * tests/test-xvasprintf.c (test_xasprintf): Pass another arg to
18769         xasprintf, to pacify GCC.  Reported by Santiago Vila in:
18770         http://lists.gnu.org/r/bug-diffutils/2013-08/msg00002.html
18772 2013-08-11  Paul Eggert  <eggert@cs.ucla.edu>
18774         fpending: port to recent Cygwin change to stdio_ext.h
18775         Reported by LRN in
18776         <http://lists.gnu.org/r/bug-gnulib/2013-08/msg00028.html>.
18777         * lib/fpending.h: Don't worry about HAVE_DECL___FPENDING;
18778         just declare __fpending unless it's a macro.
18779         A duplicate decl shouldn't hurt.
18780         * m4/fpending.m4 (gl_FUNC_FPENDING): Check that an __fpending
18781         call compiles and links, instead of separately checking for
18782         decl and lib function.
18783         * modules/fpending (configure-ac):
18784         Adjust to fpending.m4's renaming of shell variable.
18786 2013-08-10  Paul Eggert  <eggert@cs.ucla.edu>
18788         sys_time: port to OpenBSD
18789         * lib/sys_time.in.h: Simply delegate to the system's header
18790         in the BSDish cases as well.  Problem reported by Mike Miller in
18791         <http://lists.gnu.org/r/bug-gnulib/2013-08/msg00016.html>.
18792         * tests/test-sys_select.c, tests/test-sys_time.c (verify_tv_sec_type):
18793         Allow platforms like 64-bit OpenBSD where timeval's tv_sec is
18794         wider than time_t.
18796 2013-08-09  Pádraig Brady  <P@draigBrady.com>
18798         bootstrap: support checksum utils having -c but not --status
18799         * build-aux/bootstrap: Only look for sha1sum if updating po files.
18800         Add sha1 to the list of supported checksum utils since it's now
18801         supported through adjustments below.
18802         (update_po_files): Remove the use of --status
18803         in a way that will suppress all error messages, but since this is
18804         only used to minimize updates, it shouldn't cause an issue.
18805         Exit early if there is a problem updating the po file checksums.
18806         (find_tool): Remove the check for --version support as this
18807         is optional as per commit 86186b17.  Don't even check for the
18808         presence of the command as if that is needed, it's supported
18809         through configuring prerequisites in bootstrap.conf.
18810         Prompt that when a tool isn't found, one can define an environment
18811         variable to add to the hardcoded search list.
18813 2013-08-05  Jim Meyering  <meyering@fb.com>
18815         regex: port to non-glibc/lock-using systems
18816         Since 29-05-2013 commit, 55ba71f4, compilation on a non-glibc
18817         system with GNULIB_LOCK would fail due to absence of the
18818         included "glthread/lock.h".  This would affect any package
18819         for which the "lock" module is used only by the regex module,
18820         and not explicitly used.
18821         * m4/regex.m4 (gl_PREREQ_REGEX): Require gl_GLIBC21.
18822         * modules/regex (Depends-on) [!GLIBC && $ac_use_included_regex]:
18823         Add a dependency on the "lock" module.
18825 2013-07-20  Daiki Ueno  <ueno@gnu.org>
18827         localecharset: make locale_charset thread-safe on Mac OS X
18828         * lib/localcharset.c (locale_charset) [DARWIN7]: Use MB_CUR_MAX_L
18829         instead of MB_CUR_MAX.
18831 2013-07-20  Daiki Ueno  <ueno@gnu.org>
18833         gettext: update to version 0.18.3
18834         * m4/intl.m4, m4/po.m4: Update from gettext-0.18.3.  In particular,
18835         require AC_PROG_SED to allow user to specify custom sed command when
18836         generating en@quot PO file.
18838 2013-07-18  Werner Lemberg  <wl@gnu.org>  (tiny change)
18840         bootstrap: use correct source when copying build-aux files
18841         * build-aux/bootstrap (gnulib_extra_files): This variable is
18842         relative to upstream gnulib layout, not downstream.
18844 2013-07-17  Paul Eggert  <eggert@cs.ucla.edu>
18846         tmpdir: fix bug in VMS port
18847         * lib/tmpdir.c (path_search) [__VMS]: Never add slash.
18848         See Steven M. Schweda in
18849         <http://lists.gnu.org/r/bug-gnulib/2013-07/msg00026.html>.
18851 2013-07-15  Paul Eggert  <eggert@cs.ucla.edu>
18853         tmpdir: port to VMS, to // != /, and to long dirs
18854         * lib/tmpdir.c (__libc_secure_getenv) [!_LIBC]: Rename from
18855         __secure_getenv, so that we're more like the glibc version.
18856         All uses changed.
18857         (path_search): Don't put slash after directory if __VMS.
18858         Problem reported by Steven M. Schweda in
18859         <http://lists.gnu.org/r/bug-gnulib/2013-07/msg00019.html>.
18860         Simplify code to add slash; no need for a loop.
18861         Do not remove trailing slash from "//".
18862         Do not assume dlen <= INT_MAX.
18864 2013-07-09  Paul Eggert  <eggert@cs.ucla.edu>
18866         regex: port to --with-included-regex --enable-gcc-warnings non-threaded
18867         * lib/regex_internal.h (lock_fini, lock_lock): Rework to avoid
18868         gcc warnings in the non-threaded case.  Reported by Charlie Brown in
18869         <http://lists.gnu.org/r/bug-gnulib/2013-07/msg00015.html>.
18871         accept4, dup3, pipe2: port to Cygwin
18872         Problem reported for Emacs by Ken Brown in <http://bugs.gnu.org/14821>.
18873         * lib/accept4.c (accept4) [O_BINARY]:
18874         * lib/dup3.c (dup3) [O_BINARY]:
18875         * lib/pipe2.c (pipe2) [O_BINARY]:
18876         Use set_binary_mode, not setmode.
18877         * lib/pipe2.c [!GNULIB_BINARY_IO]: Include binary-io.h.
18878         * modules/binary-io (Depends-on): Remove module indicator.
18879         These last two bits undo the previous change to pipe2 and binary-io.
18881 2013-07-09  Pádraig Brady  <P@draigBrady.com>
18883         mountlist: add support for deallocating returned list entries
18884         * lib/mountlist.c (free_mount_entry): A new exported function
18885         to deallocate a mount list entry.
18886         (read_file_system_list): Refactor to use the new deallocation function.
18887         Suggested by Anton Ovchinnikov.
18889 2013-07-07  Paul Eggert  <eggert@cs.ucla.edu>
18891         stdalign, verify: port to FreeBSD 9.1, to C11, and to C++11
18892         Problem reported by Ulrich Mueller in <http://bugs.gnu.org/14812>.
18893         * lib/stdalign.in.h (_Alignas, _Alignof):
18894         Port to FreeBSD 9.1, and to C11 and C++11.
18895         (_Alignas): Also support ICC.
18896         * lib/verify.h (_Static_assert): Undef if <stddef.h> defines it.
18897         * m4/stdalign.m4 (gl_STDALIGN_H): Port to ICC and to C++11.
18899 2013-07-06  Paul Eggert  <eggert@cs.ucla.edu>
18901         fnmatch: don't goto over declaration
18902         * lib/fnmatch_loop.c (FCT): Hoist local up one level, to avoid
18903         undefined behavior for goto over a declaration.
18904         Problem reported by Charlie Brown in
18905         <http://lists.gnu.org/r/bug-gnulib/2013-07/msg00009.html>.
18907         pipe2: decouple from binary-io a bit
18908         This is for Emacs, which needs pipe2 but not binary-io.
18909         * lib/pipe2.c [!GNULIB_BINARY_IO]: Don't include binary-io.h.
18910         * modules/binary-io (Depends-on): Add module indicator.
18912 2013-07-03  Eric Blake  <eblake@redhat.com>
18914         mgetgroups: relax license to LGPLv2+
18915         * modules/getugroups (License): Change from GPLv3+.
18916         * modules/mgetgroups (License): Likewise.
18917         * modules/getgroups (License): Change from LGPLv3+.
18919         xalloc-oversized: relax license to LGPLv2+
18920         * modules/xalloc-oversized (License): Change from GPLv3+.
18922         nproc: relax license to LGPLv2+
18923         * modules/nproc (License): Change from LGPLv3+.
18925         bootstrap: honor --no-git
18926         * build-aux/bootstrap: Don't even try to use git when user is
18927         pointing to a static checkout.
18929 2013-06-23  Paul Eggert  <eggert@cs.ucla.edu>
18931         ignore-value: port to gcc -pedantic
18932         * lib/ignore-value.h (ignore_value):
18933         Port to gcc -pedantic, by using __extension__.
18934         Reindent as per usual gnulib style nowadays.
18935         Simplify GCC version check.
18937 2013-06-21  Paul Eggert  <eggert@cs.ucla.edu>
18939         extern-inline: port to gcc -std=c89
18940         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
18941         Do not use __gnu_inline__ if pedantic and pre-C99.
18943 2013-06-18  Paul Eggert  <eggert@cs.ucla.edu>
18945         doc: document extern-inline
18946         * doc/extern-inline.texi: New file.
18947         * doc/gnulib.texi (alloca-opt): Include it.
18948         * m4/extern-inline.m4: Move some comments to documentation,
18949         and others closer to what they describe.
18951         doc: chatter less
18952         * doc/Makefile (NEWEST_GNULIB_TEXI_FILE): New macro.
18953         (updated-stamp): Use it.  This causes 'make' to output just
18954         one file name rather than zillions.
18956         fflush, fseeko: port to musl cross-compiles
18957         * lib/fseeko.c (fseeko): Assume that fflushing stdin works if
18958         on some implementation that (1) is not known to be buggy,
18959         (2) claims conformance to POSIX.1-2008 or later, and (3) is being
18960         cross-compiled to so we can't easily check for lack of
18961         conformance.  This is for cross-compiling to musl.
18962         Reported by Rich Felker in
18963         <http://lists.gnu.org/r/bug-gnulib/2013-06/msg00043.html>.
18964         * m4/fclose.m4 (gl_FUNC_FCLOSE):
18965         * m4/fflush.m4 (gl_FUNC_FFLUSH):
18966         * m4/fseeko.m4 (gl_FUNC_FSEEKO):
18967         Adjust to above change.
18968         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Set gl_cv_func_fflush_stdin
18969         to 'cross', not to 'no', when cross-compiling.  AC_DEFINE
18970         FUNC_FFLUSH_STDIN to 1, 0, -1 if fflushing stdin is known to work,
18971         known not to work, or unknown.
18973 2013-06-15  Paul Eggert  <eggert@cs.ucla.edu>
18975         msvc-inval: port to mingw-w64
18976         * lib/msvc-inval.c (gl_msvc_invalid_parameter_handler):
18977         Use __cdecl, not cdecl, for mingw-w64.  Reported by LRN in
18978         <http://lists.gnu.org/r/bug-gnulib/2013-06/msg00039.html>.
18980 2013-06-11  Paul Eggert  <eggert@cs.ucla.edu>
18982         getcwd-lgpl: port to Tru64
18983         * lib/getcwd-lgpl.c: Include <stdlib.h>, for malloc etc.
18984         Problem reported by Steven M. Schweda in
18985         <http://lists.gnu.org/r/bug-gzip/2013-06/msg00010.html>.
18987         tests: port large-fd POSIX spawn tests to OS X
18988         Problem reported by Daiki Ueno in
18989         <http://lists.gnu.org/r/bug-gnulib/2013-06/msg00031.html>.
18990         * tests/test-posix_spawn_file_actions_addclose.c:
18991         * tests/test-posix_spawn_file_actions_adddup2.c:
18992         * tests/test-posix_spawn_file_actions_addopen.c:
18993         Include <limits.h>, for OPEN_MAX, if available.
18994         (big_fd): New static function.
18995         (main): Use it.
18997 2013-06-04  Bernhard Voelker  <mail@bernhard-voelker.de>
18999         tests/nap.h: use an adaptive delay to avoid ctime update issues
19000         The recent change in nap.h (5191133e) decreased the probability of lost
19001         races to about a third, however such problems could still be observed
19002         in virtual machines and openSUSE's OBS.
19003         Before, nap() detected the needed time once empirically and then used
19004         that delay (together with a small correction multiplier) in further
19005         calls.  This problem has been reported and discussed several times,
19006         including guesses about possible kernel issues:
19007         https://lists.gnu.org/r/bug-gnulib/2013-04/msg00071.html
19008         http://lists.gnu.org/r/coreutils/2012-03/msg00088.html
19009         https://lists.gnu.org/r/bug-gnulib/2011-11/msg00226.html
19010         http://bugs.gnu.org/12820
19011         https://lists.gnu.org/r/bug-gnulib/2010-11/msg00113.html
19012         https://lists.gnu.org/r/bug-gnulib/2009-11/msg00007.html
19013         Now, nap() avoids the race alltogether by verifying on a reference
19014         file whether a timestamp difference has happened.
19015         * tests/nap.h (nap_fd): Define file descriptor variable for the
19016         witness file.
19017         (nap_works): Change return value to bool.  Change passing
19018         the old file's status by value instead of by reference as this function
19019         does no longer update that timestamp; rename the function argument from
19020         st to old_st.  Remove the local variables cdiff and mdiff because that
19021         function now returns true/false instead of the precise delay.
19022         (guess_delay): Remove function.
19023         (clear_tmp_file): Add new function to close and unlink the witness file.
19024         (nap): Instead of re-using the delay which has been calculated during
19025         the first call, avoid the race by actually verifying that a timestamp
19026         difference can be observed on the current file system.  Use an adaptive
19027         approach for the delay to minimize execution time.  Assert that the
19028         maximum delay is <= ~2 seconds, more precisely sum(2^n) from 0 to 30
19029         = 2^31 - 1 = 2.1s.
19030         Use atexit to call clear_tmp_file when the process terminates.
19032 2013-06-02  Paul Eggert  <eggert@cs.ucla.edu>
19034         sig2str: port to C++
19035         * lib/sig2str.h (sig2str, str2sig): Declare as extern "C".
19036         Reported by Daniel J Sebald in
19037         <http://lists.gnu.org/r/bug-gnulib/2013-06/msg00000.html>.
19039 2013-05-30  Eric Blake  <eblake@redhat.com>
19041         docs: mention cygwin shortcoming in <sys/un.h>
19042         * doc/posix-headers/sys_un.texi (sys/un.h): Mention problem.
19044         vasnprintf: silence mingw compiler warning
19045         * lib/vasnprintf.c (VASNPRINTF): Avoid unused variable warning.
19047 2013-05-29  Paul Eggert  <eggert@cs.ucla.edu>
19049         c-ctype, regex, verify: port to gcc -std=c90 -pedantic
19050         Avoid constructions that are rejected by gcc -std=c90 -pedantic.
19051         This fixes a porting bug I recently reintroduced in regex, and
19052         some other instances that I discovered while testing the fix.
19053         * lib/c-ctype.h [__STRICT_ANSI__]: Avoid ({ ... }).
19054         * lib/regcomp.c (utf8_sb_map) [__STRICT_ANSI__]: Avoid [0 ... N] = E.
19055         * lib/regex_internal.h [!_LIBC && GNULIB_LOCK]: Do not use a macro
19056         with an empty argument if this is a pedantic pre-C99 GCC.
19057         * lib/verify.h: Do not use _Static_assert if this is a pedantic
19058         pre-C11 GCC.
19060         regex: adapt to locking regime instead of depending on pthread
19061         Instead of depending on pthread, adapt to whatever thread
19062         modules are in use.  Problem reported by Ludovic Courtès in
19063         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00082.html>
19064         and by Mats Erik Andersson in
19065         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00100.html>.
19066         * lib/regex_internal.h (lock_define, lock_init, lock_fini):
19067         Support either the 'lock' module, or the 'pthread' module, or
19068         no module.
19069         (lock_lock, lock_unlock): New macros.
19070         * lib/regexec.c (regexec, re_search_stub): Use the new macros.
19071         * modules/lock, modules/pthread (configure.ac): Add module indicator.
19072         * modules/regex (Depends-on): Remove pthread.
19074 2013-05-22  Eric Blake  <eblake@redhat.com>
19076         getgroups: document portability issues
19077         * doc/glibc-functions/initgroups.texi (initgroups): Mention
19078         multithread safety.
19079         * doc/posix-functions/getpwuid.texi (getpwuid): Likewise.
19080         * doc/posix-functions/getpwuid_r.texi (getpwuid_r): Likewise.
19081         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Mention
19082         getugroups.
19083         * doc/posix-functions/getgroups.texi (getgroups): Mention
19084         multithread safety and mgetgroups.
19086 2013-05-22  Bernhard Voelker  <mail@bernhard-voelker.de>
19088         test-lchown, test-chown: also skip test if chown fails with EPERM
19089         * tests/test-lchown.h (test_lchown): Add EPERM to the condition to
19090         skip this test, to handle FAT file systems.
19091         * tests/test-chown.h (test_chown): Likewise.
19093 2013-05-19  Paul Eggert  <eggert@cs.ucla.edu>
19095         regex: fix dfa race in multithreaded uses
19096         Problem reported by Ludovic Courtès in
19097         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00058.html>.
19098         * lib/regex_internal.h (lock_define, lock_init, lock_fini):
19099         New macros.  All uses of __libc_lock_define, __libc_lock_init
19100         changed to use the first two of these.
19101         (__libc_lock_lock, __libc_lock_unlock): New macros, for
19102         non-glibc platforms.
19103         (struct re_dfa_t): Define the lock unconditionally.
19104         * lib/regexec.c (regexec, re_search_stub): Remove some now-incorrect
19105         '#ifdef _LIBC"s.
19106         * modules/regex (Depends-on): Add pthread, if we use the
19107         included regex.
19109         * lib/regcomp.c: Do actions that are not needed for glibc,
19110         but may be needed elsewhere.
19111         (regfree, re_compile_internal): Destroy the lock.
19112         (re_compile_internal): Check for lock-initialization failure.
19114         malloca: port to compilers that reject size-zero arrays
19115         This fixes a bug introduced in my previous patch.
19116         * lib/malloca.c (struct preliminary_header): Use an int
19117         rather than a character array of size int; that's simpler.
19118         (struct header): Remove, replacing with ...
19119         (union header): New type.  This avoids the need for declaring a
19120         character array of size zero, which is not allowed on some platforms.
19121         All uses changed.
19123 2013-05-18  Paul Eggert  <eggert@cs.ucla.edu>
19125         parse-datetime, tests: don't use "string" + int
19126         Recent versions of 'clang' complain about C source code that
19127         uses expressions of the form '"string literal" + integer',
19128         I guess on the theory that it's confusing for readers who are
19129         used to C++.  On those grounds I suppose it's OK to make this
19130         minor style change.
19131         * lib/parse-datetime.y (parse_datetime):
19132         * tests/test-fchdir.c (main):
19133         * tests/test-snprintf-posix.h (test_function):
19134         * tests/test-snprintf.c (main):
19135         * tests/test-vasnprintf-posix.c (test_function):
19136         * tests/test-vasnprintf.c (test_function):
19137         * tests/test-vsnprintf.c (main):
19138         * tests/unistdio/test-ulc-asnprintf1.h (test_function):
19139         Rewrite '"str" + E' to '&"str"[E]'.
19141 2013-05-17  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
19143         argmatch: port to C++
19144         * lib/argmatch.h [__cplusplus]: Add extern "C".
19146         argp: typo fix
19147         * lib/argp-help.c: Typo in comment.
19149 2013-05-15  Paul Eggert  <eggert@cs.ucla.edu>
19151         manywarnings: update for GCC 4.8.0
19152         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
19153         Add -Waggressive-loop-optimizations, -Wreturn-local-addr, which
19154         are new to GCC 4.8.  Remove -Wformat=2, -Wmissing-format-attribute,
19155         -Wmissing-noreturn, as they are duplicates of other warnings.
19156         Remove -Wunreachable-code, as it is removed in GCC 4.8 and
19157         was documented to be flaky in earlier versions of GCC.
19159         spawn-tests, sys_socket-tests, sys_wait-tests: port to clang
19160         * tests/test-spawn.c (main):
19161         * tests/test-sys_socket.c (main):
19162         * tests/test-sys_wait.c (main):
19163         Don't have a switch value that isn't covered by a case.
19165         getaddrinfo-tests: port --enable-gcc-warnings to clang
19166         * tests/test-getaddrinfo.c (simple):
19167         Avoid casts from looser to stricter-aligned pointers.
19169         thread: port --enable-gcc-warnings to clang
19170         * lib/glthread/thread.h [__clang__ && USE_POSIX_THREADS_WEAK]:
19171         Include <signal.h>, to pacify a warning about pthread_sigmask.
19173         stdio: use __REDIRECT for fwrite, fwrite_unlocked
19174         * lib/stdio.in.h (fwrite):
19175         When working around bug 11959, use __REDIRECT rather than '#define
19176         fwrite(...) ... fwrite (...) ...'.  This is a more-targeted way to
19177         fix the -Wunused-value issue with clang, and it works with GCC too.
19178         Problem with targeting reported by Eric Blake in
19179         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00067.html>.
19180         (fwrite_unlocked): Treat like fwrite.  I ran into this issue while
19181         debugging the fwrite issue.
19183         stdio: port --enable-gcc-warnings to clang
19184         * lib/stdio.in.h (fwrite) [__clang__]: Ignore -Wunused-value entirely,
19185         since the GCC workaround for fwrite does not pacify clang.
19187         sig2str: port --enable-gcc-warnings to clang
19188         * lib/sig2str.c (sig2str): Avoid warning about unused printf argument.
19190         obstack: port --enable-gcc-warnings to clang
19191         * lib/obstack.h (obstack_ptr_grow_fast, obstack_int_grow_fast):
19192         Avoid casts from looser to stricter-aligned pointers.
19194         memchr2: port --enable-gcc-warnings to clang
19195         * lib/memchr2.c (memchr2):
19196         Avoid casts from looser to stricter-aligned pointers.
19198         mbsstr: port --enable-gcc-warnings to clang
19199         * lib/mbsstr.c (knuth_morris_pratt_multibyte):
19200         Avoid casts from looser to stricter-aligned pointers.
19202         malloca: port --enable-gcc-warnings to clang
19203         * lib/malloca.c (struct header): New member 'magic', to avoid casts.
19204         (mmalloca): Avoid casts from looser to stricter-aligned pointers.
19206         inttostr: port --enable-gcc-warnings to clang
19207         * lib/anytostr.c [__clang__]: Ignore -Wtautological-compare.
19209         warnings: port to clang
19210         Problem reported by Daniel P. Berrange via Eric Blake in
19211         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00055.html>.
19212         * m4/warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS): New macro.
19213         (gl_WARN_ADD): Use it.
19215 2013-05-11  Jim Meyering  <meyering@fb.com>
19217         quotearg: do not read beyond end of buffer
19218         * lib/quotearg.c (quotearg_buffer_restyled): Do not read beyond the
19219         end of an ARG for which no length was specified.  With an N-byte
19220         quote string, (e.g., N is 3 in the fr_FR.UTF-8 locale), this function
19221         would read N-2 bytes beyond ARG's trailing NUL.  This was triggered
19222         via coreutils' misc/sort-debug-keys.sh test and detected by running
19223         the test against a binary compiled with gcc-4.8.0's -fsanitize=address.
19224         * tests/test-quotearg-simple.c (main): Add a test to trigger the bug.
19225         * modules/quotearg-simple-tests (Files): Add tests/zerosize-ptr.h.
19226         Introduced via the 2000-01-15 commit, c4b7f3f8, "Quote multibyte
19227         characters correctly."
19229 2013-05-11  Daiki Ueno  <ueno@gnu.org>
19231         lock: work around pthread recursive mutexes bug in Mac OS X 10.6
19232         * m4/lock.m4: Don't define HAVE_PTHREAD_MUTEX_RECURSIVE if the
19233         compilation target is Mac OS X 10.6.
19234         Problem reported by parafin and Andoni Morales in
19235         <http://savannah.gnu.org/bugs/?37844> and
19236         <http://lists.gnu.org/r/bug-gettext/2013-05/msg00007.html>.
19238 2013-05-11  Paul Eggert  <eggert@cs.ucla.edu>
19240         mkdir-p: remove assumptions about umask and mode
19241         * lib/mkdir-p.c (make_dir_parents): Do not assume that the current
19242         umask is 0, or that MODE is a subset of MODE_BITS.
19244 2013-05-10  Eric Blake  <eblake@redhat.com>
19246         maint.mk: catch more abuse of HAVE_DECL in syntax-check
19247         * top/maint.mk (sc_prohibit_defined_have_decl_tests): Relax regex.
19249 2013-05-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
19251         deps: require Automake >= 1.9.6 in generated Makefile fragments
19253         That is the same minimal version required in the DEPENDENCIES file.
19254         Moreover, the old code generated a requirement of Automake >= 1.5,
19255         and that is an insanely outdated version.
19257         * gnulib-tool: Bump minimal version requirement in AUTOMAKE_OPTIONS.
19258         * tests/havelib/rpathlx/Makefile.am: Likewise.
19259         * tests/havelib/rpathly/Makefile.am: Likewise.
19260         * tests/havelib/rpathlyx/Makefile.am: Likewise.
19261         * tests/havelib/rpathlz/Makefile.am: Likewise.
19262         * tests/havelib/rpathlzyx/Makefile.am: Likewise.
19263         * tests/havelib/rpathx/Makefile.am: Likewise.
19264         * tests/havelib/rpathy/Makefile.am: Likewise.
19265         * tests/havelib/rpathz/Makefile.am: Likewise.
19267 2013-05-08  Eric Blake  <eblake@redhat.com>
19269         bootstrap: AC_INIT may have more than four parameters
19270         * build-aux/bootstrap (extract_package_name): Correctly extract
19271         non-empty tarname field.  Avoid range in regex.
19272         Based on a report by Sami Kerola <kerolasa@iki.fi>.
19274 2013-05-07  Paul Eggert  <eggert@cs.ucla.edu>
19276         qacl: port to MS-Windows port of GNU Emacs
19277         * lib/acl-errno-valid.c (acl_errno_valid) [ENOTSUP == ENOSYS]:
19278         Omit the duplicate ENOTSUP case.  Needed for the MS-Windows
19279         port of GNU Emacs.  Problem reported by Eli Zaretskii in
19280         <http://bugs.gnu.org/14295#14>.
19282 2013-05-07  Mike Frysinger  <vapier@gentoo.org>
19284         acl: include quote.h
19285         * lib/copy-acl.c: Include quote.h.
19286         * lib/set-acl.c: Likewise.
19288 2013-05-06  Mike Frysinger  <vapier@gentoo.org>
19290         fchownat, renameat, unlinkat: update statat dependencies
19291         These modules use statat and lstatat, not fstatat; so depend on
19292         the statat module, which was split out recently from fstatat.
19293         * modules/fchownat, modules/unlinkat: Change fstatat to statat.
19294         * modules/renameat: Likewise.  Also delete fstat.
19295         URL: http://bugs.gentoo.org/468790
19297 2013-05-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
19299         Assume gnulib is checked out from Git, not CVS
19301         In fact, access to the gnulib repository through CVS has been
19302         disabled, or more precisely, got broken and was never restored; see:
19303         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00008.html>
19305         Note that support for CVS is not removed completely and unthinkingly
19306         by this change: only support for CVS checkouts of gnulib itself is
19307         removed.  For example, the 'bootstrap' script still cater to .cvsingore
19308         files and CVS directories, for the benefit of those poor gnulib clients
19309         still stuck with CVS.  Ditto for the 'gnulib-tool' script itself.
19311         * gnulib-tool: Simplify accordingly.
19312         * posix-modules: Likewise.
19313         * MODULES.html.sh: Likewise.
19314         * doc/gnulib.texi: No longer mention the decommissioned CVS gnulib
19315         repository.
19316         * doc/gnulib-intro.texi: Likewise.
19317         * doc/gnulib-readme.texi: Likewise.
19318         * doc/gnulib-tool.texi: In the examples and explanations, refer to a
19319         sample '.gitignore' file rather than a sample '.cvsignore'.
19320         * NEWS: Update.
19321         * m4/extensions.m4: While at it, remove a comment mistakenly referring
19322         to "CVS Autoconf" rather than "git Autoconf".
19324 2013-04-30  Paul Eggert  <eggert@cs.ucla.edu>
19326         utimensat-tests, etc.: try to fix some races
19327         Problem reported by Bernhard Voelker in
19328         <http://lists.gnu.org/r/bug-gnulib/2013-04/msg00071.html>.
19329         I don't know whether this patch fixes that race condition, but it
19330         fixes *some* race conditions, so it should be a win.
19331         * modules/chown-tests (Depends-on):
19332         * modules/fchownat-tests (Depends-on):
19333         * modules/fdutimensat-tests (Depends-on):
19334         * modules/futimens-tests (Depends-on):
19335         * modules/lchown-tests (Depends-on):
19336         * modules/stat-time-tests (Depends-on):
19337         * modules/utimens-tests (Depends-on):
19338         * modules/utimensat-tests (Depends-on):
19339         Depend on nanosleep, not usleep.
19340         * modules/chown-tests (test_chown_LDADD):
19341         * modules/lchown-tests (test_lchown_LDADD):
19342         * modules/stat-time-tests (test_stat_time_LDADD):
19343         New macro.
19344         * modules/fchownat-tests (test_fchownat_LDADD):
19345         * modules/fdutimensat-tests (test_fdutimensat_LDADD):
19346         * modules/futimens-tests (test_futimens_LDADD):
19347         * modules/utimens-tests (test_utimens_LDADD):
19348         * modules/utimensat-tests (test_utimensat_LDADD):
19349         Add $(LIB_NANOSLEEP).
19350         * modules/stat-time-tests (Files): Add tests/nap.h.
19351         * tests/nap.h: Include <limits.h>, for INT_MAX.
19352         (lt_mtime): Remove.
19353         (diff_timespec): New function.
19354         (get_stat): Rename from get_mtime.  All callers changed.
19355         (nap_works): Determine the needed delay by inspecting the
19356         file system's timestamp jumps; this should be more reliable.
19357         Look at both mtime and ctime, and take the maximum of the two jumps.
19358         (nap_works, guess_delay):
19359         Return a nanosecond count, not a microsecond count.
19360         All callers changed.
19361         (nap_works, nap): Use nanosleep, not usleep.  Check for nanosleep
19362         failure.
19363         (nap): Multiply the guess by 1.125, to accommodate the case where
19364         the file system's clock is a bit slower than nanosleep's clock.
19365         * tests/test-stat-time.c (BASE): New macro.
19366         Include nap.h.
19367         (nap): Remove; nap.h now defines this.  This removes a duplicate
19368         implementation of 'nap'.
19370         utimens, utimensat: work around Solaris UTIME_OMIT bug
19371         Solaris 11.1 and Solaris 10 have the same UTIME_OMIT bug that
19372         Linux kernel 2.6.32 does.  Work around it in the same way.
19373         * doc/posix-functions/futimens.texi (futimens):
19374         * doc/posix-functions/utimensat.texi (utimensat): Document the bug.
19375         * lib/utimens.c (fdutimens, lutimens):
19376         * lib/utimensat.c (rpl_utimensat): Work around the bug.
19378         gettext: now it's your responsibility to add -I$(top_builddir)/intl
19379         Formerly, it was your responsibility to do this for all Makefile.ams
19380         other than Gnulib's.  Now it's your responsibility to do it for
19381         Gnulib's Makefile.am, too.
19382         * NEWS: Document this.
19383         * modules/gettext (AM_CPPFLAGS): Don't append -$(top_builddir)/intl.
19385         acl: include errno.h to get errno
19386         Reported by Daiki Ueno in
19387         <http://lists.gnu.org/r/bug-gnulib/2013-04/msg00073.html>.
19388         * lib/copy-acl.c, lib/set-acl.c: Include errno.h.
19390 2013-04-29  Paul Eggert  <eggert@cs.ucla.edu>
19392         tests: don't assume getdtablesize () <= 10000000
19393         * modules/cloexec-tests:
19394         * modules/dup2-tests:
19395         * modules/dup3-tests:
19396         * modules/nonblocking-tests:
19397         * modules/posix_spawn_file_actions_addclose-tests:
19398         * modules/posix_spawn_file_actions_adddup2-tests:
19399         * modules/posix_spawn_file_actions_addopen-tests:
19400         * modules/unistd-safer-tests:
19401         Depend on the getdtablesize module.
19402         * tests/test-cloexec.c:
19403         * tests/test-dup-safer.c:
19404         * tests/test-dup2.c:
19405         * tests/test-dup3.c:
19406         * tests/test-fcntl.c:
19407         * tests/test-nonblocking.c:
19408         * tests/test-posix_spawn_file_actions_addclose.c:
19409         * tests/test-posix_spawn_file_actions_adddup2.c:
19410         * tests/test-posix_spawn_file_actions_addopen.c:
19411         Don't assume getdtablesize () <= 10000000.
19413 2013-04-28  Paul Eggert  <eggert@cs.ucla.edu>
19415         extern-inline: work around bug in Sun c99
19416         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE):
19417         Work around bug in Sun C 5.12 c99's implementation of 'inline'.
19419 2013-04-27  Paul Eggert  <eggert@cs.ucla.edu>
19421         qacl: new module, broken out from the acl module
19422         This is for GNU Emacs, which wants the acl functions but does
19423         not want 'error' invoked when they fail.
19424         * lib/acl-internal.h: Do not include error.h, quote.h.
19425         (ENOSYS, ENOTSUP): Remove; no longer needed.
19426         (ACL_NOT_WELL_SUPPORTED): Remove; replaced by acl_errno_valid.
19427         * lib/acl.h: Include <stdbool.h>.
19428         (acl_errno_valid): New function.
19429         * lib/copy-acl.c, lib/set-acl.c: Include errno,h, not acl-internal.h.
19430         * lib/copy-acl.c (qcopy_acl): Move to lib/qcopy-acl.c.
19431         * lib/set-acl.c: Rename from lib/set-mode-acl.c.
19432         (chmod_or_fchmod, qset_acl): Move to lib/qset-acl.c.
19433         (ACL_INTERNAL_INLINE): Remove; no longer needed.
19434         * lib/file-has-acl.c (file_has_acl):
19435         * lib/qcopy-acl.c (qcopy_acl):
19436         * lib/qset-acl.c (qset_acl):
19437         Use acl_errno_valid instead of ACL_NOT_WELL_SUPPORTED.
19438         * modules/acl (Files): Move lib/acl.h, lib/acl-internal.h,
19439         lib/acl_entries.c, lib/set-mode-acl.c (renamed to lib/set-acl.c),
19440         lib/file-has-acl.c, m4/acl.m4 to qacl module.
19441         Add lib/set-acl.c.
19442         (Depends-on): Move extern-inline, fstat, sys_stat to qacl module.
19443         Add qacl.
19444         (configure.ac): Move gl_FUNC_ACL to qacl module.
19445         (lib_SOURCES): Remove file-has-acl.c (moved to qacl module).
19446         Rename set-mode-acl.c to set-acl.c.
19447         * lib/acl-errno-valid.c: New file.
19448         * lib/qcopy-acl.c: New file, moved from the old lib/copy-acl.c; the
19449         copy_acl function remains in copy-acl.c.
19450         * lib/qcopy-acl.c, lib/qset-acl.c: Do not include gettext.h.
19451         (_): Remove; not needed.
19452         * lib/qset-acl.c: New file, moved from the old lib/set-mode-acl.c; the
19453         set_acl function remains in set-acl.c (renamed from set-mode-acl.c).
19454         * modules/qacl: New file, moved from the old modules/acl.
19455         (Files, lib_SOURCES): Add acl-errno-valid.c, qcopy-acl.c, qset-acl.c.
19456         Remove set-mode-acl.c, copy-acl.c.
19457         (Depends-on): Remove error, gettext-h, quote.  Add stdbool.
19459         alignof, intprops, malloca: port better to IBM's C compiler
19460         * lib/alignof.h (alignof_type) [__IBM_ALIGNOF__]: Use __alignof__.
19461         * lib/intprops.h (_GL_HAVE___TYPEOF__) [__IBM_TYPEOF__]: Now 1.
19462         * lib/malloca.h (sa_alignof): [__IBM_ALIGNOF__]: Use __alignof__.
19464 2013-04-25  Daiki Ueno  <ueno@gnu.org>
19466         wctype-h: fix gettext link error on mingw
19467         Reported by Josue Andrade Gomes and Takayuki Tsunakawa in
19468         <https://lists.gnu.org/r/bug-gettext/2013-03/msg00086.html>.
19469         * lib/wctype.in.h [__MINGW32__]: Include <ctype.h> before defining
19470         rpl_towupper and rpl_towupper.
19472 2013-04-11  Dmitry V. Levin  <ldv@altlinux.org>
19474         regex-tests, regex: allow glibc re_search behavior
19475         * tests/test-regex.c (main): In test for glibc bug 15078, reformat
19476         re_search input data to make the multi-character collating element
19477         in it clearly visible, and treat re_search return code 0 as valid.
19478         * m4/regex.m4 (gl_REGEX): Likewise.
19480 2013-03-30  Paul Eggert  <eggert@cs.ucla.edu>
19482         stdalign: doc fix
19483         * doc/posix-headers/stdalign.texi (stdalign.h):
19484         Gnulib doesn't support '_Alignof expr'.
19486 2013-03-29  Paul Eggert  <eggert@cs.ucla.edu>
19488         stdalign: port to stricter ISO C11
19489         ISO C11 says that _Alignof's operand must be a parenthesized type.
19490         Problem reported by Eli Zaretskii in
19491         <http://lists.gnu.org/r/emacs-devel/2013-03/msg00960.html>.
19492         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
19493         * m4/stdalign.m4 (gl_STDALIGN_H): Don't use _Alignof (expr).
19495 2013-03-21  Paul Eggert  <eggert@cs.ucla.edu>
19497         sys_select, sys_time: port 2013-01-30 Solaris 2.6 fix to Cygwin
19498         Problem reported by Marco Atzeri in
19499         <http://lists.gnu.org/r/bug-gnulib/2013-03/msg00000.html>.
19500         * lib/sys_select.in.h [HAVE_SYS_SELECT_H && _CYGWIN_SYS_TIME_H]:
19501         Simply delegate to the system <sys/select.h> in this case too.
19502         Also, pay attention to _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TIME_H only
19503         if OSF/1, since otherwise Cygwin breaks, and it doesn't seem to
19504         be needed on Solaris either.
19505         * lib/sys_time.in.h [_CYGWIN_SYS_TIME_H]:
19506         Simply delegate to the system <sys/time.h> in this case.
19508 2013-03-19  Karl Berry  <karl@gnu.org>
19510         * build-aux/gnupload: check for erroneous (with gnupload) use of
19511         ftp-upload.gnu.org, tweak help.
19513 2013-03-19  Paul Eggert  <eggert@cs.ucla.edu>
19515         copy-file, rpmatch: fix problems found by cppcheck
19516         Reported by Arno Onken in
19517         <http://lists.gnu.org/r/bug-gnulib/2013-03/msg00069.html>.
19518         * lib/rpmatch.c (try): Fix memory leak.
19519         * lib/copy-file.c: Include "ignore-value.h".
19520         (qcopy_file_preserving): Ignore chown value.
19521         * modules/copy-file (Depends-on): Add ignore-value.
19523 2013-01-27  Jim Meyering  <jim@meyering.net>
19525         prefix-gnulib-mk: give better diagnostics
19526         * build-aux/prefix-gnulib-mk: Don't just "die".
19527         Give better diagnostics upon failure.
19529 2013-03-13  Paul Eggert  <eggert@cs.ucla.edu>
19531         putenv: port to Solaris 10
19532         * lib/putenv.c (_unsetenv, putenv): Use HAVE_DECL__PUTENV, not
19533         HAVE__PUTENV.  Solaris 10 has a _putenv that's not declared and
19534         is not what is wanted here.
19535         * m4/putenv.m4 (gl_PREREQ_PUTENV): Check for _putenv's
19536         declaration, not for its existence.
19538 2013-03-12  Paul Eggert  <eggert@cs.ucla.edu>
19540         mktime: fix configure typo
19541         * m4/mktime.m4 (gl_FUNC_MKTIME): Fix typo in previous change.
19543 2013-03-12  Eric Blake  <eblake@redhat.com>
19545         regex-tests: skip UTF-8 test on mingw
19546         * modules/regex-tests (Depends-on): Add localcharset.
19547         * tests/test-regex.c (main): Use it to skip test on mingw.
19549 2013-03-11  Eric Blake  <eblake@redhat.com>
19551         tests: make it easier to bypass alarm time in debugger
19552         * tests/test-file-has-acl.c (main): Allow gdb to override alarm.
19553         * tests/test-memmem.c (main): Likewise.
19554         * tests/test-passfd.c (main): Likewise.
19555         * tests/test-ptsname.c (main): Likewise.
19556         * tests/test-ptsname_r.c (main): Likewise.
19557         * tests/test-strcasestr.c (main): Likewise.
19558         * tests/test-strstr.c (main): Likewise.
19560         regex: port to mingw's recent addition of undeclared alarm
19561         * doc/posix-functions/alarm.texi (alarm): Document that alarm
19562         exists but still doesn't work in newer mingw.
19563         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm declaration,
19564         not existence.  Ensure SIGALRM is not trapped.
19565         * m4/mktime.m4 (gl_FUNC_MKTIME): Likewise.
19566         * m4/regex.m4 (gl_REGEX): Likewise.
19567         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): Likewise.
19568         * tests/test-regex.c (main): Use correct probe for alarm.
19570         putenv: avoid compilation warning on mingw
19571         * lib/putenv.c (_unsetenv): Protect variable declaration.
19572         (putenv): Fix indentation.
19574 2013-03-11  Gary V. Vaughan  <gary@gnu.org>
19576         unistd: don't prevent Tru64 Unix from using gnulib strtod.
19577         * lib/unistd.in.h: be careful not to include un-needed system
19578         stdlib.h from here, because that prevents gnulib stdlib.h from
19579         defining rpl_strtod correctly.
19581 2013-03-09  Gary V. Vaughan  <gary@gnu.org>
19583         vasprintf-posix-tests: allow rounding 1.51 to 1, per the previous
19584         changesets, but for the 'precision 0' test.
19585         * tests/test-vasprintf-posix.c (test_function): Don't insist on
19586         round-to-even, since POSIX says rounding is implementation-defined
19587         and OS X 10.8.2 rounds 1.51 to 1 here.
19589         vasprintf-posix-tests: allow rounding 1.5 to 1, per the previous
19590         changeset.
19591         * tests/test-vasprintf-posix.c (test_function): Don't insist on
19592         round-to-even, since POSIX says rounding is implementation-defined
19593         and OS X 10.8.2 rounds 1.5 to 1 here.
19595 2013-03-08  Paul Eggert  <eggert@cs.ucla.edu>
19597         vasnprintf-posix-tests: allow rounding 1.5 to 1
19598         * tests/test-vasnprintf-posix.c (test_function): Don't insist on
19599         round-to-even, since POSIX says rounding is implementation-defined
19600         and OS X 10.8.2 rounds 1.5 to 1 here.  Reported by Gary V. Vaughan in
19601         <http://lists.gnu.org/r/bug-gnulib/2013-03/msg00019.html>.
19603         bootstrap: port to FreeBSD
19604         * build-aux/bootstrap (bootstrap_sync): Port sh -c usage to shells
19605         that treat '--' differently.  Reported by Mats Erik Andersson in
19606         <http://lists.gnu.org/r/bug-gnulib/2013-03/msg00012.html>.
19608 2013-03-08  Gary V. Vaughan  <gary@gnu.org>
19610         regex: rename remaining __attribute calls to __attribute__.
19611         2012-02-25 changed definition of __attribute, but left some uses
19612         unchanged, preventing compilation of regex module on most non-gcc
19613         environments.
19614         * lib/regcomp.c (re_set_fastmap, seek_collating_symbol_entry)
19615         (lookup_collation_sequence_value, build_range_exp)
19616         (build_collating_symbol): Set attributes with newly renamed
19617         __attribute__ decorator.
19618         * lib/regex_internal.c (re_string_peek_byte_case)
19619         (re_node_set_compare, re_node_set_contains): Likewise.
19620         * lib/regexec.c (acquire_init_state_context): Likewise.
19622 2013-03-06  Bruno Haible  <bruno@clisp.org>
19624         execute: Revert last change, but use a different condition.
19625         * lib/execute.c (nonintr_close, nonintr_open): Reintroduce, but only
19626         on Windows.
19628 2013-03-05  Eric Blake  <eblake@redhat.com>
19630         execute: drop dead code
19631         * lib/execute.c (nonintr_close, nonintr_open): Delete.
19633 2013-03-04  Paul Eggert  <eggert@cs.ucla.edu>
19635         non-recursive-gnulib-prefix-hack: port coreutils 8.21 to HP NonStop
19636         * m4/non-recursive-gnulib-prefix-hack.m4
19637         (gl_NON_RECURSIVE_GNULIB_PREFIX_HACK): Don't mess with ALLOCA.
19638         Problem reported for HP NonStop + coreutils 8.21 by Joachim Schmitz in
19639         <http://bugs.gnu.org/10305#237>.
19641 2013-03-04  Eric Blake  <eblake@redhat.com>
19643         test-getsockopt: avoid compiler warning
19644         * tests/test-getsockopt.c (includes): Ensure close is declared.
19646 2013-03-02  Bruno Haible  <bruno@clisp.org>
19648         sys_types: Avoid autoconf warning about gl_SYS_TYPES_H.
19649         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Define through AC_DEFUN_ONCE.
19651 2013-03-02  Bruno Haible  <bruno@clisp.org>
19653         gettext: Update to version 0.18.2.
19654         * m4/intl.m4, m4/po.m4: Update from gettext-0.18.2. In particular:
19655         2012-12-07  Stefano Lattarini  <stefano.lattarini@gmailcom>
19656                 * intl.m4, po.m4: Bump requirement in AC_PREREQ to 2.60.
19658 2013-02-25  Paul Eggert  <eggert@cs.ucla.edu>
19660         regex: merge patches from libc
19662         2013-02-26  Siddhesh Poyarekar  <siddhesh@redhat.com>
19663         * lib/regex_internal.h (__attribute__): Rename from __attribute.
19664         All uses changed.
19665         (bitset_not, bitset_merge, bitset_mask, re_string_char_size_at)
19666         (re_string_wchar_at, re_string_elem_size_at):
19667         Mark function as possibly unused.
19669         2013-02-12  Andreas Schwab  <schwab@suse.de>  [BZ #11561]
19670         * lib/regcomp.c (parse_bracket_exp) [_LIBC]: When looking up collating
19671         elements compare against the byte sequence of it, not its name.
19673 2013-02-21  Paul Eggert  <eggert@cs.ucla.edu>
19675         putenv: port better to native Windows
19676         * lib/putenv.c [(_WIN32 || __WIN32__) && ! __CYGWIN__]:
19677         Define WIN32_LEAN_AND_MEAN and include <windows.h>.
19678         (_unsetenv): Use _putenv if available.
19679         (putenv): Temporarily set NAME=' ' rather than NAME='x' as that's
19680         a bit less likely to cause damage.
19681         (putenv) [(_WIN32 || __WIN32__) && ! __CYGWIN__]:
19682         Fix the wrong value with SetEnvironmentVariable.
19683         (putenv) [!HAVE__PUTENV]: Simplify and match the HAVE__PUTENV
19684         code better.
19686 2013-02-20  Paul Eggert  <eggert@cs.ucla.edu>
19688         regex: ignore old-style-definition warnings
19689         * lib/regex.c: Add pragma to ignore these warnings.
19690         Problem reported for GNU tar by Pavel Raiskup.
19692 2013-02-19  Paul Eggert  <eggert@cs.ucla.edu>
19694         getcwd: support coreutils better
19695         Like strtod, getcwd incorrectly referred to HAVE_RAW_DECL_GETCWD,
19696         but this might not be correct in coreutils, which disables
19697         the raw decl checks.  Problem reported by Nagendra in
19698         <http://bugs.gnu.org/10305#192>.
19699         * lib/getcwd.c (__getcwd): Do not depend on HAVE_RAW_DECL_GETCWD.
19700         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
19701         Test the getcwd function, not any macro, since getcwd.c wants the
19702         function.
19703         * m4/getcwd.m4 (gl_FUNC_GETCWD):
19704         Don't define HAVE_MINIMALLY_WORKING_GETCWD if the code doesn't
19705         compile, as might happen if there's a macro but no function.
19707         strtod: support coreutils better
19708         * lib/strtod.c (underlying_strtod): Just invoke the underlying strtod.
19709         HAVE_RAW_DECL_STRTOD might not be correct in coreutils, which
19710         disables the raw decl checks.  This assumes there is an underlying
19711         strtod, but that's a safe assumption these days.
19712         (HAVE_RAW_DECL_STRTOD): Remove; no longer used.
19714         mountlist: port to HP NonStop
19715         Reported by Joachim Schmitz in
19716         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00084.html>.
19717         * lib/mountlist.c (hasmntopt) [!HAVE_HASMNTOPT]: New function.
19718         (MNT_IGNORE) [MNTOPT_IGNORE]: Use it.
19720 2013-02-18  Paul Eggert  <eggert@cs.ucla.edu>
19722         extern-inline: avoid compilation error with HP-UX cc
19723         Reported by Richard Lloyd in
19724         <http://lists.gnu.org/r/bug-texinfo/2013-02/msg00030.html>.
19725         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE):
19726         Suppress extern inline with HP-UX cc.  This should be safe,
19727         though it may hurt performance.  Perhaps someone with some HP-UX
19728         experience can come up with a higher-performance fix.
19730 2013-02-14  Paul Eggert  <eggert@cs.ucla.edu>
19732         putenv: fix heap corruption with mixed putenv/_putenv
19733         Problem reported by Michael Goffioul in
19734         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00061.html>.
19735         * lib/putenv.c (putenv) [HAVE__PUTENV]:
19736         Rely on _putenv to allocate the new environment.
19737         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
19738         * modules/putenv (configure.ac): Use it.
19740 2013-02-11  Paul Eggert  <eggert@cs.ucla.edu>
19742         unsetenv etc.: port to Solaris 11 + GNU Emacs
19743         * lib/canonicalize-lgpl.c, lib/getaddrinfo.c, lib/getdelim.c:
19744         * lib/glob.c, lib/random_r.c, lib/setenv.c, lib/tsearch.c:
19745         * lib/unsetenv.c (_GL_ARG_NONNULL): Define before including <config.h>.
19746         GNU Emacs's <config.h> includes <stdlib.h> (which is not a great
19747         idea but is too painful to fix right now), and without this gnulib
19748         change <stdlib.h> was defining _GL_ARG_NONNULL incorrectly when
19749         compiling unsetenv.c on Solaris 11.  Fix the problem for
19750         unsetenv.c, and fix other similar occurrences.
19752 2013-02-09  Paul Eggert  <eggert@cs.ucla.edu>
19754         secure_getenv: fix C++ declaration typo
19755         * lib/stdlib.in.h (secure_getenv): Fix typo with return type
19756         in _GL_CXXALIAS_SYS macro.  Reported by John W. Eaton in
19757         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00057.html>.
19759 2013-02-08  Paul Eggert  <eggert@cs.ucla.edu>
19761         careadlinkat: stop exporting careadlinkatcwd
19762         Only Emacs used it directly, and Emacs no longer needs it.
19763         * NEWS: Document this simplification.
19764         * lib/areadlink.c (careadlinkatcwd): Move here from careadlinkat.c,
19765         and make it static.  Include <stdlib.h>, for abort, and unistd.h,
19766         for readlink.
19767         * lib/careadlinkat.c (careadlinkatcwd): Move to areadlink.c.
19768         Don't include stdlib.h; no longer needed.
19769         * lib/careadlinkat.h (careadlinkatcwd): Remove decl.
19770         * lib/relocwrapper.c: Adjust comment to match new dependencies.
19771         * modules/areadlink (Depends-on): Add readlink.
19772         (Maintainer): Add self.
19773         * modules/careadlinkat (Depends-on): Remove readlink.
19775         extensions: port better to HP-UX
19776         This is merged from git Autoconf.
19777         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
19778         On hosts that need _XOPEN_SOURCE, define it when configuring, too,
19779         so that it's compatible with the value used when compiling.
19781         openpty: fix bug where HAVE_OPENPTY is mistakenly 1
19782         Problem reported by Mats Erik Andersson in
19783         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00051.html>.
19784         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the
19785         openpty function exists, not merely when we intend to replace it.
19786         This corrects the 2013-01-31 patch, which mistakenly defined
19787         HAVE_OPENPTY even on hosts that lacked it.
19789 2013-02-07  Paul Eggert  <eggert@cs.ucla.edu>
19791         secure_getenv: fix include typo
19792         * lib/secure_getenv.c: Include config.h.  Somehow I forgot!
19794         secure_getenv: port better to FreeBSD and Solaris
19795         * lib/secure_getenv.c [!HAVE___SECURE_GETENV]:
19796         Include unistd.h if HAVE_ISSETUGID, otherwise define a dummy issetugid.
19797         (secure_getenv) [!HAVE___SECURE_GETENV]: Use getenv if not issetugid.
19798         This works better on BSDish platforms.
19799         * m4/secure_getenv.m4 (gl_PREREQ_SECURE_GETENV):
19800         Test for issetugid if __secure_getenv is missing.
19802 2013-02-06  Paul Eggert  <eggert@cs.ucla.edu>
19804         extensions: port better to MINIX 3, HP-UX, autoheader 2.62
19805         Some of these changes are merged in from git Autoconf.
19806         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
19807         When deciding whether to define _XOPEN_SOURCE, inspect the
19808         preprocessor macro __hpux instead of the more-heavyweight
19809         operation of requiring AC_CANONICAL_HOST.  Define _NETBSD_HOST on
19810         MINIX, for MINIX 3.  Use USE_SYSTEM_EXTENSIONS, not __EXTENSIONS__,
19811         as the key for __EXTENSIONS__.
19813         unistd: avoid namespace pollution on non-glibc systems
19814         * lib/unistd.in.h: #define __need_getopt before including <getopt.h>.
19815         This avoids namespace pollution on non-glibc systems, by causing
19816         gnulib unistd.h to behave more like glibc unistd.h.  I also hope
19817         that this fixes a bug on FreeBSD, reported by Mats Erik Andersson in
19818         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00027.html>.
19820 2013-02-04  Paul Eggert  <eggert@cs.ucla.edu>
19822         tmpdir: use secure_getenv
19823         * lib/tmpdir.c (__secure_getenv) [!LIBC]:
19824         Define to secure_getenv, not getenv.
19825         * m4/tmpdir.m4 (gt_TMPDIR): Don't check for __secure_getenv,
19826         as that's now secure_getenv's job.
19827         * modules/tmpdir (Depends-on): Add secure_getenv.
19829         tempname: use secure_getenv
19830         * lib/tempname.c (__secure_getenv) [!_LIBC]:
19831         Define to secure_getenv, not getenv.
19832         * modules/tempname (Depends-on):
19833         Add secure_getenv.
19835         secure_getenv: new module
19836         * MODULES.html.sh (Extra functions based on ANSI C 89):
19837         Add secure_getenv.
19838         * doc/glibc-functions/secure_getenv.texi: New file.
19839         * doc/gnulib.texi: Include it.
19840         * lib/secure_getenv.c, m4/secure_getenv.m4, modules/secure_getenv:
19841         New files.
19842         * lib/stdlib.in.h (secure_getenv): New decl.
19843         * m4/stdlib_h.m4 (gl_STDLIB_H, gl_STDLIB_H_DEFAULTS):
19844         * modules/stdlib (stdlib.h):
19845         Add secure_getenv checks.
19847 2013-02-03  Paul Eggert  <eggert@cs.ucla.edu>
19849         getcwd: break fdopendir + save_cwd recursive loop (Bug#13516)
19850         Reported for OS X 10.8.2 by Assaf Gordon in
19851         <http://bugs.gnu.org/13516>.
19852         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Do not define if
19853         !HAVE_OPENAT && !HAVE_FDOPENDIR.
19854         * m4/getcwd-abort-bug.m4: Reformat to match test-getcwd.c
19855         so that they can be kept in sync more easily.  Avoid PATH_MAX
19856         test on the Hurd.  Sync from test-getcwd.c for errno tests after
19857         mkdir or chdir failure.
19858         * tests/test-getcwd.c (HAVE_OPENAT_SUPPORT): New macro, from
19859         lib/getcwd.c.
19860         (test_abort_bug): Do not test for the deep directory bug unless we
19861         have openat support.  Avoid PATH_MAX test on the Hurd.
19863         regex-tests, regex: fix bug: memset undeclared
19864         * tests/test-regex.c: Don't include regex.h twice.  Include
19865         string.h, to declare memset.  Christensen's report also mentioned
19866         this issue.
19867         * m4/regex.m4 (gl_REGEX): Keep test program more in sync with
19868         test-regex.c, to avoid future problems like this.  Remove
19869         AC_INCLUDES_DEFAULT.  Include <string.h>.  Don't include <regex.h>
19870         twice.
19872         regex-tests: fix link errors on older Solaris
19873         These need to link with @LIBINTL@ to get libintl_gettext.
19874         Problem reported by Tom G. Christensen in
19875         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00003.html>.
19876         * modules/regex-tests (test_regex_LDADD): New macro.
19878 2013-01-31  Paul Eggert  <eggert@cs.ucla.edu>
19880         regex-tests: new module
19881         * modules/regex-tests, tests/test-regex.c: New files.
19883         regex: fix off-by-one error in configure test
19884         * m4/regex.m4 (gl_REGEX): Test should return 21, not 20.
19886 2013-01-31  Eric Blake  <eblake@redhat.com>
19888         regex: avoid infinite configure test
19889         * m4/regex.m4 (gl_REGEX): Add an alarm escape hatch.
19891 2013-01-31  Reuben Thomas  <rrt@sc3d.org>
19893         openpty: fix bug where HAVE_OPENPTY wasn't defined
19894         See the thread starting at:
19895         http://lists.gnu.org/r/bug-gnulib/2013-01/msg00185.html
19896         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the
19897         openpty function exists, not merely when we intend to replace it.
19899 2013-01-30  Paul Eggert  <eggert@cs.ucla.edu>
19901         sys_time: port to Solaris 2.6
19902         There is a circularity problem on Solaris 2.6, where <time.h> includes
19903         <sys/time.h> for struct timespec.  The include nesting is gnulib
19904         <time.h>, system <time.h>, gnulib <sys/time.h>, system
19905         <sys/time.h>, gnulib <sys/types.h>, system <sys/types.h>, gnulib
19906         <sys/select.h>, gnulib <signal.h>, system <sys/signal.h>, system
19907         <sys/siginfo.h>; the last, innermost file needs struct
19908         timestruc_t, which is defined in <sys/time.h>, which has not been
19909         fully parsed.  Problem reported by Tom G. Christensen in
19910         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00113.html>.
19911         * lib/sys_select.in.h: Treat Solaris 2.6's problem with
19912         <sys/time.h> and <sys/types.h> like OSF/1's similar problem.
19913         * lib/sys_time.in.h: Redo to resemble sys_select.in.h, which
19914         uses split double-inclusion guards.
19916 2013-01-29  Paul Eggert  <eggert@cs.ucla.edu>
19918         regex: test for buffer overrun
19919         * m4/regex.m4 (gl_REGEX): Add test case, by Andreas Schwab,
19920         for the just-fixed regex bug.
19922 2013-01-29  Andreas Schwab  <schwab@suse.de>
19924         regex: fix buffer overrun in regexp matcher [BZ #15078]
19925         * lib/regexec.c (extend_buffers): Add parameter min_len.
19926         (check_matching): Pass minimum needed length.
19927         (clean_state_log_if_needed): Likewise.
19928         (get_subexp): Likewise.
19930 2013-01-28  Pádraig Brady  <P@draigBrady.com>
19932         mountlist: don't consider "devtmpfs" as dummy
19933         * lib/mountlist.c (ME_DUMMY_0): Remove "devtmpfs"
19934         as there is storage associcated with it.
19936 2013-01-27  Paul Eggert  <eggert@cs.ucla.edu>
19938         futimens-tests, utimens-tests: Depend on gettext.
19939         This works around a problem introduced in my 2013-01-12 patch,
19940         which added @LIBINTL@ to these modules.
19941         * modules/futimens-tests (Depends-on):
19942         * modules/utimens-tests (Depends-on): Add gettext.
19944 2013-01-26  Eric Blake  <eblake@redhat.com>
19946         test-getpeername: fix typo
19947         * tests/test-getpeername.c: Fix typo introduced in fd cleanup.
19949 2013-01-20  Bernhard Voelker  <mail@bernhard-voelker.de>
19951         bootstrap: remove the need for a sorted .gitignore file
19952         * build-aux/bootstrap (insert_sorted_if_absent): Adjust and
19953         rename to insert_if_absent(), so that we don't need or generate
19954         a sorted .gitignore file.  We do require a .gitignore with no
19955         existing duplicate entries and enforce that.
19956         (sort_patterns): Remove this function as we now use the simpler
19957         technigue of inserting blacklist entries at the top of the file,
19958         assuming gnulib won't be inserting !whitelist entries.
19960 2013-01-23  Paul Eggert  <eggert@cs.ucla.edu>
19962         readlinkat: don't depend on gl_FUNC_OPENAT
19963         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Don't require gl_FUNC_OPENAT.
19964         Perhaps a similar change needs to be made for linkat.m4, mkfifoat.m4,
19965         renameat.m4, symlinkat.m4; but one thing at a time.
19967         statat: new module, split out from fstatat
19968         GNU Emacs needs the POSIX-specified fstatat, but not the
19969         gnulib-specified statat and lstat.  Split the latter two into a
19970         new module 'statat'.
19971         * lib/openat.h: Depend on GNULIB_STATAT, not GNULIB_FSTATAT.
19972         * lib/openat.h, lib/statat.c (STATAT_INLINE):
19973         Rename from FSTATAT_INLINE. All uses changed.
19974         * modules/fstatat (Files): Remove lib/statat.c.
19975         (gl_MODULE_INDICATOR([fstatat])): Remove.
19976         (lib_SOURCES): Remove.
19977         (Maintainer): Add self.
19978         * modules/statat, modules/statat-tests, tests/test-statat.c: New files.
19979         * tests/test-fstatat.c (BASE): Don't define if already defined.
19980         (do_stat, do_lstat) [!TEST_STATAT]: Test fstatat instead.
19982 2013-01-22  Paul Eggert  <eggert@cs.ucla.edu>
19984         tests: don't assume fd 99 is closed
19985         * tests/test-accept.c, tests/test-accept4.c, tests/test-bind.c:
19986         * tests/test-close.c, tests/test-connect.c, tests/test-dprintf.c:
19987         * tests/test-dup.c, tests/test-dup2.c, tests/test-faccessat.c:
19988         * tests/test-fchdir.c, tests/test-fchmod.c, tests/test-fchmodat.c:
19989         * tests/test-fchown.c, tests/test-fchownat.c, tests/test-fclose.c:
19990         * tests/test-fdatasync.c, tests/test-fdopen.c, tests/test-fdopendir.c:
19991         * tests/test-fflush.c, tests/test-fgetc.c, tests/test-fputc.c:
19992         * tests/test-fread.c, tests/test-freopen.c, tests/test-fseeko4.c:
19993         * tests/test-fstat.c, tests/test-fstatat.c, tests/test-fsync.c:
19994         * tests/test-ftello4.c, tests/test-ftruncate.c, tests/test-futimens.h:
19995         * tests/test-fwrite.c, tests/test-getpeername.c:
19996         * tests/test-getsockname.c, tests/test-getsockopt.c:
19997         * tests/test-grantpt.c, tests/test-ioctl.c, tests/test-isatty.c:
19998         * tests/test-linkat.c, tests/test-listen.c, tests/test-lseek.c:
19999         * tests/test-mkdirat.c, tests/test-mkfifoat.c, tests/test-openat.c:
20000         * tests/test-pread.c, tests/test-pwrite.c, tests/test-read.c:
20001         * tests/test-readlinkat.c, tests/test-recv.c, tests/test-recvfrom.c:
20002         * tests/test-renameat.c, tests/test-select.h, tests/test-send.c:
20003         * tests/test-sendto.c, tests/test-setsockopt.c, tests/test-shutdown.c:
20004         * tests/test-symlinkat.c, tests/test-ttyname_r.c:
20005         * tests/test-unlinkat.c, tests/test-unlockpt.c:
20006         * tests/test-utimensat.c, tests/test-vdprintf.c, tests/test-write.c:
20007         Close file descriptor 99, instead of assuming it's already closed.
20009 2013-01-21  Paul Eggert  <eggert@cs.ucla.edu>
20011         stpncpy: port to OS X 10.8
20012         * lib/stpncpy.c (__stpncpy): Parenthesize name when defining function.
20013         Problem reported by Assaf Gordon in <http://bugs.gnu.org/13495>.
20015 2013-01-16  Paul Eggert  <eggert@cs.ucla.edu>
20017         unistd: port to recent mingw
20018         * lib/unistd.in.h: Remove special invocation convention for mingw,
20019         which breaks for the latest mingw version.  See John W. Eaton in
20020         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00100.html>.
20022         largefile: port better to Mac OS X 10.5
20023         This patch is backported from Autoconf git.
20024         * m4/largefile.m4 (AC_SYS_LARGEFILE): Use AC_DEFINE, not
20025         AH_VERBATIM, to define _DARWIN_USE_64_BIT_INODE, to avoid problems
20026         with ino_t size being different for configuration time versus
20027         build/run time.  Problem reported by PHO in
20028         <http://lists.gnu.org/r/bug-autoconf/2013-01/msg00040.html>.
20030 2013-01-15  Paul Eggert  <eggert@cs.ucla.edu>
20032         doc: clarify -Werror
20033         * doc/warnings.texi (warnings): -Werror is not always a bad idea;
20034         clarify that it's intended for developers, not for ordinary builds,
20035         and mention --enable-gcc-warnings as one possible use.
20037 2013-01-15  Andoni Morales Alastruey  <ylatuya@gmail.com>  (tiny change)
20039         stdint: fix build with Android's Bionic fox x86
20040         * lib/stdint.in.h: fix check to test if included-fixed/sys/types.h
20041         was already included as _SSIZE_T_DEFINED_ might also be defined
20042         in include/machine/_types.h, which is included by stdio.h
20044 2013-01-13  Paul Eggert  <eggert@cs.ucla.edu>
20046         net_if-tests: port to Solaris 7 + GCC 3.4.6
20047         Problem reported by Tom G. Christensen in
20048         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00091.html>.
20049         * tests/test-net_if.c (ni): Move to next the code that uses it,
20050         so that it's declared only if needed.
20052 2013-01-12  Paul Eggert  <eggert@cs.ucla.edu>
20054         net_if-tests: port to older Solaris
20055         Problem reported by Tom G. Christensen in
20056         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00086.html>.
20057         * modules/net_if-tests (NET_IF_LIB): New substitution.
20058         (test_net_if_LDADD): New makefile macro, which uses NET_IF_LIB.
20059         (HAVE_IF_NAMEINDEX): New C macro.
20060         * tests/test-net_if.c: Bypass most of the test if !HAVE_IF_NAMEINDEX.
20062         system-quote-tests: port to older Solaris
20063         Problem reported by Tom G. Christensen in
20064         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00086.html>.
20065         * tests/test-system-quote-child.c (fopen, fread): Undef.
20067         c-xvasprintf etc.: fix link errors on older Solaris
20068         These need to link with @LIBINTL@ to get libintl_gettext.
20069         Problem reported by Tom G. Christensen in
20070         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00086.html>.
20071         * modules/c-xvasprintf-tests (test_c_xvasprintf_LDADD):
20072         * modules/readtokens-tests (test_readtokens_LDADD): New macros.
20073         * modules/futimens-tests (test_futimens_LDADD):
20074         * modules/utimens-tests (test_utimens_LDADD): Add @LIBINTL@.
20076 2013-01-10  Paul Eggert  <eggert@cs.ucla.edu>
20078         locale: port to Solaris 2.6 and 7 + GNU gettext
20079         * lib/locale.in.h: Just include_next <locale.h> when
20080         being invoked recursively.  This prevents problems on Solaris 2.6 and 7
20081         when combining the localename module with GNU gettext 0.18.2.
20082         Problem reported by Tom G. Christensen in
20083         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00084.html>.
20085 2013-01-09  Paul Eggert  <eggert@cs.ucla.edu>
20087         stdlib: port to Solaris 2.6
20088         Also, the code worked on Solaris 7 through 9 only by accident.
20089         Problem reported by Tom G. Christensen in
20090         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00059.html>.
20091         * lib/stdlib.in.h: If __need_system_stdlib_h is defined,
20092         simply include the system stdlib.h.
20093         * lib/getopt.in.h (__need_system_stdlib_h):
20094         * lib/pthread.in.h (__need_system_stdlib_h):
20095         * lib/unistd.in.h (__need_system_stdlib_h) [!__GLIBC__]:
20096         Define when including <stdlib.h>, to avoid problems at least for
20097         the pthread case on Solaris 2.6 and 7.  These .h files can get by
20098         with the system stdlib.h.
20100 2013-01-06  Paul Eggert  <eggert@cs.ucla.edu>
20102         doc: update main copyright year
20103         * doc/gnulib.texi: Update copyright date.
20105         doc: improve ISO 8601 discussion
20106         * doc/parse-datetime.texi (Combined date and time of day items):
20107         Specify more carefully what formats are supported and what is
20108         done with excess precision.
20110 2013-01-05  Paul Eggert  <eggert@cs.ucla.edu>
20112         doc: avoid small caps
20113         * doc/parse-datetime.texi, doc/regex.texi: Don't use small caps;
20114         they're more trouble than they're worth.  Suggested by Karl Berry
20115         in <http://bugs.gnu.org/13360>.
20117         regex: conform to strict C
20118         * lib/regcomp.c (parse_bracket_exp): Add cast to conform to strict C.
20119         From Aharon Robbins.
20121         gnulib-tool: fix incompatibility with autopoint 0.18.2
20122         * gnulib-tool: Don't indent AM_GNU_GETTEXT_VERSION line.
20123         Problem reported by Tom G. Christensen in
20124         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00053.html>.
20126 2013-01-04  Paul Eggert  <eggert@cs.ucla.edu>
20128         fprintftime: bring back and reword fwrite comment
20129         * lib/strftime.c (cpy) [FPRINTFTIME]: Re-add reworded comment.
20131         stdio: remove now-unnecessary stdio.c
20132         Since stdio.in.h no longer uses inline functions, we no longer
20133         need to compile the extern versions.
20134         * lib/stdio.c: Remove.
20135         * modules/stdio (Files): Remove lib/stdio.c.
20136         (lib_SOURCES): Remove.
20138         unicodeio: depend on stdio, not ignore-value
20139         * lib/unicodeio.c: Do not include ignore-value.h.
20140         (fwrite_success_callback): Use plain fwrite, not ignore_value + fwrite.
20141         * modules/unicodeio (Depends-on): Depend on stdio, not ignore-value.
20143         fprintftime: depend on stdio, not ignore-value
20144         * lib/strftime.c [FPRINTFTIME]: Do not include ignore-value.h.
20145         (cpy) [FPRINTFTIME]: Use plain fwrite, not ignore_value of fwrite,
20146         since the stdio module arranges to silence that warning now.
20147         * modules/fprintftime (Depends-on): Depend on stdio, not ignore-value.
20149 2012-10-04  Simon Josefsson  <simon@josefsson.org>
20151         stdint-tests: Fix expanded-before-required-warning.
20152         * modules/stdint-tests (Depends-on): Use AC_REQUIRE.
20154 2013-01-03  Paul Eggert  <eggert@cs.ucla.edu>
20156         fwrite: silence __wur only for older glibc versions
20157         * lib/stdio.in.h (fwrite): Limit workaround to glibc 2.4 through 2.15.
20158         This will help us remove this workaround some time in the far future.
20160 2013-01-03  Eric Blake  <eblake@redhat.com>
20162         fwrite: silence __wur without using inline
20163         * lib/stdio.in.h (fwrite): Limit warn_unused_result workaround to
20164         just gcc, and in a way that avoids inline issues.
20165         * modules/stdio (Depends-on): Drop extern-inline.
20167 2013-01-03  Jim Meyering  <jim@meyering.net>
20169         update-copyright: avoid copyright notice date corruption
20170         Given a sequence of copyright year numbers in which the final
20171         one was a two-digit number that happened to be a substring of
20172         a preceding four-digit year number, we would mistakenly update
20173         the substring (from two- to four-digit) rather than the two-digit
20174         number at the end, which, combined with the addition of the current
20175         4-digit year number would yield two 5-digit year numbers, e.g.,
20176         here, it would convert the first "99" to "1999, 2013" rather than
20177         the final one:
20178           1991, 99
20179           11999, 20131, 1999
20180         * build-aux/update-copyright: Tighten a regexp.
20181         * tests/test-update-copyright.sh: Add a test case to trigger the bug.
20182         Reported by Joseph Myers in
20183         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/32281
20185 2013-01-01  Paul Eggert  <eggert@cs.ucla.edu>
20187         regex: omit needless signed-pointer casts
20188         * lib/regcomp.c (build_charclass, build_charclass_op):
20189         Use char *, not unsigned char *, for class name and extra.
20190         The char values are always nonnegative so there's no need to
20191         insist on unsigned char * here, and using char * removes the need
20192         for casts.  Reported by Aharon Robbins in
20193         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
20195         regex: support Gawk, which never uses alloca
20196         * lib/regex_internal.h [!_LIBC && !HAVE_ALLOCA]:
20197         Do not include in this case.  Gawk doesn't supply a substitute
20198         alloca.h and doesn't need one.
20200         regex: port __libc_lock_define usage to C89
20201         * lib/regex_internal.h (__libc_lock_define) [!_LIBC]: Remove.
20202         (struct re_dfa_t): Use #ifdef instead.  '__libc_lock_define (, lock)'
20203         does not conform to C89, as it has an empty macro argument.
20204         Reported by Aharon Robbins in
20205         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
20207 2013-01-01  Eric Blake  <eblake@redhat.com>
20209         maint: update all copyright year number ranges
20210         Run "make update-copyright".
20212         version-etc: bump copyright year reported in --version
20213         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2013.
20215 2012-12-31  Eric Blake  <eblake@redhat.com>
20217         sigprocmask-tests: skip test if pid is unexpectedly large
20218         * tests/test-sigprocmask.c (main): Add range check.
20220         git-version-gen: avoid test -z portability glitch
20221         * build-aux/git-version-gen: Prefer portable test spelling, since
20222         git-version-gen is run on more than just developer machines.
20224 2012-12-31  Peter Rosin  <peda@lysator.liu.se>  (tiny change)
20226         git-version-gen: add --fallback option to use if git is not present
20227         * build-aux/git-version-gen: Add support for the new option --fallback,
20228         which comes into play when there is no $tarball_version_file and
20229         git is not working.
20230         (scriptversion): Update.
20232         maint.mk: handle missing git with more grace
20233         * top/maint.mk (no-submodule-changes, public-submodule-commit):
20234         Quietly proceed if git is not present.
20236 2012-12-31  Eric Blake  <eblake@redhat.com>
20238         dup2: work around cygwin bug
20239         * m4/dup2.m4 (gl_FUNC_DUP2): Flush out cygwin core dump.
20240         * lib/dup2.c (rpl_dup2): Work around it.
20241         * doc/posix-functions/dup2.texi (dup2): Document it.
20243 2012-12-30  Paul Eggert  <eggert@cs.ucla.edu>
20245         regex: remove unnecessary dependency on localcharset.h
20246         * lib/regex_internal.h [!_LIBC]: Don't include localcharset.h;
20247         hasn't been needed for years.
20248         * modules/regex (Depends-on): Remove localcharset.
20250         regex: revert single-byte change
20251         * lib/regexec.c (check_node_accept_bytes): Revert previous change
20252         to this function.  This was alredy fixed in a different way, at
20253         bdb56bacd57070eced9998569ffe3f3c37ef5964 in the glibc git; see
20254         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=510219> and
20255         <http://sourceware.org/bugzilla/show_bug.cgi?id=9697>.
20257         regex: simplify based on Gawk version
20258         * lib/regex_internal.c (re_dfa_add_node): Simplify.
20259         Reported by Aharon Robbins in
20260         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
20262 2012-12-29  Paul Eggert  <eggert@cs.ucla.edu>
20264         regex: check that pattern char is single-byte
20265         Reported by Aharon Robbins in
20266         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
20267         * lib/regexec.c (check_node_accept_bytes):
20268         Return 0 if the pattern string has a multibyte character here.
20270         regex: implement rational ranges
20271         Reported by Aharon Robbins in
20272         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
20273         * lib/regcomp.c (build_range_exp) [!_LIBC]:
20274         * lib/regexec.c (check_node_accept_bytes) [!_LIBC]:
20275         Implement rational ranges.
20277         regex: avoid redefining __wctype
20278         Reported by Aharon Robbins in
20279         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
20280         * lib/regex_internal.h (__wctype, __iswctype) [!_LIBC]:
20281         #undef before defining.
20283         regex: port to hosts where malloc (0) == NULL
20284         Reported by Aharon Robbins in
20285         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
20286         * lib/regex_internal.c (re_node_set_alloc):
20287         Don't assume that malloc (0) yields nonnull.
20288         * lib/regex_internal.h (MALLOC_0_IS_NONNULL): New macro.
20289         * m4/regex.m4 (gl_PREREQ_REGEX): Require gl_EEMALLOC.
20290         * modules/regex (Files): Add m4/eealloc.m4.
20292         regex: port to C89
20293         Reported by Aharon Robbins in
20294         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
20295         * lib/regcomp.c (init_word_char): Declaration before statement.
20297         regex: merge glibc changes
20298         Also, copy the license wording from glibc.  This simplifies
20299         merging changes.  gnulib-tool will change the wording to GPL as
20300         appropriate, when importing it to other packages.  The only
20301         glibc change made since the last merge, which needs merging, is:
20302         2012-05-24 Andreas Schwab <schwab@linux-m68k.org>
20303         * lib/regex_internal.h (gettext): Remove use of INTUSE.
20305         * users.txt: Add Emacs.
20307         doc: omit mention of version when not needed
20308         * doc/gnulib-intro.texi (Portability and Application Code):
20309         * doc/gnulib.texi (Brief Overview, Legacy Function Substitutes):
20310         Don't mention particular dates or versions when not necessary, so
20311         that the documentation won't go out of date so quickly.
20313         * doc/intprops.texi (Integer Properties): Fix Texinfo typo.
20315 2012-12-28  Akim Demaille  <akim@lrde.epita.fr>
20317         bootstrap: pass --force to autoreconf.
20318         * build-aux/bootstrap (AUTORECONFFLAGS): New.
20319         Add "--force" so that Automake's ylwrap and other such tools
20320         be updated at each bootstrap invocation.
20321         Use it.
20323 2012-12-27  Paul Eggert  <eggert@cs.ucla.edu>
20325         argp: fix port of port new 'inline' approach to Sun C 5.12 + Solaris 10
20326         The earlier patch forgot to update one of the #if conditions, causing
20327         a problem on Debian testing i386 reported by Mats Erik Andersson
20328         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00124.html>.
20329         * lib/argp-fmtstream.h (__argp_fmtstream_putc, argp_fmtstream_putc)
20330         (__argp_fmtstream_puts, argp_fmtstream_puts)
20331         (__argp_fmtstream_write, argp_fmtstream_write)
20332         [!_LIBC && !__OPTIMIZE__]: Declare as ARGP_FS_EI, not as extern.
20334         * doc/gnulib-readme.texi: Minor fixups.
20335         (Portability guidelines): Modernize URLs.  Remove some repetition.
20336         (Indent with spaces not TABs): Reword to avoid too-long lines.
20337         Remove some '@ifset standalone' stuff that isn't used.
20339         * doc/gnulib-readme.texi (Portability guidelines):
20340         ctype.h, not ctime.h.
20342         Correct name of POSIX.1-2001.
20343         * doc/posix-functions/fgetc.texi (fgetc):
20344         * doc/posix-functions/fgets.texi (fgets):
20345         * doc/posix-functions/fread.texi (fread):
20346         * doc/posix-functions/fscanf.texi (fscanf):
20347         * doc/posix-functions/getc.texi (getc):
20348         * doc/posix-functions/getchar.texi (getchar):
20349         * doc/posix-functions/scanf.texi (scanf):
20350         POSIX.1-2001, not POSIX-2001.
20352         doc: move README into manual
20353         * README: Move contents to new file doc/gnulib-readme.texi.
20354         Replace with a one-line summary.
20355         * doc/gnulib.texi (Brief Overview): New section,
20356         with old intro preface.  Include gnulib-readme.texi for contents.
20357         (Philosophy): Rename from "Introduction", since this
20358         section no longer introduces the rest.  Write a new preface.
20359         * doc/gnulib-readme.texi: New file, with the old contents of
20360         README texinfo-ized.  This way, the README info appears
20361         in the online and printed manual.
20363 2012-12-25  Ben Pfaff  <blp@cs.stanford.edu>
20365         c-xvasprintf: Fix "implicit declaration of function" GCC warning.
20366         * lib/c-xvasprintf.c: Add missing #include "c-vasprintf.h", for
20367         c_vasprintf() prototype.
20369 2012-12-24  Ben Pfaff  <blp@cs.stanford.edu>
20371         c-vasprintf: Fix "empty declaration" warning reported by GCC.
20372         * lib/c-vasprintf.h: Remove stray semicolon.
20374 2012-12-23  Paul Eggert  <eggert@cs.ucla.edu>
20376         gettext: avoid obsolete macro AM_PROG_MKDIR_P
20377         It is obsolete and is planned to be removed from Automake 1.14; see
20378         <http://lists.gnu.org/r/automake/2012-12/msg00029.html>.
20379         * build-aux/po/Makefile.in.in (install-data, install-data-yes)
20380         (installdirs-data, installdirs-data-yes):
20381         Use $(MKDIR_P), not $(mkdir_p).
20382         * m4/intl.m4 (AM_INTL_SUBDIR):
20383         * m4/po.m4 (AM_PO_SUBDIRS):
20384         Require AC_PROG_MKDIR_P, not AM_PROG_MKDIR_P.
20386 2012-12-22  Paul Eggert  <eggert@cs.ucla.edu>
20388         argp: port new 'inline' approach to Sun C 5.12 + Solaris 10
20389         On this platform, we are not optimizing but we are using
20390         the substitute for extern inlines, so compile as if
20391         C99-style extern inline, or a substitute, is available.
20392         * lib/argp-fmtstream.h (argp_fmtstream_set_lmargin)
20393         (__argp_fmtstream_set_lmargin, argp_fmtstream_set_rmargin)
20394         (__argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin)
20395         (__argp_fmtstream_set_wmargin, argp_fmtstream_point)
20396         (__argp_fmtstream_point) [!_LIBC && !__OPTIMIZE__]:
20397         Declare as ARGP_FS_EI, not as extern.
20398         * lib/argp.h (argp_usage, __argp_usage, _option_is_short)
20399         (__option_is_short, _option_is_end, __option_is_end)
20400         [!_LIBC && __USE_EXTERN_INLINES]:
20401         Declare as ARGP_EI, not as extern.
20403 2012-12-21  Paul Eggert  <eggert@cs.ucla.edu>
20405         AC_PROG_MKDIR_P: port workaround to pre-2.62 Autoconf
20406         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P, AC_C_RESTRICT):
20407         Use m4_ifndef([AC_AUTOCONF_VERSION], ...), not
20408         m4_if(m4_version_compare(m4_defn([AC_AUTOCONF_VERSION]),[2.62]),[-1],
20409         ...), as the latter is fatal with older Autoconfs.
20410         Problem reported and fix suggested by Eric Blake in thread starting at
20411         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00097.html>.
20413 2012-12-20  Paul Eggert  <eggert@cs.ucla.edu>
20415         AC_PROG_MKDIR_P: don't workaround if not buggy
20416         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P):
20417         Define only for Autoconf versions before 2.62.
20418         (AC_C_RESTRICT): Use documented AC_AUTOCONF_VERSION, not
20419         undocumented m4_PACKAGE_VERSION, for consistency with the
20420         abovementioned change to AC_PROG_MKDIR_P.  This should suffice
20421         since we're checking for 2.62 or later, and AC_AUTOCONF_VERSION
20422         was introduced in 2.62.
20424 2012-12-15  Ben Pfaff  <blp@cs.stanford.edu>
20426         New 'c-*printf' modules for formatted output in C locale.
20428         New module 'c-vasnprintf'.
20429         * modules/c-vasnprintf: New file.
20430         * lib/c-vasnprintf.c: New file.
20431         * lib/c-vasnprintf.h: New file.
20433         New module 'c-snprintf'.
20434         * modules/c-snprintf: New file.
20435         * modules/c-snprintf-tests: New file.
20436         * lib/c-snprintf.c: New file.
20437         * lib/c-snprintf.h: New file.
20438         * tests/test-c-snprintf.c: New file.
20439         * tests/test-c-snprintf.sh: New file.
20441         New module 'c-vsnprintf'.
20442         * modules/c-vsnprintf: New file.
20443         * modules/c-vsnprintf-tests: New file.
20444         * lib/c-vsnprintf.c: New file.
20445         * lib/c-vsnprintf.h: New file.
20446         * tests/test-c-vsnprintf.c: New file.
20447         * tests/test-c-vsnprintf.sh: New file.
20449         New module 'c-vasprintf'.
20450         * modules/c-vasprintf: New file.
20451         * modules/c-vasprintf-tests: New file.
20452         * lib/c-asprintf.c: New file.
20453         * lib/c-vasprintf.c: New file.
20454         * lib/c-vasprintf.h: New file.
20455         * tests/test-c-vasprintf.c  +: New file.
20456         * tests/test-c-vasprintf.sh: New file.
20458         New module 'c-xvasprintf'.
20459         * modules/c-xvasprintf: New file.
20460         * modules/c-xvasprintf-tests: New file.
20461         * lib/c-xasprintf.c: New file.
20462         * lib/c-xvasprintf.c: New file.
20463         * lib/c-xvasprintf.h: New file.
20464         * tests/test-c-xvasprintf.c: New file.
20465         * tests/test-c-xvasprintf.sh: New file.
20467 2012-12-18  Paul Eggert  <eggert@cs.ucla.edu>
20469         argp: better 'inline'
20470         Use extern-inline module to declare extern inline functions.
20471         This avoids some bogus warning diagnostics.  Problem discovered
20472         when modifying GNU tar to use the manywarnings module.
20473         * lib/argp.h, lib/argp-xinl.c (ARGP_EI) [!_LIBC]:
20474         * lib/argp-fmtstream.h, lib/argp-fs-xinl.c (ARGP_FS_EI) [!_LIBC]:
20475         Define based on extern-inline.
20476         * modules/argp (Depends-on): Add extern-inline.
20478 2012-12-17  Paul Eggert  <eggert@cs.ucla.edu>
20480         filemode, sys_stat: Handle MPX files a la AIX.
20481         * lib/filemode.c (ftypelet): Report 'm' for MPX files.
20482         * lib/sys_stat.in.h (S_ISMPX): New macro.
20483         * tests/test-sys_stat.c: Add tests for MPX files.
20485 2012-12-16  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
20487         x-to-1: honor $PERL
20488         * build-aux/x-to-1.in: Run $HELP2MAN via $PERL so that the user gets
20489         a chance to use his preferred version of Perl.  This is typically
20490         required by Darwin users whose default /usr/bin/perl does not have all
20491         the libraries required by help2man, and who need to use their MacPorts
20492         installation of Perl instead.
20494 2012-12-16  Akim Demaille  <akim@lrde.epita.fr>
20496         gnu-web-doc-update: add all the new files, even in new directories
20497         See http://lists.gnu.org/r/bug-gnulib/2012-12/msg00057.html
20498         * build-aux/gnu-web-doc-update (--dry-run, $dryrun): New.
20499         Use it.
20500         (main): Don't use cvsutils to get the list of unknown files,
20501         just add all the existing files and directories.
20503 2012-12-16  Akim Demaille  <akim@lrde.epita.fr>
20505         gnu-web-doc-update: improve --help
20506         * build-aux/gnu-web-doc-update: Move comments into --help.
20508 2012-12-07  Eric Wong  <normalperson@yhbt.net>
20510         mountlist: recognize more "dummy" file systems
20511         * lib/mountlist.c (ME_DUMMY_0):
20512         Add these dummy FS names to the list:
20513         - "debugfs" virtual filesystem for kernel debugging
20514         - "devpts" PTY slave filesystem
20515         - "devtmpfs" device filesystem on top of tmpfs/ramfs
20516         - "fusectl" control filesystem for FUSE
20517         - "mqueue" enumerates POSIX message queues
20518         - "rpc_pipefs" kernel <-> userspace bridge for NFS
20519         - "sysfs" is for exporting kernel objects
20520         - "devfs" device filesystem for Linux 2.4 and FreeBSD
20522 2012-12-11  Paul Eggert  <eggert@cs.ucla.edu>
20524         extern-inline: avoid incompatibility with Darwin Libc
20525         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE): Do not use
20526         extern inline if __APPLE__.  Use _GL_UNUSED in the non-inline branch.
20527         Problem reported by Akim Demaille in
20528         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00023.html>.
20530 2012-12-11  Simon Josefsson  <simon@josefsson.org>
20532         gnupload: Work with GnuPG using gpg-agent (for smartcards).
20533         * build-aux/gnupload: If GnuPG is configured to use gpg-agent,
20534         let it handle password prompting.
20536 2012-12-10  Eli Zaretskii  <eliz@gnu.org>
20538         canonicalize, canonicalize-lgpl: Microsoft Windows prefix fixes
20539         * lib/canonicalize.c (canonicalize_filename_mode):
20540         * lib/canonicalize-lgpl.c (__realpath): Recompute prefix_len after
20541         fetching the current directory.  Don't overrun the beginning of
20542         rpath if there's no slashes after the MS-Windows drive letter.
20544 2012-12-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
20546         maint.mk: avoid extra forks
20547         * top/maint.mk (_cfg_mk): The GNU make manual documents that
20548         "$(wildcard FILE)" expands to empty if FILE doesn't exist.
20549         So use that instead of "$(shell test -f FILE && echo FILE)".
20551 2012-12-07  Paul Eggert  <eggert@cs.ucla.edu>
20553         vasnprintf: fix ASCII_ONLY typo
20554         * lib/unistdio/u8-vasnprintf.c (FCHAR_T_ONLY_ASCII):
20555         * lib/unistdio/u16-vasnprintf.c (FCHAR_T_ONLY_ASCII):
20556         * lib/unistdio/u32-vasnprintf.c (FCHAR_T_ONLY_ASCII):
20557         New macro, replacing ASCII_ONLY.  This fixes a typo.  See thread at
20558         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00021.html>.
20560 2012-12-05  Paul Eggert  <eggert@cs.ucla.edu>
20562         list, oset, xlist, xoset: fix extern inline issue with C99
20563         This was introduced by my recent changes for 'inline'.
20564         Problem reported for gettext by Daiki Ueno in
20565         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00000.html>.
20566         * lib/gl_list.h (gl_list_nx_create_empty, gl_list_create)
20567         (gl_list_nx_create, gl_list_size, gl_list_node_value)
20568         (gl_list_node_set_value, gl_list_node_nx_set_value, gl_list_next_node)
20569         (gl_list_previous_node, gl_list_get_at)
20570         (gl_list_nx_set_at, gl_list_search, gl_list_search_from)
20571         (gl_list_search_from_to, gl_list_indexof, gl_list_indexof_from)
20572         (gl_list_indexof_from_to, gl_list_nx_add_first, gl_list_nx_add_last)
20573         (gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at)
20574         (gl_list_remove_node, gl_list_remove_at, gl_list_remove, gl_list_free)
20575         (gl_list_iterator, gl_list_iterator_from_to, gl_list_iterator_next)
20576         (gl_list_iterator_free, gl_sortedlist_search)
20577         (gl_sortedlist_search_from_to, gl_sortedlist_indexof)
20578         (gl_sortedlist_indexof_from_to, gl_sortedlist_add, gl_sortedlist_nx_add)
20579         (gl_sortedlist_remove):
20580         * lib/gl_oset.h (go_oset_nx_create_empty, gl_oset_size, gl_oset_search)
20581         (gl_oset_search_atleast, gl_oset_nx_add, gl_oset_remove, gl_oset_free)
20582         (gl_oset_iterator, gl_oset_iterator_next, gl_oset_iterator_free):
20583         * lib/gl_xlist.h (gl_list_create_empty, gl_list_create)
20584         (gl_list_node_set_value, gl_list_set_at, gl_list_add_first)
20585         (gl_list_add_last, gl_list_add_before, gl_list_add_after)
20586         (gl_list_add_at, gl_sortedlist_add):
20587         * lib/gl_xoset.h (gl_oset_create_empty, gl_oset_add):
20588         Wrap these extern decls inside "#if 0", because they are implemented
20589         as inline functions, and extern inline is not what's wanted here.
20590         It would simplify these .h files to remove the extern decls entirely,
20591         although a downside would be less-clear separation between
20592         specification and implementation.
20594 2012-11-29  Paul Eggert  <eggert@cs.ucla.edu>
20596         sys_stat: no 'static inline'
20597         * lib/sys_stat.in.h (rpl_mkdir): Now static, not static inline.
20598         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Do not require AC_C_INLINE.
20600         extern-inline: no 'static inline'
20601         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
20602         Do not require AC_C_INLINE.
20603         (_GL_INLINE, _GL_EXTERN_INLINE): Define as 'static', not as
20604         'static inline', for older compilers.
20606         snippet/warn-on-use: no 'static inline'
20607         * build-aux/snippet/warn-on-use.h:
20608         Remove unnecessary 'inline' in comment.
20610         rbtree-list, rbtreehash-list: no 'static inline'
20611         * lib/gl_anyrbtree_list2.h (rotate_left, rotate_right):
20612         * lib/gl_anytree_list2.h (node_at):
20613         * lib/gl_anytreehash_list1.h (hash_resize_after_add)
20614         (gl_oset_first, add_nodes_to_buckets):
20615         Now static, not static inline.
20617         regex: no 'static inline'
20618         * lib/regex_internal.c (calc_state_hash):
20619         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain)
20620         (bitset_empty, bitset_set_all, bitset_copy, bitset_not, bitset_merge)
20621         (bitset_mask, re_string_char_size_at, re_string_wchar_at):
20622         Now static, not static inline.
20623         (inline) [__GNUC__ < 3 && _LIBC]:
20624         Remove macro; no longer needed.
20626         xvasprintf: no 'static inline'
20627         * lib/xvasprintf.c (xstrcat):
20628         Now static, not static inline.
20629         * m4/xvasprintf.m4 (gl_XVASPRINTF):
20630         Do not require AC_C_INLINE.
20632         parse-datetime, parse-duration: no 'static inline'
20633         * lib/parse-datetime.y (to_uchar):
20634         * lib/parse-duration.c (str_const_to_ul, str_const_to_l)
20635         (scale_n_add):
20636         Now static, not static inline.
20637         * m4/parse-datetime.m4 (gl_PARSE_DATETIME):
20638         * modules/parse-duration (configure.ac):
20639         Do not require AC_C_INLINE.
20641         getaddrinfo: no 'static inline'
20642         * lib/getaddrinfo.c (validate_family):
20643         Now static, not static inline.
20644         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO):
20645         Do not require AC_C_INLINE.
20647         ftruncate, fts, lstat, openat, raise: no 'static inline'
20648         * lib/ftruncate.c (chsize_nothrow):
20649         * lib/fts.c (opendirat, diropen):
20650         * lib/lstat.c (orig_lstat):
20651         * lib/openat.c (orig_openat):
20652         * lib/raise.c (raise_nothrow):
20653         Now static, not static inline.
20654         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE):
20655         * m4/fts.m4 (gl_FUNC_FTS_CORE):
20656         * m4/lstat.m4 (gl_PREREQ_LSTAT):
20657         * m4/openat.m4 (gl_PREREQ_OPENAT):
20658         * m4/raise.m4 (gl_PREREQ_RAISE):
20659         Do not require AC_C_INLINE.
20661         fflush, stat: no 'static inline'
20662         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
20663         (clear_ungetc_buffer, disable_seek_optimization)
20664         (restore_seek_optimization, update_fpos_cache):
20665         * lib/stat.c (orig_stat):
20666         Now static, not static inline.
20667         * lib/fflush.c (disable_seek_optimization, restore_seek_optimization)
20668         (update_fpos_cache):
20669         Define only if ! (defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1).
20670         * m4/fflush.m4 (gl_PREREQ_FFLUSH):
20671         * m4/stat.m4 (gl_PREREQ_STAT):
20672         Do not require AC_C_INLINE.
20674         error, filevercmp: no 'static inline'
20675         * lib/error.c (is_open, flush_stdout):
20676         * lib/filevercmp.c (order):
20677         Now static, not static inline.
20678         * m4/error.m4 (gl_PREREQ_ERROR):
20679         * modules/filevercmp (configure.ac):
20680         Do not require AC_C_INLINE.
20682         dup, execute, fatal-signal, etc.: no 'static inline'
20683         * lib/dup.c (dup_nothrow):
20684         * lib/execute.c (nonintr_close, nonintr_open):
20685         * lib/fatal-signal.c (uninstall_handlers, install_handlers):
20686         * lib/fopen.c (orig_fopen):
20687         * lib/freadseek.c (freadptrinc):
20688         * lib/freopen.c (orig_freopen):
20689         * lib/fstat.c (orig_fstat, fstat_nothrow):
20690         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit)
20691         (get_rusage_as_via_iterator):
20692         * lib/get-rusage-data.c (get_rusage_data_via_setrlimit):
20693         * lib/getdtablesize.c (_setmaxstdio_nothrow):
20694         * lib/isatty.c (_isatty_nothrow):
20695         * lib/open.c (orig_open):
20696         * lib/read.c (read_nothrow):
20697         * lib/sigprocmask.c (signal_nothrow):
20698         * lib/spawn-pipe.c (nonintr_close, nonintr_open):
20699         * lib/vasnprintf.c (MAX_ROOM_NEEDED):
20700         * lib/wait-process.c (unregister_slave_subprocess):
20701         * lib/write.c (write_nothrow):
20702         Now static, not static inline.
20703         * lib/spawn-pipe.c (nonintr_open): Define only if
20704         (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__.
20705         * m4/dup.m4 (gl_PREREQ_DUP):
20706         * m4/execute.m4 (gl_EXECUTE):
20707         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL):
20708         * m4/fopen.m4 (gl_PREREQ_FOPEN):
20709         * m4/freadseek.m4 (gl_FUNC_FREADSEEK):
20710         * m4/freopen.m4 (gl_PREREQ_FREOPEN):
20711         * m4/fstat.m4 (gl_PREREQ_FSTAT):
20712         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE):
20713         * m4/isatty.m4 (gl_PREREQ_ISATTY):
20714         * m4/open.m4 (gl_PREREQ_OPEN):
20715         * m4/read.m4 (gl_PREREQ_READ):
20716         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK):
20717         * m4/spawn-pipe.m4 (gl_SPAWN_PIPE):
20718         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF):
20719         * m4/wait-process.m4 (gl_WAIT_PROCESS):
20720         * m4/write.m4 (gl_PREREQ_WRITE):
20721         * modules/get-rusage-as, modules/get-rusage-data (configure.ac):
20722         Do not require AC_C_INLINE.
20724         c-strtod, memcoll, readutmp: no 'static inline'
20725         * lib/c-strtod.c (c_locale):
20726         * lib/memcoll.c (strcoll_loop):
20727         * lib/readutmp.c (desirable_utmp_entry):
20728         Now static, not static inline.
20729         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD):
20730         * m4/memcoll.m4 (gl_MEMCOLL):
20731         * m4/readutmp.m4 (gl_READUTMP):
20732         Do not require AC_C_INLINE.
20734         arctwo, md4, md5, sha1, sha256, sha512: no 'static inline'
20735         * lib/arctwo.c (to_uchar):
20736         * lib/md4.c (set_uint32):
20737         * lib/md5.c (set_uint32):
20738         * lib/sha1.c (set_uint32):
20739         * lib/sha256.c (set_uint32):
20740         * lib/sha512.c (set_uint64):
20741         Now static, not static inline.  This is a bit simpler, and doesn't
20742         affect performance with GCC and default optimization.
20743         * m4/arctwo.m4 (gl_ARCTWO):
20744         * m4/md4.m4 (gl_MD4):
20745         * m4/md5.m4 (gl_MD5):
20746         * m4/sha1.m4 (gl_SHA1):
20747         * m4/sha256.m4 (gl_SHA256):
20748         * m4/sha512.m4 (gl_SHA512):
20749         Do not require AC_C_INLINE.
20751         cond, lock, thread: better 'inline'
20752         * lib/glthread/cond.c, lib/glthread/cond.h (_GLTHREAD_COND_INLINE):
20753         * lib/glthread/thread.c, lib/glthread/thread.h (_GLTHREAD_THREAD_INLINE):
20754         New macros.  Use them instead of static inline, for header functions.
20755         * lib/glthread/cond.c (gl_waitqueue_init, gl_waitqueue_remove)
20756         (gl_waitqueue_notify_first, gl_waitqueue_notify_all):
20757         * lib/glthread/lock.c (gl_waitqueue_init)
20758         (gl_waitqueue_notify_first, gl_waitqueue_notify_all):
20759         * lib/glthread/thread.c (get_current_thread_handle):
20760         Change 'static inline' to 'inline'.
20761         * lib/glthread/cond.h, lib/glthread/thread.h:
20762         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20763         * m4/cond.m4 (gl_COND):
20764         * m4/lock.m4 (gl_PREREQ_LOCK):
20765         * m4/thread.m4 (gl_THREAD):
20766         Do not require AC_C_INLINE.
20767         * modules/cond, modules/thread (Depends-on): Add extern-inline.
20769         chdir-long, cycle-check, savewd: better 'inline'
20770         * lib/chdir-long.c (cdb_init, cdb_fchdir, cdb_free)
20771         (find_non_slash):
20772         * lib/cycle-check.c (is_zero_or_power_of_two):
20773         * lib/savewd.c (savewd_delegating):
20774         Change 'static inline' to 'inline'.
20775         * lib/savewd.c, lib/savewd.h (SAVEWD_INLINE): New macro.
20776         Replace all remaining uses of 'static inline' with it.
20777         * lib/savewd.h:
20778         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20779         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG):
20780         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
20781         * m4/savewd.m4 (gl_SAVEWD):
20782         Do not require AC_C_INLINE.
20783         * modules/savewd (Depends-on): Add extern-inline.
20785         base32, base64: no need for 'inline'
20786         * lib/base32.c (to_uchar, get_8, decode_8):
20787         * lib/base64.c (to_uchar, get_4, decode_4):
20788         Change 'static inline' to 'inline'.
20789         * m4/base32.m4 (gl_PREREQ_BASE32):
20790         * m4/base64.m4 (gl_PREREQ_BASE64):
20791         Do not require AC_C_INLINE.
20793         array-oset, linkedhash-list, rbtree-oset: no need for 'inline'
20794         * lib/gl_array_oset.c (gl_array_nx_add_at):
20795         (gl_array_remove_at):
20796         * lib/gl_linkedhash_list.c (hash_resize_after_add)
20797         (add_to_bucket, remove_from_bucket):
20798         * lib/gl_rbtree_oset.c (rotate_left, rotate_right):
20799         Change 'static inline' to 'static', as it's simpler to omit
20800         'inline' unless there's a significant performance advantage.
20802         list, oset, xlist, xoset, xsublist: simplify via extern inline
20803         * lib/gl_list.h, lib/gl_list.c (GL_LIST_INLINE):
20804         * lib/gl_oset.c, lib/gl_oset.h (GL_OSET_INLINE):
20805         * lib/gl_xlist.c, lib/gl_xlist.h (GL_XLIST_INLINE):
20806         * lib/gl_xoset.c, lib/gl_xoset.h (GL_XOSET_INLINE):
20807         * lib/gl_xsublist.c, lib/gl_xsublist.h (GL_XSUBLIST_INLINE):
20808         New macro.  Replace all uses of 'static inline' with it.
20809         [HAVE_INLINE]: Implement functions as *_INLINE functions,
20810         instead of as macros FOO that are defined to static inline
20811         functions FOO_inline.
20812         * lib/gl_list.c, lib/gl_oset.c, lib/gl_xlist.c, lib/gl_xoset.c:
20813         * lib/gl_xsublist.c:
20814         Reimplement from scratch, by defining the corresponding *_INLINE
20815         macro and including the corresponding .h file.  This is simpler.
20816         * modules/list, modules/oset, modules/xlist, modules/xoset:
20817         (Files): Remove m4/gl_list.m4.
20818         (configure.ac): Remove gl_LIST.
20819         * m4/gl_list.m4: Remove.
20820         * modules/list, modules/oset, modules/xlist, modules/xoset:
20821         * modules/xsublist:
20822         (Depends-on): Depend on extern-inline, not inline.
20824         xalloc: better 'inline'
20825         * lib/xmalloc.c, lib/xalloc.h (XALLOC_INLINE):
20826         New macro.  Replace all uses of 'static inline' with it.
20827         (static_inline): Remove.
20828         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
20829         Let 'extern inline' do the work automatically, instead of doing
20830         it by hand.
20831         * m4/xalloc.m4 (gl_PREREQ_XALLOC, gl_PREREQ_XMALLOC):
20832         Remove.  All uses removed.
20833         * modules/xalloc (Depends-on): Remove 'inline'.  Add 'extern-inline'.
20835         gethrxtime: better 'inline'
20836         * lib/xtime.c: New file.
20837         * lib/gethrxtime.c, lib/gethrxtime.h (GETHRXTIME_INLINE):
20838         * lib/xtime.h (XTIME_INCLUDE):
20839         New macros.  Replace all uses of 'static inline' with them.
20840         * lib/gethrxtime.c (gethrxtime): Define only if
20841         ! (HAVE_ARITHMETIC_HRTIME_T && HAVE_DECL_GETHRTIME), since
20842         this source file is now always compiled, because of the extern inline.
20843         * lib/gethrxtime.h, lib/xtime.h:
20844         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20845         * m4/gethrxtime.m4 (gl_GETHRXTIME): Do not check for clock macros
20846         if gethrtime works, as they're not needed in that case.
20847         (gl_XTIME): Do not require AC_C_INLINE.
20848         (gl_PREREQ_GETHRXTIME): Remove; all uses removed, as it's always
20849         compiled now.  Move the check into gl_GETHRXTIME.
20850         * modules/gethrxtime (Files, lib_SOURCES): Add lib/xtime.c.
20851         (Depends-on): Add extern-inline.
20852         (configure.ac): gethrxtime is always compiled now.
20853         (lib_SOURCES): Add gethrxtime.c.
20855         wctype-h: better 'inline'
20856         * lib/wctype-h.c: New file.
20857         * lib/wctype.in.h (_GL_WCTYPE_INLINE):
20858         New macro.  Replace all uses of 'static inline' with it.
20859         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20860         * m4/wctype_h.m4 (gl_WCTYPE_H): Do not require AC_C_INLINE.
20861         * modules/wctype-h (Files, lib_SOURCES): Add lib/wctype-h.c.
20862         (Depends-on): Add extern-inline.
20864         unistd: better 'inline'
20865         * lib/unistd.c: New file.
20866         * lib/unistd.in.h (_GL_UNISTD_INLINE):
20867         New macro.  Replace all uses of 'static inline' with it.
20868         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20869         * m4/unistd_h.m4 (gl_UNISTD_H): Do not require AC_C_INLINE.
20870         * modules/unistd (Files, lib_SOURCES): Add lib/unistd.c.
20871         (Depends-on): Add extern-inline.
20873         sys_socket: better 'inline'
20874         * lib/sys_socket.c: New file.
20875         * lib/sys_socket.in.h (_GL_SYS_SOCKET_INLINE):
20876         New macro.  Replace all uses of 'static inline' with it.
20877         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20878         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Do not require AC_C_INLINE.
20879         * modules/sys_socket (Files, lib_SOURCES): Add lib/sys_socket.c.
20880         (Depends-on): Add extern-inline.
20882         stdio: better 'inline'
20883         * lib/stdio.c: New file.
20884         * lib/stdio.in.h (_GL_STDIO_INLINE):
20885         New macro.  Replace all uses of 'static inline' with it.
20886         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20887         * m4/stdio_h.m4 (gl_STDIO_H): Do not require AC_C_INLINE.
20888         * modules/stdio (Files, lib_SOURCES): Add lib/stdio.c.
20889         (Depends-on): Add extern-inline.
20891         sigaction: better 'inline'
20892         * lib/sig-handler.c: New file.
20893         * lib/sig-handler.h (SIG_HANDLER_INLINE):
20894         New macro.  Replace all uses of 'static inline' with it.
20895         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20896         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): Do not require AC_C_INLINE.
20897         * modules/sigaction (Files, lib_SOURCES): Add lib/sig-handler.c.
20898         (Depends-on): Add extern-inline.
20900         selinux-h: better 'inline'
20901         * lib/se-context.c, lib/se-selinux.c: New files.
20902         * lib/getfilecon.c (map_to_failure): Omit 'inline' for static function.
20903         * lib/se-context.in.h (SE_CONTEXT_INLINE):
20904         New macro.  Replace all uses of 'static inline' with it.
20905         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20906         * lib/se-selinux.in.h (SE_SELINUX_INLINE):
20907         New macro.  Replace all uses of 'static inline' with it.
20908         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20909         * modules/selinux-h (Files, lib_SOURCES):
20910         Add lib/se-context.c, lib/se-selinux.c.
20911         (Depends-on): Add extern-inline.
20912         (configure.ac): Do not require AC_C_INLINE.
20914         pthread: better 'inline'
20915         * lib/pthread.c: New file.
20916         * lib/pthread.in.h (_GL_PTHREAD_INLINE):
20917         New macro.  Replace all uses of 'static inline' with it.
20918         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20919         * m4/pthread.m4 (gl_PTHREAD_CHECK):
20920         Add AC_LIBOBJ([pthread]).  Do not require AC_C_INLINE.
20921         * modules/pthread (Files): Add lib/pthread.c.
20922         (Depends-on): Add extern-inline.
20924         math: better 'inline'
20925         * lib/math.c: New file.
20926         * lib/math.in.h (_GL_MATH_INLINE):
20927         New macro.  Replace all uses of 'static inline' with it.
20928         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20929         * m4/math_h.m4 (gl_MATH_H):
20930         Do not require AC_C_INLINE.
20931         * modules/math (Files, lib_SOURCES):
20932         Add lib/math.c.
20933         (Depends-on): Add extern-inline.
20935         count-one-bits: better 'inline'
20936         * lib/count-one-bits.c: New file.
20937         * lib/count-one-bits.h (COUNT_ONE_BITS_INLINE):
20938         New macro.  Replace all uses of 'static inline' with it.
20939         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20940         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS):
20941         Do not require AC_C_INLINE.
20942         * modules/count-one-bits (Files, lib_SOURCES):
20943         Add lib/count-one-bits.c.
20944         (Depends-on): Add extern-inline.
20946         count-leading-zeros: better 'inline'
20947         * lib/count-leading-zeros.c: New file.
20948         * lib/count-leading-zeros.h (COUNT_LEADING_ZEROS_INLINE):
20949         New macro.  Replace all uses of 'static inline' with it.
20950         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20951         * m4/count-leading-zeros.m4 (gl_COUNT_LEADING_ZEROS):
20952         Do not require AC_C_INLINE.
20953         * modules/count-leading-zeros (Files, lib_SOURCES):
20954         Add lib/count-leading-zeros.c.
20955         (Depends-on): Add extern-inline.
20957         bitrotate: better 'inline'
20958         * lib/bitrotate.c: New file.
20959         * lib/bitrotate.h (BITROTATE_INLINE):
20960         New macros.
20961         Replace all uses of 'static inline' with them.
20962         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20963         * modules/bitrotate (Files, lib_SOURCES): Add lib/bitrotate.c.
20964         (Depends-on): Add extern-inline.
20965         (configure.ac): Do not require AC_C_INLINE.
20967 2012-11-20  Theophile Ranquet  <ranquet@lrde.epita.fr>
20969         maint.mk: avoid gratuitous failure
20970         Reported by Stefano Lattarini in
20971         <http://lists.gnu.org/r/bug-bison/2012-11/msg00022.html>
20972         * top/maint.mk (public-submodule-commit): Quote more safely.
20974 2012-11-20  Eli Zaretskii  <eliz@gnu.org>
20976         canonicalize, canonicalize-lgpl: support MS-Windows file names
20977         See <http://lists.gnu.org/r/bug-gnulib/2012-11/msg00074.html>
20978         for test cases, which it'd be nice to add at some point.
20979         * lib/canonicalize.c, lib/canonicalize-lgpl.c: Include dosname.h.
20980         * lib/canonicalize.c (canonicalize_filename_mode):
20981         * lib/canonicalize-lgpl.c (__realpath):
20982         Use FILE_SYSTEM_PREFIX_LEN instead of assuming that the first
20983         slash is at the beginning of the file name.  Use ISSLASH, instead
20984         of a literal '/'.  Use IS_ABSOLUTE_FILE_NAME instead of comparing
20985         the first character with '/'.  Test for
20986         DOUBLE_SLASH_IS_DISTINCT_ROOT only if the file name does not begin
20987         with a drive letter.
20988         * lib/canonicalize.c (SLASHES): New macro.
20989         (canonicalize_filename_mode): Use SLASHES instead of a literal "/".
20991 2012-11-17  Dmitry V. Levin  <ldv@altlinux.org>
20993         fts: introduce FTS_VERBATIM
20994         * lib/fts_.h (FTS_VERBATIM): New bit flag.
20995         (FTS_OPTIONMASK, FTS_NAMEONLY, FTS_STOP): Adjust.
20996         * lib/fts.c (fts_open): Honor it.
20998 2012-11-09  Pádraig Brady  <P@draigBrady.com>
21000         getlogin-tests: allow errno == ENXIO
21001         * tests/test-getlogin.c (main): Skip tests if getlogin fails
21002         with errno == ENXIO (No controlling tty).
21003         getlogin_r-tests: Likewise. Also allow errno == ENOENT
21004         * tests/test-getlogin_r.c (main): Skip tests if getlogin_r fails
21005         with errno == ENOENT.  This was reported to happen in various
21006         situations on GNU/Linux.
21008 2012-11-09  Paul Eggert  <eggert@cs.ucla.edu>
21010         getlogin-tests: allow errno == ENOENT
21011         * tests/test-getlogin.c (main): Skip tests if getlogin fails
21012         with errno == ENOENT.  This happened to me on Ubuntu 12.04.1 x86,
21013         when running a test in an Emacs shell buffer.
21015 2012-11-08  Jim Meyering  <jim@meyering.net>
21017         tests/nap.h: avoid warning about unused variable
21018         * tests/nap.h (nap_works): Remove now-unused declaration of "result".
21020         prefix-gnulib-mk: avoid overzealous "lib/"-prefix addition
21021         * build-aux/prefix-gnulib-mk (prefix): Tighten a regexp to require
21022         white space before each of the special-cased file names, to avoid
21023         adding "lib/" after $(libdir)/.  Reported by Matias A. fonzo
21024         in http://bugs.gnu.org/12830.
21026 2012-11-08  Paul Eggert  <eggert@cs.ucla.edu>
21028         fcntl-h: default O_SEARCH, O_EXEC back to O_RDONLY
21029         O_PATH doesn't work with Linux kernel 3.6.5, as fchmod (fd, ...)
21030         fails with errno == EBADF when fd is opened with O_PATH.
21031         Reported by Jim Meyering in
21032         <http://lists.gnu.org/r/bug-gnulib/2012-11/msg00026.html>.
21033         * doc/posix-headers/fcntl.texi (fcntl.h): Document this.
21034         * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default back to O_RDONLY.
21036 2012-11-07  Paul Eggert  <eggert@cs.ucla.edu>
21038         test-utimens: speed up by taking shorter naps
21039         * tests/nap.h (lt_mtime, get_mtime, nap_works, guess_delay):
21040         New functions.
21041         (nap): Use them, to do a better job of guessing the delay.
21042         On Fedora 17 with ext4 atop md atop hard disks, this made
21043         test-utimens run 10x faster, because the test napped for
21044         1 ms at a time rather than 20 ms.  Reported by Stefano Lattarini in
21045         <http://bugs.gnu.org/12820#11>.
21047 2012-11-07  Jim Meyering  <jim@meyering.net>
21049         mountlist.c: fix a compilation failure
21050         * lib/mountlist.c (read_file_system_list): Fix a compilation failure
21051         I introduced while transforming commit v0.0-7683-g613bcb6
21053 2012-11-05  Paul Eggert  <eggert@cs.ucla.edu>
21055         errno: port to LynxOS 178 2.2.2
21056         Problem reported by Joel Brobecker in
21057         <http://lists.gnu.org/r/bug-gnulib/2012-10/msg00088.html>.
21058         * doc/posix-headers/errno.texi (errno.h): Document this.
21059         * lib/errno.in.h (EILSEQ, GNULIB_defined_EILSEQ) [!EILSEQ]: New macros.
21060         * lib/strerror-override.c, lib/strerror-override.h (strerror_override):
21061         Supply a string for EILSEQ.
21062         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Check for EILSEQ.
21064 2012-11-05  Paul Eggert  <eggert@cs.ucla.edu>
21066         fcntl-h: default O_SEARCH, O_EXEC to O_PATH if available
21067         Linux kernel 2.6.39 introduced O_PATH (see
21068         <http://lwn.net/Articles/433854/>) and this is a better fallback
21069         for O_SEARCH and O_EXEC than O_RDONLY, if O_PATH is available.
21070         * doc/posix-headers/fcntl.texi (fcntl.h): Document this.
21071         * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default to O_PATH.
21072         * lib/fcntl.in.h (O_ACCMODE):
21073         * tests/test-fcntl-h.c (main):
21074         Do not reject O_ACCMODE merely because it has more than the
21075         minimal number of bits, as POSIX allows extensions here.
21077 2012-11-04  Andrew Warshall  <warshall@99main.com>  (tiny change)
21079         mountlist: do not classify a bind-mounted dir entry as "dummy"
21080         * lib/mountlist.c (ME_DUMMY_0): Rename from ME_DUMMY, but omit
21081         the "none"-testing clause.
21082         (ME_DUMMY) [MOUNTED_GETMNTENT1]: New macro to encapsulate the
21083         exception for bind-mounted directories.
21085 2012-11-01  Akim Demaille  <akim@lrde.epita.fr>
21087         quote: provide a means to escape strings with nul characters
21088         * lib/quote.h, lib/quotearg.c (quote_mem, quote_n_mem): New functions.
21089         (quote, quote_n): Rename formal arguments for consistency with
21090         quotearg.
21092 2012-10-30  Paul Eggert  <eggert@cs.ucla.edu>
21094         test-raise: don't assume 199 is an invalid signal
21095         * tests/test-raise.c (main): Don't assume 199 is not a signal number.
21097         sh-quote-tests: port to Solaris 9
21098         * modules/sh-quote-tests (test_sh_quote_LDADD): Add @LIBINTL@.
21099         Problem reported by Dagobert Michelsen in
21100         <http://lists.gnu.org/r/bug-gnulib/2012-10/msg00114.html>.
21102 2012-10-28  Jim Meyering  <jim@meyering.net>
21104         maint.mk: rename a new configurable variable
21105         * top/maint.mk (_gl_translatable_string_re): Rename from
21106         translation-markers: _gl_ prefix to insulate from user Makefile code,
21107         and the _re suffix to inform that it's a regular expression.
21109 2012-10-26  Eric Blake  <eblake@redhat.com>
21111         maint.mk: let packages tweak sc_po_check pattern
21112         * top/maint.mk (sc_po_check): Add translation-markers, to allow
21113         finding files with other translation markers.
21115 2012-10-16  Paul Eggert  <eggert@cs.ucla.edu>
21117         euidaccess: speed up 'configure' on GNU hosts
21118         * m4/euidaccess.m4 (gl_FUNC_NONREENTRANT_EUIDACCESS):
21119         Check for setregid here, not in gl_PREREQ_EUIDACCESS, since
21120         it's needed only in this case.  Use AC_CHECK_DECLS, not
21121         AC_CHECK_DECLS_ONCE.
21122         (gl_PREREQ_EUIDACCESS): Do not use AC_CHECK_HEADERS_ONCE libgen.h
21123         or AC_REQUIRE for AC_FUNC_GETGROUPS.
21125         * lib/regexec.c (re_search_internal): Fix grammar in comment.
21127 2012-10-15  Paul Eggert  <eggert@cs.ucla.edu>
21129         fchmodat, fchownat, fstatat: port to non-inlining compilers
21130         Problem reported for FreeBSD 9 by Jim Meyering in
21131         <http://lists.gnu.org/r/bug-gnulib/2012-10/msg00070.html>.
21132         * lib/chmodat.c, lib/chownat.c, lib/statat.c:
21133         New files, which define FCHMODAT_INLINE etc.
21134         * lib/fchmodat.c (FCHMODAT_INLINE):
21135         * lib/fchownat.c (FCHOWNAT_INLINE):
21136         * lib/fstatat.c (FSTATAT_INLINE):
21137         Remove, as chmodat.c etc. now do this.
21138         * modules/fchmodat (Files): Add lib/chmodat.c.
21139         * modules/fchownat (Files): Add lib/chownat.c.
21140         * modules/fstatat (Files): Add lib/statat.c.
21142 2012-10-15  Jim Meyering  <jim@meyering.net>
21144         fchmodat.c, fchownat.c: compile-impeding typos
21145         * lib/fchmodat.c (FCHMODAT_INLINE): Fix typo: s/#include/#define/
21146         * lib/fchownat.c (FCHOWNAT_INLINE): Likewise.
21147         Introduced in commit v0.0-7636-gd202279.
21149 2012-10-15  Paul Eggert  <eggert@cs.ucla.edu>
21151         fcntl-h: support GNU flags like O_IGNORE_CTTY
21152         * doc/posix-headers/fcntl.texi (fcntl.h): Support O_IGNORE_CTTY,
21153         O_NOLINK, and O_NOTRANS.  These flags are nonzero on GNU/Hurd
21154         systems.  Discovered when using fcntl-h with GNU Emacs, which uses
21155         O_IGNORE_CTTY.  Fix misspelling of F_SETLKW.
21156         * lib/fcntl.in.h (O_IGNORE_CTTY, O_NOLINK, O_NOTRANS):
21157         Define to 0 if not already defined.
21158         * tests/test-fcntl-h.c: Test these new flags.
21160 2012-10-14  Paul Eggert  <eggert@cs.ucla.edu>
21162         faccessat, etc.: support AT_FDCWD-only use
21163         * lib/at-func.c: If GNULIB_SUPPORT_ONLY_AT_FDCWD, then support
21164         this function only if its first argument is AT_FDCWD.
21165         Emacs wants faccessat for AT_EACCESS but not for any first-arg
21166         values other than AT_FDCWD, so it doesn't want all the openat
21167         machinery with fchdir etc.
21168         * modules/faccessat, modules/fchmodat, modules/fchownat (Files):
21169         * modules/fstatat, modules/mkdirat, modules/openat (Files):
21170         * modules/unlinkat (Files):
21171         Remove lib/openat-priv.h, as at-internal supplies this file.
21172         Removing this file here allows us to support programs like Emacs
21173         that avoid at-internal.
21175         faccessat: speed up 'configure' on mainstream hosts
21176         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT):
21177         Use AT_CHECK_FUNCS for 'access', not AC_CHECK_FUNCS_ONCE,
21178         since it's only on unusual platforms that we need to check for
21179         'access', and it's better not to slow 'configure' down on all
21180         platforms.
21182         faccessat: port to Solaris 10
21183         * lib/faccessat.c: Include <fcntl.h>, for AT_EACCESS.
21184         Needed on Solaris 10, which doesn't have AT_EACCESS,
21185         so we need the Gnulib fcntl.h, which defines it.
21187 2012-10-14  Pádraig Brady  <P@draigBrady.com>
21188         canonicalize: fix C89 compilation
21189         * lib/canonicalize.c (canonicalize_filename_mode): Swap order of
21190         declarations so C89 is supported.  Also remove the comment
21191         referencing memorty allocation as the suggested feature could
21192         not be implemented as suggested.
21193         Reported by Michael Goffioul.
21195 2012-10-12  Paul Eggert  <eggert@cs.ucla.edu>
21197         group-member: omit unnecessary dependencies
21198         This is for Emacs, which has its own allocator and where we
21199         don't want to use xalloc.
21200         * lib/group-member.c: Include xalloc-oversized.h, not xalloc.h,
21201         since we no longer use xmalloc.  Do not include stdbool.h, since
21202         the changes below happen to remove the only use of bool.
21203         (GROUPBUF_SIZE): New constant.
21204         (struct group_info): Remove n_groups member.  Add groupbuf member.
21205         This lets us get the groups without using malloc, usually.
21206         (free_group_info, get_group_info): Adjust to this.
21207         (get_group_info): Return the number of groups found, or -1 on error.
21208         Use plain malloc not xmalloc, and treat its failure as if there
21209         are no groups, as the user already loses in case of error.
21210         (group_member): Simplify, based on changes to get_group_info.
21211         * modules/group-member (Depends-on): Remove dependencies on
21212         xalloc and stdbool.  Add dependency on xalloc-oversized.
21214 2012-10-08  Alexandre Duret-Lutz  <adl@lrde.epita.fr>  (tiny change)
21216         gethrxtime: port to C++
21217         * lib/gethrxtime.h, lib/xtime.h [__cplusplus]: Add extern "C".
21219 2012-10-04  Paul Eggert  <eggert@cs.ucla.edu>
21221         ptsname: fix macro-name typo
21222         * lib/stdlib.in.h (ptsname): Fix misspelling of GNULIB_NAMESPACE.
21224 2012-10-03  Simon Josefsson  <simon@josefsson.org>
21226         inttostr: Relax license.
21227         * modules/inttostr (License): Change from LGPL to LGPLv2+.
21229 2012-10-03  Eric Blake  <eblake@redhat.com>
21231         ptsname_r: support ptys returned by FreeBSD posix_openpt
21232         * lib/ptsname_r.c (__ptsname_r): Don't munge name if it already
21233         lives in /dev/pts/.
21235 2012-10-02  Eric Blake  <eblake@redhat.com>
21237         pselect: reject invalid file descriptors
21238         * m4/pselect.m4 (gl_FUNC_PSELECT): Probe for FreeBSD bug.
21239         * lib/pselect.c (rpl_pselect) [!win32]: Work around it.
21240         * modules/pselect (Depends-on): Add dup2.
21241         * doc/posix-functions/pselect.texi (pselect): Document this.
21243         select: reject invalid file descriptors
21244         * m4/select.m4 (gl_FUNC_SELECT): Probe for FreeBSD bug.
21245         * lib/select.c (rpl_select) [!win32]: Work around it.
21246         * modules/select (Depends-on): Add dup2.
21247         * doc/posix-functions/select.texi (select): Document this.
21249         select: enhance test
21250         * tests/test-select.h (do_select_bad_nfd_nowait, test_bad_nfd):
21251         New functions.
21252         (test_function): Enhance test.
21253         (do_select_bad_fd): Avoid any stale errno values.
21255         ptsname: reject invalid file descriptors
21256         http://www.austingroupbugs.net/view.php?id=503
21257         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Probe for FreeBSD bug.
21258         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add new witness.
21259         * modules/stdlib (Makefile.am): Replace witness.
21260         * lib/stdlib.in.h (ptsname): Allow for replacement.
21261         * modules/ptsname (configure.ac): Trigger replacement.
21262         * doc/posix-functions/ptsname.texi (ptsname): Document this.
21264 2012-10-02:  Nikos Mavrogiannopoulos  <nmav@gnutls.org>  (tiny change)
21266         hash-pjw-bare: new module
21267         * lib/hash-pjw-bare.c: New file, very much like hash-pjw.c.
21268         * lib/hash-pjw-bare.h: Likewise.
21269         * modules/hash-pjw-bare: New file.
21270         * MODULES.html.sh (Misc): Add it.
21272 2012-10-02  Eric Blake  <eblake@redhat.com>
21274         manywarnings: cater to more gcc infelicities
21275         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add test for
21276         -Wuninitialized without -O.
21278 2012-10-01  Ed Maste  <emaste@freebsd.org>  (tiny change)
21280         select, poll tests: Make setsockopt invocation effective.
21281         * tests/test-poll.c (open_server_socket): Move setsockopt() call before
21282         the bind() call.
21283         * tests/test-select.h (open_server_socket): Likewise.
21285 2012-09-30  Paul Eggert  <eggert@cs.ucla.edu>
21287         sockets, sys_stat: restore AC_C_INLINE
21288         This undoes the 2012-09-22 patch.
21289         * m4/sockets.m4 (gl_SOCKETS):
21290         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
21291         Restore AC_C_INLINE, since MSVC requires __inline or _inline
21292         and does not support plain 'inline'.  Reported by Bruno Haible in
21293         <http://lists.gnu.org/r/bug-gnulib/2012-09/msg00183.html>.
21295 2012-09-30  Bruno Haible  <bruno@clisp.org>
21297         localeconv tests: Avoid test failure on OpenIndiana.
21298         * tests/test-localeconv.c (main): On OpenIndiana (a Solaris 11 variant)
21299         skip the 'grouping' and 'mon_grouping' tests.
21300         Reported by Jim Meyering.
21302 2012-09-30  Bruno Haible  <bruno@clisp.org>
21304         havelib: Follow libtool developments.
21305         * m4/lib-ld.m4: Rebase on libtool.m4 from libtool-2.4.
21306         Suggested by Simon Josefsson.
21308 2012-09-29  Jim Meyering  <meyering@redhat.com>
21310         fstatat.c: fix a compile-impeding typo
21311         * lib/fstatat.c (FSTATAT_INLINE): Fix typo: s/#include/#define/
21312         Introduced in commit v0.0-7636-gd202279.
21313         Mats Erik Andersson reported the resulting OpenBSD compilation failure.
21315 2012-09-28  Akim Demaille  <akim@lrde.epita.fr>
21317         extern-inline: provide a -Wundef safe config.h
21318         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Protect
21319         "#if __GNUC_STDC_INLINE__" with "defined __GNUC_STDC_INLINE__"
21320         to produce a -Wundef warning free config.h.
21322 2012-09-26  Paul Eggert  <eggert@cs.ucla.edu>
21324         hash-pjw: relax license to LGPLv2+
21325         * modules/hash-pjw (License): Relax, with consent of author.
21327 2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
21329         maint.mk: fix strict vs. lazy variable issues with RELEASE
21330         * top/maint.mk (_equal): New function.
21331         (member_check): Strip the result to avoid spurious spaces.
21332         (url_dir_list): Do not use ifeq, which is strict, as it will
21333         require RELEASE_TYPE to be defined.
21334         (announcement_Cc_, announcement_mail_headers_): Likewise: instead
21335         of relying on ifeq, use $(release_type) to dispatch (lazily) onto...
21336         (announcement_Cc_alpha,announcement_mail_headers_alpha)
21337         (announcement_Cc_beta,announcement_mail_headers_beta)
21338         (announcement_Cc_stable,announcement_mail_headers_stable): these.
21339         (release): Do not depend on $(release-type), as it forces its
21340         evaluation.  Bounce to it.
21342 2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
21344         maint.mk: formatting changes
21345         * top/maint.mk: Indent bodies of if's.
21347 2012-09-21  Akim Demaille  <akim@lrde.epita.fr>
21349         maint.mk: factor the validation of RELEASE_TYPE
21350         With help from Jim Meyering.
21351         http://lists.gnu.org/r/bug-gnulib/2012-09/msg00132.html
21352         * top/maint.mk (_empty, _sp): Move their definition earlier.
21353         (member-check, release-type): New.
21354         Use the latter instead of $(RELEASE_TYPE).
21355         Remove now useless local checks.
21357 2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
21359         maint.mk: provide "make upload" to ease uploading
21360         See
21361         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00028.html>.
21362         Do not depend simply on the current $(VERSION), as there may have been
21363         new commits since the tarball generation.  Rather, rely on $(RELEASE),
21364         as "make release-commit" already does.
21366         For consistency, add "make release RELEASE='X.Y TYPE'" as an alias for
21367         "make TYPE".
21369         * top/maint.mk (upload_command, upload, release): New.
21370         (RELEASE_TYPE): If undefined, default to the second word of $(RELEASE).
21371         (VERSION): first word of $(RELEASE) is always right.
21372         (emit_upload_commands): Adjust.
21373         * top/README-release: Update.
21375 2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
21377         maint.mk: silent rules
21378         With help from Stefano Lattarini.
21379         * top/maint.mk (writable-files): Use $(AM_V_GEN).
21380         (announcement): Use $(AM_V_at).
21382 2012-09-24  Paul Eggert  <eggert@cs.ucla.edu>
21384         localename: port gl_locale_name_thread_unsafe to FreeBSD
21385         * lib/localename.c (gl_locale_name_thread_unsafe): Port to FreeBSD,
21386         and use the simpler FreeBSD implementation on Mac OS X as well.
21387         Original idea suggested by Ed Maste in
21388         <http://lists.gnu.org/r/bug-gnulib/2012-09/msg00094.html>.
21390 2012-09-22  Paul Eggert  <eggert@cs.ucla.edu>
21392         binary-io, eealloc, mbfile, mbiter, mbutil, xsize: better 'inline'
21393         * lib/binary-io.c, lib/eealloc.c, lib/mbfile.c, lib/mbiter.c:
21394         * lib/mbuiter.c, lib/xsize.c: New files.
21395         * lib/binary-io.h (BINARY_IO_INLINE):
21396         * lib/eealloc.h (EEALLOC_INLINE):
21397         * lib/mbfile.h (MBFILE_INLINE):
21398         * lib/mbiter.h (MBITER_INLINE):
21399         * lib/mbuiter.h (MBUITER_INLINE):
21400         * lib/xsize.h (XSIZE_INLINE):
21401         New macros.
21402         Replace all uses of 'static inline' with them.
21403         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
21404         * m4/eealloc.m4 (gl_EEALLOC):
21405         * m4/mbfile.m4 (gl_MBFILE):
21406         * m4/mbiter.m4 (gl_MBITER):
21407         * m4/xsize.m4 (gl_XSIZE):
21408         Do not require AC_C_INLINE.
21409         * modules/binary-io (Files, lib_SOURCES): Add lib/binary-io.c
21410         * modules/eealloc (Files, lib_SOURCES): Add lib/eealloc.c.
21411         * modules/mbfile (Files, lib_SOURCES): Add lib/mbfile.c.
21412         * modules/mbiter (Files, lib_SOURCES): Add lib/mbiter.c.
21413         * modules/mbuiter (Files, lib_SOURCES): Add lib/mbuiter.c.
21414         * modules/xsize (Files, lib_SOURCES): Add lib/xsize.c.
21415         * modules/binary-io, modules/eealloc, modules/mbfile:
21416         * modules/mbiter, modules/mbuiter:
21417         (Depends-on): Add extern-inline.
21419         pipe-filter-gi, pipe-filter-ii: better use of 'inline'
21420         * lib/pipe-filter-aux.c: New file.
21421         * lib/pipe-filter-aux.h (PIPE_FILTER_AUX_INLINE): New macro.
21422         Replace all uses of 'static inline' with it.
21423         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
21424         * lib/pipe-filter-gi.c (filter_init, filter_cleanup)
21425         (filter_retcode): No real need for inline here.
21426         * modules/pipe-filter-gi, modules/pipe-filter-ii:
21427         (Files): Add lib/pipe-filter-aux.c.
21428         (Depends-on): Add extern-inline.
21429         (configure.ac): Do not require AC_C_INLINE.
21430         (lib_SOURCES): Add pipe-filter-aux.c.
21432         fdutimensat: omit unnecessary AC_C_INLINE
21433         * modules/fdutimensat (configure.ac): Remove AC_C_INLINE.
21435         fchmodat, fchownat, fstatat: use extern-inline
21436         * lib/fchmodat.c, lib/openat.h (FCHMODAT_INLINE):
21437         * lib/fchownat.c, lib/openat.h (FCHOWNAT_INLINE):
21438         * lib/fstatat.c, lib/openat.h (FSTATAT_INLINE):
21439         New macros.
21440         * lib/openat.h:
21441         Replace all uses of 'static inline' with them.
21442         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
21443         * modules/fchmodat, modules/fchownat, modules/fstatat:
21444         * modules/openat-h:
21445         (Depends-on):
21446         Add extern-inline.
21447         (configure.ac): Remove AC_C_INLINE.
21449         acl, mbchar, priv-set: use extern-inline
21450         * lib/set-mode-acl.c, lib/acl-internal.h (ACL_INTERNAL_INLINE):
21451         * lib/mbchar.c, lib/mbchar.h (MBCHAR_INLINE):
21452         * lib/priv-set.c, lib/priv-set.h (PRIV_SET_INLINE):
21453         New macros.
21454         * lib/acl-internal.h, lib/mbchar.h, lib/priv-set.h:
21455         Replace all uses of 'static inline' with it.
21456         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
21457         * m4/acl.m4 (gl_FUNC_ACL):
21458         * m4/mbchar.m4 (gl_MBCHAR):
21459         * m4/priv-set.m4 (gl_PRIV_SET):
21460         Remove AC_C_INLINE, since 'inline' is no longer used directly.
21461         * modules/acl, modules/mbchar, modules/priv-set (Depends-on):
21462         Add extern-inline.
21464         sockets, sys_stat: remove AC_C_INLINE in MSVC-only cases
21465         * m4/sockets.m4 (gl_SOCKETS):
21466         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
21467         Remove AC_C_INLINE.  Here, 'inline' is used only in MSVC
21468         environments where it's already guaranteed to work, so we needn't
21469         check for it at 'configure'-time.
21471         tls-tests: omit unnecessary 'inline'
21472         * tests/test-tls.c (perhaps_yield): No longer inline.
21473         Simplicity and portability trump efficiency in test cases.
21475         utimens-tests: avoid unnecessary 'inline'
21476         * modules/fdutimensat-tests (configure.ac):
21477         * modules/futimens-tests (configure.ac):
21478         * modules/utimens-tests (configure.ac):
21479         * modules/utimensat-tests (configure.ac):
21480         Remove AC_C_INLINE.
21481         * tests/test-utimens-common.h (ctime_compare):
21482         No longer inline.  Simplicity and portability trump efficiency here.
21484         misc: don't limit commentary to inline functions
21485         * lib/binary-io.h, lib/malloca.h, lib/safe-alloc.c:
21486         * lib/xalloc-oversized.h, lib/xsize.h:
21487         Contrast macros to functions in general, not just to inline functions,
21488         when the commentary does not apply only to inline functions.
21490 2012-09-20  Jim Meyering  <meyering@redhat.com>
21492         non-recursive-gnulib-prefix-hack: new module
21493         * build-aux/prefix-gnulib-mk: Copied from coreutils, derived from
21494         the file that originated in Bison.
21495         * m4/non-recursive-gnulib-prefix-hack.m4: Likewise, this code is
21496         largely copied from a snippet that resided in bison's configure.ac.
21497         * modules/non-recursive-gnulib-prefix-hack: New file.
21498         * MODULES.html.sh (Support for maintaining and releasing projects):
21499         Add it.
21501 2012-09-18  Jim Meyering  <meyering@redhat.com>
21503         maint.mk: generalize _gl_tight_scope for non-recursive make
21504         * top/maint.mk (_gl_tight_scope): Remove a hard-coded assumption
21505         that *.h would describe additional .h files in the directory
21506         specified by $(_gl_TS_dir).  I.e., add this...
21507         (_gl_TS_other_headers): New variable.
21509         maint.mk: exempt trailing blanks found in "binary" files
21510         * top/maint.mk (sc_trailing_blank): Filter out any matches found in
21511         "binary" files, as reported by grep.  Suggested by Richard W.M. Jones
21512         in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
21514 2012-09-17  Jim Meyering  <meyering@redhat.com>
21516         maint.mk: sc_prohibit_path_max_allocation: don't FP for UNIX_PATH_MAX
21517         * top/maint.mk (sc_prohibit_path_max_allocation): Avoid false-positive
21518         match for symbols like UNIX_PATH_MAX. Reported by Richard W.M. Jones
21519         in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
21521 2012-09-17  Jim Meyering  <meyering@redhat.com>
21523         maint.mk: teach sc_prohibit_magic_number_exit to accept 77
21524         * top/maint.mk (sc_prohibit_magic_number_exit): Do not complain about
21525         uses like "exit (77)".  "77" is automake's "skip this test" exit code.
21526         It is not in the same category as "exit (0)" or "exit (1)", and
21527         besides, I know of no symbolic name for that 77.  Reported by
21528         Richard W.M. Jones in
21529         http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
21531 2012-09-17  Jim Meyering  <meyering@redhat.com>
21533         maint.mk: relax sc_prohibit_strcmp, to avoid a false positive
21534         * top/maint.mk (sc_prohibit_strcmp): Relax regexp, so as to match
21535         all uses of #define, not just those that start in column 1.
21536         Richard W.M. Jones reported a false positive in
21537         http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
21539 2012-09-16  Paul Eggert  <eggert@cs.ucla.edu>
21541         localcharset: work around Mac OS X bug with UTF-8 and MB_CUR_MAX
21542         * lib/localcharset.c (locale_charset) [DARWIN7]:
21543         Return "ASCII" if the system reports "UTF-8" and MB_CUR_MAX <= 1,
21544         as these two values are incompatible.  Problem reported by Max Horn.
21545         For more discussion, please see
21546         <http://lists.gnu.org/r/bug-gnulib/2012-09/msg00061.html>.
21548         doc: document sticky-EOF issue
21549         * doc/posix-functions/fgetc.texi (fgetc):
21550         * doc/posix-functions/fgets.texi (fgets):
21551         * doc/posix-functions/fread.texi (fread):
21552         * doc/posix-functions/fscanf.texi (fscanf):
21553         * doc/posix-functions/getc.texi (getc):
21554         * doc/posix-functions/getchar.texi (getchar):
21555         * doc/posix-functions/scanf.texi (scanf):
21556         Mention that glibc and default Solaris do not conform to
21557         C99 and POSIX-2001 or later, with respect to how getchar
21558         etc. behave when feof reports nonzero.
21560 2012-09-13  Joachim Schmitz  <jojo@schmitz-digital.de>  (tiny change)
21562         poll: fix poll(0, NULL, msec)
21563         * lib/poll.c: don't exit early if NULL is the 1st arg to poll(),
21564         but nfd is 0.  In that case poll should behave like select.
21566 2012-09-13  Joachim Schmitz  <jojo@schmitz-digital.de>  (tiny change)
21567             Paolo Bonzini  <bonzini@gnu.org>
21569         poll: fix for systems that can't recv() on a non-socket
21570         * lib/poll.c: if recv returns ENOTSOCK, assume the descriptor
21571         is readable.  In this case POLLHUP will not be supported.
21572         * doc/posix-functions/poll.texi: Document this.
21574 2012-09-13  Paolo Bonzini  <bonzini@gnu.org>
21576         poll/select: document portability problems not fixed by Gnulib.
21577         * doc/posix-functions/poll.texi: poll does not work well on
21578         pipes under Windows.  It has the same limitations as select on
21579         BeOS.
21580         * doc/posix-functions/select.texi: select does not work well
21581         on pipes under Windows.
21583 2012-09-10  Paul Eggert  <eggert@cs.ucla.edu>
21585         fcntl-h: check for AIX 7.1 bug with O_NOFOLLOW and O_CREAT
21586         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Check for AIX 7.1 bug
21587         that caused a GNU tar test failure.  Problem reported by Jez Wain; see
21588         <http://lists.gnu.org/r/bug-tar/2012-07/msg00018.html>.
21590 2012-09-06  Eric Blake  <eblake@redhat.com>
21592         net_if: give more details about the bug being fixed
21593         * doc/posix-headers/net_if.texi: Add clarification.
21595 2012-09-05  Eric Blake  <eblake@redhat.com>
21597         net_if: new module
21598         * modules/net_if: New module, borrowing ideas from netinet_in.
21599         * m4/net_if_h.m4: New file.
21600         * lib/net_if.in.h: Likewise.
21601         * doc/posix-headers/net_if.texi (net/if.h): Document it.
21602         * MODULES.html.sh (lacking POSIX:2008): Likewise.
21603         * tests/test-net_if.c: Make function checks conditional.
21604         Reported by Jasper Lievisse Adriaanse <jasper@humppa.nl>.
21606 2012-09-05  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
21608         readutmp: fix non-portable UT_PID use
21609         * lib/readutmp.c (desirable_utmp_entry) <READ_UTMP_CHECK_PIDS>:
21610         Use `UT_PID (u) > 0' as absolute condition.
21612 2012-09-04  Jim Meyering  <meyering@redhat.com>
21614         fts: reduce two or more trailing spaces to just one, usually
21615         * lib/fts.c (fts_open): Upon initialization, if a name ends in two
21616         or more slashes, trim all but the final one.  But if a name consists
21617         solely of two slashes, don't modify it.  If it consists solely of
21618         three or more slashes, strip all but one.
21620         This is part of the solution to a minor problem with rm:
21621         it would print a bogus ELOOP diagnostic when failing to remove
21622         the slash-decorated name of a symlink-to-directory:
21624             $ mkdir d && ln -s d s && env rm -r s/
21625             rm: cannot remove 's': Too many levels of symbolic links
21627         With the change below and a trivial don't-trim-trailing-slashes
21628         adjustment to remove.c, it does this:
21630             $ env rm -r s/
21631             rm: cannot remove 's/': Not a directory
21633         Improved by: Eric Blake
21635         fts: when there is no risk of overlap, use memcpy, not memmove
21636         * lib/fts.c (fts_alloc): Fix unjustified memcopy: s/memmove/memcpy/
21638 2012-08-29  Paul Eggert  <eggert@cs.ucla.edu>
21640         stdbool: be more compatible with mixed C/C++ compiles
21641         * lib/stdbool.in.h (_Bool, true, false) [__cplusplus]:
21642         Define to bool, true, false, respectively, as GCC's builtin
21643         stdbool.h does.  Problem reported by Michael Goffioul in
21644         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00143.html>.
21646 2012-08-28  Jim Meyering  <meyering@redhat.com>
21648         revert last change: it was not needed
21649         * tests/test-vc-list-files-git.sh: There's already a test for
21650         a working git, just below.
21652 2012-08-28  Jim Meyering  <meyering@redhat.com>
21654         tests: test-vc-list-files-git.sh: skip if git is not available
21655         * tests/test-vc-list-files-git.sh: Skip this test when git is
21656         not available.
21658 2012-08-26  Bruno Haible  <bruno@clisp.org>
21660         gnulib-tool: Remove no-op option --no-changelog.
21661         * gnulib-tool (func_usage): Don't mention --no-changelog.
21662         (do_changelog): Remove variable.
21663         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
21665 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
21667         doc: remove fdl-1.2.texi
21668         It is no longer used or maintained, and its use of @acronym
21669         is problematic.  See the thread containing
21670         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00134.html>.
21671         * config/srclist.txt: Remove doc/old-licenses/fdl-1.2.texi.
21672         * doc/old-licenses/fdl-1.2.texi: Remove.
21674         execinfo: port to FreeBSD
21675         * m4/execinfo.m4 (gl_EXECINFO_H): Set LIB_EXECINFO to -lexecinfo
21676         if needed, as in FreeBSD.  Reported by Bastien Roucariès in
21677         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00113.html>.
21678         * modules/execinfo (Link): Add $(LIB_EXECINFO).
21680 2012-08-23  Jim Meyering  <meyering@redhat.com>
21682         xstrtol.h: avoid "_Noreturn is not at beginning of declaration" warning
21683         * lib/xstrtol.h: Put "_Noreturn" before "void" in declaration,
21684         to placate gcc's -Wold-style-declaration.
21686 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
21688         doc: do not use @acronym
21689         * doc/inet_ntoa.texi (inet_ntoa):
21690         * doc/parse-datetime.texi (Seconds since the Epoch)
21691         (Specifying time zone rules):
21692         * doc/posix-functions/inet_ntoa.texi (inet_ntoa):
21693         Don't use @acronym.  Problem reported by John Darlington in
21694         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00124.html>.
21696 2012-08-23  Paul Eggert  <eggert@cs.ucla.edu>
21698         stdnoreturn: port to newer GCCs
21699         * m4/stdnoreturn.m4 (gl_STDNORETURN_H): Avoid problems with
21700         bleeding-edge GCC that complains about 'int _Noreturn foo (void);'.
21701         Problem reported by Jim Meyering in
21702         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00121.html>.
21703         Also, rename the 'test' function to a void a clash with the
21704         already-supplied 'main' function; this fixes a bug that incorrectly
21705         rejected GCC 4.7.1's <stdnoreturn.h>.
21706         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h):
21707         Document GCC problem.
21709 2012-08-22  Reuben Thomas  <rrt@sc3d.org>
21711         pipe-filter: fix comment typo
21712         * lib/pipe-filter.h: Mention correct function.
21714 2012-08-22  Paul Eggert  <eggert@cs.ucla.edu>
21716         execinfo: new module
21717         This is for Emacs.  Currently, it provides a no-effect stub
21718         on all platforms where it does not already work.
21719         It already works on glibc-based systems, and on Solaris 11.
21720         * lib/execinfo.c, lib/execinfo.in.h, m4/execinfo.m4, modules/execinfo:
21721         New files.
21722         * doc/glibc-headers/execinfo.texi (execinfo.h):
21723         * MODULES.html.sh (Misc): Document it.
21725 2012-08-20  Paul Eggert  <eggert@cs.ucla.edu>
21727         extern-inline: support old GCC 'inline'
21728         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Use pre-C99 GCC 'inline'
21729         if available.  This applies to GCC versions 2.7 through 4.2, or
21730         when newer GCC is using -fgnu89-inline.  The goal is to address
21731         some of the performance issues mentioned by Bruno Haible in
21732         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00097.html>.
21734 2012-08-20  Eric Blake  <eblake@redhat.com>
21736         maint.mk: avoid redundant file name in message
21737         * top/maint.mk (sc_prohibit_strcmp, sc_unmarked_diagnostics)
21738         (sc_prohibit_defined_have_decl_tests, sc_const_long_option)
21739         (sc_makefile_path_separator_check): Remove bogus $(ME).
21741 2012-08-20  Mike Frysinger  <vapier@gentoo.org>
21743         timer-time: fix link order when static linking on glibc
21744         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
21745         _after_ -lrt so that it's significant.
21747 2012-08-19  Paul Eggert  <eggert@cs.ucla.edu>
21749         timespec: omit unnecessary AC_C_INLINE
21750         * m4/timespec.m4 (gl_TIMESPEC): Do not require AC_C_INLINE.
21752         stat-time: omit unnecessary AC_C_INLINE
21753         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
21754         Do not require AC_C_INLINE.
21756         ignore-value: omit unnecessary AC_C_INLINE
21757         * modules/ignore-value (configure.ac): Do not require AC_C_INLINE.
21759         sys_select: avoid 'static inline'
21760         * lib/sys_select.in.h (rpl_fd_isset): Now static, not static inline.
21762         mktime: avoid 'static inline'
21763         * lib/mktime.c (leapyear, ydhms_diff): Now static, not static inline.
21764         * m4/mktime.m4 (gl_PREREQ_MKTIME): Do not require AC_C_INLINE.
21766 2012-08-19  Bruno Haible  <bruno@clisp.org>
21768         gnulib-tool: Improve coding style.
21769         * gnulib-tool (func_emit_tests_Makefile_am): Set perhapsLT, like in
21770         func_emit_lib_Makefile_am.
21771         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
21773 2012-08-19  Bruno Haible  <bruno@clisp.org>
21775         gnulib-tool: Fix indentation.
21776         * gnulib-tool (func_import): Fix indentation.
21778 2012-08-19  Bruno Haible  <bruno@clisp.org>
21780         gnulib-tool: Remove old file names from .cvsignore, .gitignore.
21781         * gnulib-tool (func_update_ignorelist): Don't use 'join -v 1' command
21782         on the list of removed files.
21784 2012-08-17  Paul Eggert  <eggert@cs.ucla.edu>
21786         test-parse-datetime: avoid glibc leap-second glitch
21787         * tests/test-parse-datetime.c (main): Set TZ to US Eastern time
21788         with the 2012 rules.  Problem reported by Bruce Dubbs in
21789         <http://bugs.gnu.org/12206>.
21791 2012-08-14  Bruno Haible  <bruno@clisp.org>
21793         gnulib-tool: Fix indentation of generated gnulib-comp.m4 file.
21794         * gnulib-tool (func_emit_autoconf_snippet): Initialize indentation
21795         from argument.
21796         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
21798 2012-08-14  Eric Blake  <eblake@redhat.com>
21800         ldexp: relax license
21801         * modules/ldexp (License): Trivial relax, since the module only
21802         provides a permissively licensed m4 file.
21804 2012-08-13  Bruno Haible  <bruno@clisp.org>
21806         gnulib-tool: Fix persistence of --witness-c-macro option.
21807         * gnulib-tool (func_import): Fix typo in emit of gl_WITNESS_C_MACRO.
21808         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
21810 2012-08-11  Eric Blake  <eblake@redhat.com>
21812         count-leading-zeros: use a lookup table on non-gcc compilers
21813         * lib/count-leading-zeros.h (count_leading_zeros_32): Use an
21814         alternate implementation, suggested by Jim Meyering.
21816 2012-08-10  Eric Blake  <eblake@redhat.com>
21818         count-leading-zeros: new module
21819         * modules/count-leading-zeros: New module.
21820         * m4/count-leading-zeros.m4: New file.
21821         * lib/count-leading-zeros.h: Likewise.
21822         * modules/count-leading-zeros-tests: New test.
21823         * tests/test-count-leading-zeros.c: New file.
21824         * MODULES.html.sh (Integer arithmetic functions): Document it.
21826 2012-08-07  Simon Josefsson  <simon@josefsson.org>
21827             Jim Meyering  <meyering@redhat.com>
21829         maintainer-makefile: Fix syntax error with dash.
21830         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): Quote arguments.
21831         (sc_vulnerable_makefile_CVE-2012-3386): Likewise.
21833 2012-08-05  Jim Meyering  <meyering@redhat.com>
21835         extern-inline: also ignore -Wmissing-declarations
21836         * m4/extern-inline.m4: Also ignore -Wmissing-declarations,
21837         required with gcc-4.8.0-to-be.
21839         maint.mk: sc_prohibit_magic_number_exit: avoid new false positives
21840         * top/maint.mk (sc_prohibit_magic_number_exit): Also filter out matches
21841         for /error ?([^,]*)/.  This avoids false-positives for strings like
21842         "Unknown error (252)", introduced via commit v0.0-7538-g92875a6.
21844 2012-08-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
21846         gnumakefile: better interaction with Automake-NG
21847         * modules/gnumakefile [Makefile.am]: The makefiles generated by
21848         Automake-NG always contain a definition of VPATH, even in non-VPATH
21849         builds (its value being simply '.' in that case).  So, in the
21850         'clean-GNUmakefile' rule, to determine whether running under a
21851         VPATH setup, compare '$(srcdir)' to '.' rather than checking whether
21852         '$(VPATH)' expands to the empty string.
21854 2012-08-02  Carlo de Falco  <carlo.defalco@polimi.it>  (tiny change)
21856         base64: Use extern C scope in header file, for C++.
21857         * lib/base64.h: Add C++ namespace protection.
21859 2012-08-02  Paul Eggert  <eggert@cs.ucla.edu>
21861         stat-time, timespec, u64: support naive out-of-dir builds
21862         * lib/stat-time.c, lib/timespec.c, lib/u64.c:
21863         Use '#include "foo.h"', not '#include <foo.h>', when including
21864         one's own interface.  This works better when configuring with
21865         out-of-directory builds, since packages need not add an
21866         otherwise-unnecessary -I$(topdir_src)/lib to DEFAULT_INCLUDES.
21868 2012-08-01  Paul Eggert  <eggert@cs.ucla.edu>
21870         utimens: use extern-inline
21871         * lib/utimens.c (_GL_UTIMENS_INLINE): Define when including utimens.h.
21872         * lib/utimens.h: Add copyright notice, since this is now large enough
21873         to copyright.  Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
21874         (_GL_UTIMENS_INLINE): New macro.  Use it instead of 'static inline'.
21875         * modules/utimens (Depends-on): Add extern-inline.
21877         u64: use extern-inline
21878         * lib/u64.c: New file.
21879         * lib/u64.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
21880         (_GL_U64_INLINE): New macro.  Use it instead of 'static inline'.
21881         * modules/u64 (Files): Add lib/u64.c.
21882         (Depends-on): Add extern-inline.
21883         (configure.ac): No need to require AC_C_INLINE, since extern-inline
21884         does that now.
21885         (lib_SOURCES): Add u64.c.
21887         timespec: use extern-inline
21888         * lib/timespec.c: New file.
21889         * lib/timespec.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
21890         (_GL_TIMESPEC_INLINE): New macro.  Use it instead of 'static inline'.
21891         * modules/timespec (Files): Add lib/timespec.c.
21892         (Depends-on): Add extern-inline.
21893         (lib_SOURCES): Add timespec.c.
21895         stat-time: use extern-inline
21896         * lib/stat-time.c: New file.
21897         * lib/stat-time.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
21898         (_GL_STAT_TIME_INLINE): New macro.  Use it instead of 'static inline'.
21899         * modules/stat-time (Files): Add lib/stat-time.c.
21900         (Depends-on): Add extern-inline.
21901         (lib_SOURCES): Add stat-time.c.
21903         extern-inline: new module
21904         * modules/extern-inline, m4/extern-inline.m4: New files.
21905         This is for better support of 'extern inline' a la ISO C99,
21906         with a portable alternative on compilers that do not support
21907         C99-style 'extern inline'.  Using 'extern inline' shrinks the size
21908         of the Emacs executable, when compiled with debugging disabled,
21909         which is a typical way that Emacs is built while developing.
21911 2012-08-01  Akim Demaille  <akim@lrde.epita.fr>
21913         maint.mk: a "release-commit" wrapper to do-release-commit-and-tag
21914         * build-aux/do-release-commit-and-tag: Move variable definitions
21915         together.
21916         ($branch): Instead of defaulting to "master", default to the current
21917         branch (as gnu-web-doc-update does).
21918         (help): Display the current values of the option arguments.
21919         * top/maint.mk (release-commit): New.
21920         * top/README-release: Simplify the corresponding step.
21922 2012-07-30  Eric Blake  <eblake@redhat.com>
21924         passfd: fix comment on recvfd
21925         * lib/passfd.c (recvfd): Fix comment.
21926         Reported by Jann Horn <jannhorn@googlemail.com>.
21928 2012-07-30  Jim Meyering  <meyering@redhat.com>
21930         maint.mk: avoid a sub-shell
21931         * top/maint.mk (release-prep): Remove unneeded sub-shell.
21933 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
21935         maint.mk: use silent-rules support from Automake
21936         * top/maint.mk (news-check, vc-diff-check, announcement)
21937         (no-submodule-changes, alpha beta stable, release-prep)
21938         (web-manual, update-copyright): Use $(AM_V_GEN) and $(AM_V_at).
21940 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
21942         maint.mk: provide a web-manual-update target
21943         * top/maint.mk: here.
21944         * top/README-release: Use it to simplify the web manual update step.
21946 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
21948         README-release: shorten the circuit to post a news
21949         * top/README-release: Point directly to the news submission form.
21951 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
21953         gnu-web-doc-update: fix --help
21954         * build-aux/gnu-web-doc-update: The information "top level" was written
21955         twice.
21957 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
21959         maint.mk: absolute VPATH issue
21960         * top/maint.mk (release-prep): Help Git find .git/.
21961         From Jim Meyering.
21963 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
21965         gitlog-to-changelog: fix previous change
21966         * build-aux/gitlog-to-changelog: Fix condition.
21967         Add missing ";".
21969 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
21971         gitlog-to-changelog: don't expect .git to be in $srcdir
21972         Reported by Bruno Haible.
21973         <http://lists.gnu.org/r/bug-gnulib/2012-07/msg00265.html>
21974         * build-aux/gitlog-to-changelog (&git_dir_option): New.
21975         Use it.
21977 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
21979         maint.mk: absolute VPATH build fix
21980         * top/maint.mk (gpg_key_ID): Help git find .git when, for instance,
21981         $(srcdir) is not a parent of $(builddir).
21983 2012-07-28  John Darrington  <john@darrington.wattle.id.au>
21985         clean-temp: Fix memory leak.
21986         * lib/clean-temp.c (cleanup_temp_dir): Free also the 'subdirs' and
21987         'files' members of tmpdir.
21989 2012-07-27  Jim Meyering  <meyering@redhat.com>
21991         maint.mk: new rule: refresh-gnulib-patches
21992         I noticed that 8 of coreutils' 9 gl/**/*.diff files were stale.
21993         Use this rule to refresh them.
21994         * top/maint.mk (refresh-gnulib-patches): New rule.
21996 2012-07-24  Bruno Haible  <bruno@clisp.org>
21998         gnulib-tool: Fix handling of inctests variable.
21999         * gnulib-tool: Canonicalize $inctests also in 'update' mode.
22000         Reported by Nick Bowler <nbowler@elliptictech.com>.
22002 2012-07-22  Bruno Haible  <bruno@clisp.org>
22004         getpass: Assume AC_CHECK_DECLS_ONCE invocation, like in getpass.m4.
22005         * lib/getpass.h: Assume HAVE_DECL_GETPASS is defined.
22006         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
22007         Remove exemption for getpass.h.
22008         Suggested by Eric Blake.
22010 2012-07-20  Eric Blake  <eblake@redhat.com>
22012         verify: document conflict with -Wnested-externs
22013         * lib/verify.h: Give hint about usage when gcc warnings are enabled.
22015         maint.mk: forbid exit(-1)
22016         * top/maint.mk (sc_prohibit_magic_number_exit): Detect negatives.
22018 2012-07-20  Paul Eggert  <eggert@cs.ucla.edu>
22020         fsusage: port back to Solaris
22021         * lib/fsusage.c (get_fs_usage): Fix busted logic causing compile-time
22022         error (fsd not declared) on Solaris 10.  Reported privately by
22023         Andrew Borodin.
22025 2012-07-19  Akim Demaille  <akim@lrde.epita.fr>
22027         gnu-web-doc-update: fix error messages
22028         * build-aux/gnu-web-doc-update: Don't pass $ME to die.
22030         gnu-web-doc-update: check the requirements.
22031         * build-aux/gnu-web-doc-update (find_tool): Import from bootstrap.
22032         ($CVS, $CVSU, $GIT, $RSYNC, $XARGS): New.
22033         * build-aux/bootstrap (find_tool): Comment change.
22035 2012-07-17  Akim Demaille  <akim@lrde.epita.fr>
22037         maint.mk: minor simplication.
22038         * top/maint.mk (_sc_excl): Use $(or...) instead of $(if...)
22039         for default values.
22041 2012-07-15  Akim Demaille  <akim@lrde.epita.fr>
22043         gitlog-to-changelog: VPATH build issues
22044         If builddir is not a subdirectory of srcdir, running git from it will
22045         fail.
22046         * build-aux/gitlog-to-changelog (--srcdir): New option.
22048 2012-07-15  Bruno Haible  <bruno@clisp.org>
22050         fpending: Assume AC_CHECK_DECLS_ONCE invocation, like in fpending.m4.
22051         * lib/fpending.h: Assume HAVE_DECL___FPENDING is defined.
22052         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests)
22053         Remove exemption for fpending.h.
22054         Suggested by Eric Blake.
22056 2012-07-15  Paul Eggert  <eggert@cs.ucla.edu>
22058         pthread_sigmask: fix bug on FreeBSD 9
22059         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_INEFFECTIVE]:
22060         Include string.h.
22061         (pthread_sigmask) [PTHREAD_SIGMASK_INEFFECTIVE]:
22062         When calling pthread_sigmask (1729, NEW, OLD), specify non-null NEW;
22063         this avoids a bug on FreeBSD 9, where pthread_sigmask is effective
22064         but pthread_sigmask (1729, NULL, NULL) returns zero.
22065         See <http://bugs.gnu.org/11884>.
22066         Avoid the need to call pthread_sigmask (1729, ...) in most cases,
22067         by inspecting whether the main call changed the old mask.
22069 2012-07-15  Reuben Thomas  <rrt@sc3d.org>
22071         README-release: make it more legible
22072         * top/README-release: Improve typography slightly.
22074 2012-07-15  Jim Meyering  <meyering@redhat.com>
22076         maint: require that each sc_... command start with "@"
22077         * Makefile (sc_prohibit_sc_omitted_at): New rule so that
22078         "make sc_maint" helps us avoid this nit.
22080 2012-07-15  Jim Meyering  <meyering@redhat.com>
22082         maint.mk: add leading "@" to quiet new "make syntax-check" rule
22083         * top/maint.mk (sc_prohibit_defined_have_decl_tests): Add "@".
22085 2012-07-13  Eric Blake  <eblake@redhat.com>
22087         maint.mk: new syntax check for HAVE_DECL checks
22088         * top/maint.mk (sc_prohibit_defined_have_decl_tests): New rule.
22089         * cfg.mk
22090         (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
22091         Exempt some false positives.
22092         Based on a report by Karel Zak.
22094         argp: make HAVE_DECL usage consistent
22095         * lib/argp-parse.c (__argp_parse): Check contents of HAVE_DECL
22096         macros, not whether they are defined.
22097         * m4/argp.m4 (gl_ARGP): Always define HAVE_DECL_* macros, per
22098         convention with other declaration checks.
22099         Reported by Karel Zak, with suggestions from Paul Eggert.
22101         stat-time: relax license to LGPLv2+
22102         * modules/stat-time (License): Relax, with consent of all authors.
22104         strndup: fix m4 usage error
22105         * m4/strndup.m4 (gl_FUNC_STRNDUP): HAVE_DECL_STRNDUP is always
22106         defined, to either 0 or 1.
22107         Reported by Karel Zak.
22109 2012-07-11  Jim Meyering  <meyering@redhat.com>
22111         maint: enable the sc_avoid_if_before_free syntax-check rule
22112         * cfg.mk (local-checks-to-skip): Enable sc_avoid_if_before_free.
22113         (if_before_free_offenders_): Define.
22114         (if_before_free_basename_re_): Define.
22115         Exempt current files with useless if-before-free.
22117 2012-07-11  Paul Eggert  <eggert@cs.ucla.edu>
22119         gettext: do not assume '#define ... defined ...' behavior
22120         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS):
22121         Do not use '#define FOO ... defined BAR ...', as the C standard says
22122         it's not portable to expect that this works after macro expansion.
22123         Problem reported for gzip by Steven M. Schweda in
22124         <http://lists.gnu.org/r/bug-gzip/2012-07/msg00000.html>.
22126 2012-07-10  Paul Eggert  <eggert@cs.ucla.edu>
22128         getloadavg: clean out old Emacs and Autoconf cruft
22129         See Glenn Morris in <http://bugs.gnu.org/11905>.
22130         * lib/getloadavg.c: Include <config.h>, <stdbool.h> always.
22131         Include <sys/param.h> if HAVE_SYS_PARAM_H, not if unix or __unix.
22132         (LDAV_CVT): Remove no-longer-used LOAD_AVE_CVT hook.
22133         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Check for <sys/param.h>.
22135 2012-07-10  Akim Demaille  <akim@lrde.epita.fr>
22137         bootstrap: let warn be like tests/init.sh's warn_
22138         Reported by Jim Meyering.
22139         * build-aux/bootstrap (warn): Remove, replaced by...
22140         (warnf_, warn_): these.
22141         Adjust callers.
22142         Shorten messages that no longer fit in 80 columns.
22144 2012-07-09  Bruno Haible  <bruno@clisp.org>
22146         getopt: Simplify after Emacs changed.
22147         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Inline gl_GETOPT_IFELSE.
22148         (gl_GETOPT_IFELSE): Remove macro.
22150 2012-07-09  Jim Meyering  <meyering@redhat.com>
22152         maint.mk: add sc_vulnerable_makefile_CVE-2012-3386
22153         * top/maint.mk (sc_vulnerable_makefile_CVE-2012-3386): New rule.
22155         maint.mk: _sc_search_regexp, sc_vulnerable_makefile_CVE-2009-4029: fix
22156         Bugs in both of those conspired to make the
22157         sc_vulnerable_makefile_CVE-2009-4029 rule 99% useless.
22158         _sc_search_regexp's handling of non-empty $in_files would filter
22159         out any offending file names.  sc_vulnerable_makefile_CVE-2009-4029's
22160         choice of in_files value meant there would be no match in most
22161         projects, due to the presence of two or more Makefile.in files.
22162         * top/maint.mk (_sc_search_regexp) [in_vc_files,in_files]: Clarify.
22163         Fix a bug in how a non-empty $$in_files was processed:
22164         (sc_vulnerable_makefile_CVE-2009-4029): Fix erroneous use of in_files:
22165         in spite of the name, it's a regexp, not a list of file names.
22167 2012-07-09  Paul Eggert  <eggert@cs.ucla.edu>
22169         getloadavg, getopt: fix commentary re configure.in
22170         Autoconf is deprecating the name 'configure.in', so change it to
22171         to the new name 'configure.ac' in a couple of places.
22172         * lib/getloadavg.c: configure.in -> configure.ac, in comment.
22173         * m4/getopt.m4 (gl_GETOPT_IFELSE, gl_GETOPT_SUBSTITUTE_HEADER)
22174         (gl_PREREQ_GETOPT): Remove obsolete commentary re Emacs configure.in.
22175         Emacs has renamed it to configure.ac, and it no longer refers
22176         to these macros anyway.
22178         timespec: mark functions with const attributes
22179         * lib/timespec.h (timespec_add, timespec_sub, dtotimespec):
22180         Mark with _GL_ATTRIBUTE_CONST.
22182 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
22184         canonicalize[-lgpl]: handle "guessing" values when cross-building
22185         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
22186         (gl_CANONICALIZE_LGPL): Check whether $gl_cv_func_realpath_works
22187         matches "*yes" instead of just "yes".  Regression introduced in commit
22188         e0bcf6626cde8dad4bfbdc4045c744f0cd8b9e24.
22190 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
22191             Bruno Haible  <bruno@clisp.org>
22193         canonicalize: make the right guess when cross-compiling to GNU
22194         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Match also "gnu*" to
22195         determine whether cross-compiling to glibc systems, so as to
22196         include GNU/Hurd.
22198 2012-07-06  Paul Eggert  <eggert@cs.ucla.edu>
22200         timespec-sub: avoid duplicate include
22201         * lib/timespec-sub.c: Do not include <config.h> twice.
22202         Reported by Juanma Barranquero.
22204 2012-07-06  Akim Demaille  <akim@lrde.epita.fr>
22206         bootstrap: use a more consistent error reporting scheme
22207         * build-aux/bootstrap (warn, die): New.
22208         Use them.
22210 2012-07-05  Paul Eggert  <eggert@cs.ucla.edu>
22212         sys_time: allow too-wide tv_sec
22213         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Allow struct
22214         timeval even if tv_sec is wider than time_t.  This allows
22215         OpenBSD 5.1 amd64 and fixes an Emacs porting glitch with utimens.c,
22216         as without this patch gnulib replaces struct timeval
22217         and OpenBSD futimes therefore has a type mismatch.
22218         * doc/posix-headers/sys_time.texi: Mention this.
22220         pthread: check for both pthread_create and pthread_join
22221         * m4/pthread.m4 (gl_PTHREAD_CHECK): Revert previous change, but
22222         alter the check so that it tests for both pthread_create and
22223         pthread_join.  This should be more portable to hosts like OSF/1 5.1.
22224         Suggested by Bruno Haible and Richard Yao in
22225         <http://lists.gnu.org/r/bug-gnulib/2012-07/msg00048.html>.
22227         parse-datetime: doc tuneup
22228         * doc/parse-datetime.texi: Index "leap seconds" and fix minor
22229         spacing issues.
22231 2012-07-05  Akim Demaille  <akim@lrde.epita.fr>
22233         do-release-commit-and-tag: fix the previous commit
22234         * build-aux/do-release-commit-and-tag: Actually the test was right,
22235         but the comment and the error message were misleading.
22236         Fix comment, and improve error message.
22237         Perform check first, so that NEWS is not modified uselessly.
22239         do-release-commit-and-tag: fix typo
22240         * build-aux/do-release-commit-and-tag: Be sure that NEWS does
22241         _not_ start with a stub.
22243 2012-07-04  Paul Eggert  <eggert@cs.ucla.edu>
22245         pthread: check for pthread_create, not pthread_join
22246         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_create, not
22247         pthread_join.  On FreeBSD 9, pthread_create is in libpthread but
22248         pthread_join in libc.  I hope this removes the need for all the
22249         OSF/1 5.1 pthread_join business.  Reported by Richard Yao in
22250         <http://lists.gnu.org/r/bug-gnulib/2012-07/msg00042.html>.
22252 2012-07-04  Jim Meyering  <meyering@redhat.com>
22254         parse-datetime: fix failure to diagnose invalid input
22255         date -d "$(printf '\xb0')" would print 00:00:00 with today's date
22256         rather than diagnosing the invalid input.  Now it reports this:
22257         date: invalid date '\260'
22258         * lib/parse-datetime.y (to_uchar): Define.
22259         (yylex): Don't sign-extend "other" bytes.
22260         * m4/parse-datetime.m4: Require AC_C_INLINE for first use of "inline".
22261         Thanks to Bruno Haible for the patch to this file.
22262         * tests/test-parse-datetime.c (main): Add a test to trigger the bug.
22263         Peter Evans reported the bug in GNU date: http://bugs.gnu.org/11843
22265 2012-07-03  Jim Meyering  <meyering@redhat.com>
22267         bootstrap: do not require now-removed build-aux/missing
22268         Now that build-aux/missing is, er, missing, bootstrap would
22269         silently fail.
22270         * build-aux/bootstrap (gnulib_extra_files): Remove $build_aux/missing
22271         from the list, now that (since commit v0.0-7489-gd0f486f) the file is
22272         no longer part of gnulib.
22273         Diagnose the failure.
22275 2012-07-03  Paul Eggert  <eggert@cs.ucla.edu>
22277         alloca: add support for HP NonStop TNS/E native
22278         * lib/alloca.in.h (alloca): Support the new host.
22279         From a suggestion by Joachim Schmitz in
22280         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00355.html>.
22282 2012-07-02  Pádraig Brady  <P@draigBrady.com>
22284         fsusage: remove code not needed on non GNU/Linux systems.
22286         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
22287         Don't include headers no longer needed in this case.
22288         * lib/fsusage.c [STAT_STATVFS &&
22289         ! (__linux__ && (__GLIBC__||__UCLIBC__))]: Undefine
22290         STAT_STATFS2_FRSIZE to exclude code not used in this case.
22292 2012-07-02  Paul Eggert  <eggert@cs.ucla.edu>
22294         fsusage: include files needed for glibc 2.6 fallback
22295         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
22296         Include <sys/param.h>, <sys/mount.h>, <sys/vfs.h>
22297         as they are needed for the 2.6 < glibc/Linux < 2.6.36 fallback.
22298         Problem reported by Ludovic Courtès in
22299         <http://lists.gnu.org/r/bug-gnulib/2012-07/msg00005.html>.
22301         fsusage: avoid needless check on GNU/Linux
22302         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Omit STAT_STATFS3_OSF1 check
22303         on GNU/Linux systems, since it can't possibly work.
22305 2012-07-01  Bruno Haible  <bruno@clisp.org>
22307         log: Fix an autoconf >= 2.64 warning.
22308         * modules/log (configure.ac): Require, not invoke, gl_FUNC_LOG.
22309         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
22311 2012-06-28  Bruno Haible  <bruno@clisp.org>
22313         log10f: Fix possible configuration problem.
22314         * m4/log10f.m4 (gl_FUNC_LOG10F): Augment LIBS by $LOG10F_LIBM, not
22315         $LOGF_LIBM.
22316         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
22318 2012-06-28  Bruno Haible  <bruno@clisp.org>
22320         remove: No longer override on all platforms. Fixes bug from 2010-03-20.
22321         * m4/remove.m4 (gl_FUNC_REMOVE): Test gl_cv_func_unlink_honors_slashes,
22322         not gl_cv_func_unlink_works.
22323         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
22325 2012-06-27  Eric Blake  <eblake@redhat.com>
22327         config: drop scripts that automake says are not independent
22328         * config/srclist.txt: Drop elisp-comp, missing, and ylwrap.
22329         * build-aux/elisp-comp: Delete.
22330         * build-aux/missing: Likewise.
22331         * build-aux/ylwrap: Likewise.
22332         * modules/elisp-comp: Likewise.
22333         * MODULES.html.sh: Drop mention of elisp-comp.
22334         * NEWS: Mention this.
22336 2012-06-26  Paul Eggert  <eggert@cs.ucla.edu>
22338         root-uid: new module
22339         This is for portability to Tandem's NonStop Kernel.
22340         * lib/root-uid.h, modules/root-uid: New files.
22341         * lib/euidaccess.c, lib/pt_chown.c, lib/unlinkdir.c:
22342         * lib/write-any-file.c, tests/test-sethostname2.c:
22343         Include "root-uid.h".
22344         * lib/euidaccess.c (euidaccess):
22345         * lib/pt_chown.c (main):
22346         * lib/unlinkdir.c (cannot_unlink_dir):
22347         * lib/write-any-file.c (can_write_any_file):
22348         * m4/mknod.m4 (gl_FUNC_MKNOD):
22349         * tests/test-sethostname2.c (geteuid, main):
22350         Don't assume ROOT_UID == 0.
22351         * modules/euidaccess (Depends-on):
22352         * modules/pt_chown (Depends-on):
22353         * modules/sethostname-tests (Depends-on):
22354         * modules/unlinkdir (Depends-on):
22355         * modules/write-any-file (Depends-on):
22356         Add root-uid.
22358         regex: use locale-independent comparison for codeset name
22359         See Bruno Haible's comment in <http://bugs.gnu.org/10305#120>.
22360         * lib/regcomp.c (init_dfa): Use just ASCII case comparison
22361         for codeset name.
22362         * lib/regex_internal.h: Do not include <strings.h>, since we
22363         no longer use strcasecmp.
22364         * modules/regex (Depends-on): Remove strcase.
22366 2012-06-23  Bruno Haible  <bruno@clisp.org>
22368         getopt-posix: No longer guarantee that option processing is resettable.
22369         * doc/posix-functions/getopt.texi: Drop description of problem with
22370         internal state. Fix info about mingw and msvc9.
22371         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't require a resettable
22372         option processing by getopt(). Run three test programs instead of one.
22373         Simplify cross-compilation guess.
22374         * NEWS: Mention the change.
22375         Reported by Rich Felker <dalias@aerifal.cx>.
22377 2012-06-26  Bruno Haible  <bruno@clisp.org>
22379         argp, regex: Ensure strcasecmp gets declared.
22380         * lib/argp-help.c: Include <strings.h>.
22381         * lib/regex_internal.h: Likewise.
22382         Reported and suggested by Joachim Schmitz <jojo@schmitz-digital.de>.
22384 2012-06-24  Bruno Haible  <bruno@clisp.org>
22386         ptsname_r: Make it consistent with ptsname on AIX.
22387         * lib/ptsname_r.c (__ptsname_r): For AIX, use nearly the same
22388         implementation as for OSF/1.
22389         * tests/test-ptsname_r.c (main) [AIX]: Use the modern way of opening
22390         a pty master.
22392         ptsname_r: Make it consistent with ptsname on OSF/1.
22393         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
22394         OSF/1.
22396 2012-06-24  Bruno Haible  <bruno@clisp.org>
22398         ttyname_r: Fix result on OSF/1, Solaris.
22399         * lib/ttyname_r.c (ttyname_r): Produce a NUL-terminated result.
22401 2012-06-24  Bruno Haible  <bruno@clisp.org>
22403         ptsname_r: Add support for Solaris.
22404         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
22405         Solaris.
22407         ptsname_r: Fix test failure on native Windows.
22408         * modules/ptsname_r (Depends-on): Add isatty.
22410         ptsname_r: Fix test failures on IRIX, Solaris.
22411         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Test whether isatty sets
22412         errno when it fails. Define ISATTY_FAILS_WITHOUT_SETTING_ERRNO
22413         accordingly.
22414         * lib/ptsname_r.c: Include <fcntl.h>.
22415         (__ptsname_r): When isatty returned false, then on IRIX, Solaris
22416         set errno if fd is invalid.
22417         * tests/test-isatty.c (main): Update comments.
22419 2012-06-24  Bruno Haible  <bruno@clisp.org>
22421         ptsname test: Extend test.
22422         * tests/test-ptsname.c: Include <errno.h>.
22423         (main): Test behaviour with invalid file descriptor.
22425 2012-06-23  Paul Eggert  <eggert@cs.ucla.edu>
22427         time: fix obsolete comment
22428         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Remove obsolete
22429         reference to HAVE_STRUCT_TIMESPEC in comment.
22431 2012-06-23  Bruno Haible  <bruno@clisp.org>
22433         getopt-gnu: Handle suboptimal getopt_long's abbreviation handling.
22434         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): If getopt_long exists but
22435         does not handle abbreviated long options with equivalent
22436         disambiguations, set gl_replace_getopt to yes.
22437         * doc/posix-functions/getopt.texi: Mention the OpenBSD 5.0 problem.
22439 2012-06-22  Paul Eggert  <eggert@cs.ucla.edu>
22441         time_r: fix typo that always overrode localtime_r decl
22442         * m4/time_r.m4 (gl_TIME_R): Use AC_CHECK_DECLS, not
22443         AC_CHECK_DECLS_ONCE, since localtime_r is declared in <time.h>,
22444         not in a standard include.
22446 2012-06-22  Bruno Haible  <bruno@clisp.org>
22448         Write "Mac OS X" instead of "MacOS X".
22449         * README: Write "Mac OS X" instead of "MacOS X".
22450         * build-aux/bootstrap: Likewise.
22451         * build-aux/install-reloc: Likewise.
22452         * lib/acl-internal.h: Likewise.
22453         * lib/acl_entries.c: Likewise.
22454         * lib/argp-ba.c: Likewise.
22455         * lib/argp-pv.c: Likewise.
22456         * lib/config.charset: Likewise.
22457         * lib/copy-acl.c: Likewise.
22458         * lib/csharpexec.c: Likewise.
22459         * lib/euidaccess.c: Likewise.
22460         * lib/fbufmode.c: Likewise.
22461         * lib/fflush.c: Likewise.
22462         * lib/file-has-acl.c: Likewise.
22463         * lib/filemode.h: Likewise.
22464         * lib/fpurge.c: Likewise.
22465         * lib/freadable.c: Likewise.
22466         * lib/freadahead.c: Likewise.
22467         * lib/freading.c: Likewise.
22468         * lib/freadptr.c: Likewise.
22469         * lib/freadseek.c: Likewise.
22470         * lib/fseeko.c: Likewise.
22471         * lib/fseterr.c: Likewise.
22472         * lib/fsusage.c: Likewise.
22473         * lib/fwritable.c: Likewise.
22474         * lib/fwriting.c: Likewise.
22475         * lib/get-rusage-as.c: Likewise.
22476         * lib/get-rusage-data.c: Likewise.
22477         * lib/getdomainname.c: Likewise.
22478         * lib/idpriv-drop.c: Likewise.
22479         * lib/idpriv-droptemp.c: Likewise.
22480         * lib/localcharset.c: Likewise.
22481         * lib/locale.in.h: Likewise.
22482         * lib/localename.c: Likewise.
22483         * lib/mbsrtowcs-state.c: Likewise.
22484         * lib/nproc.c: Likewise.
22485         * lib/passfd.c: Likewise.
22486         * lib/posix_openpt.c: Likewise.
22487         * lib/printf-parse.c: Likewise.
22488         * lib/progreloc.c: Likewise.
22489         * lib/safe-read.h: Likewise.
22490         * lib/safe-write.h: Likewise.
22491         * lib/sched.in.h: Likewise.
22492         * lib/set-mode-acl.c: Likewise.
22493         * lib/signal.in.h: Likewise.
22494         * lib/stdint.in.h: Likewise.
22495         * lib/stdio-impl.h: Likewise.
22496         * lib/stdlib.in.h: Likewise.
22497         * lib/strtod.c: Likewise.
22498         * lib/sys_select.in.h: Likewise.
22499         * lib/tcgetsid.c: Likewise.
22500         * lib/unistd.in.h: Likewise.
22501         * lib/unlockpt.c: Likewise.
22502         * lib/vasnprintf.c: Likewise.
22503         * lib/vma-iter.c: Likewise.
22504         * lib/wcsrtombs-state.c: Likewise.
22505         * m4/acl.m4: Likewise.
22506         * m4/acosl.m4: Likewise.
22507         * m4/asinl.m4: Likewise.
22508         * m4/atanl.m4: Likewise.
22509         * m4/c-stack.m4: Likewise.
22510         * m4/cosl.m4: Likewise.
22511         * m4/expl.m4: Likewise.
22512         * m4/extensions.m4: Likewise.
22513         * m4/fdatasync.m4: Likewise.
22514         * m4/fmal.m4: Likewise.
22515         * m4/frexp.m4: Likewise.
22516         * m4/frexpf.m4: Likewise.
22517         * m4/frexpl.m4: Likewise.
22518         * m4/fsusage.m4: Likewise.
22519         * m4/getdomainname.m4: Likewise.
22520         * m4/getloadavg.m4: Likewise.
22521         * m4/getopt.m4: Likewise.
22522         * m4/gettext.m4: Likewise.
22523         * m4/gnulib-common.m4: Likewise.
22524         * m4/intdiv0.m4: Likewise.
22525         * m4/intlmacosx.m4: Likewise.
22526         * m4/largefile.m4: Likewise.
22527         * m4/ldexpl.m4: Likewise.
22528         * m4/link-follow.m4: Likewise.
22529         * m4/locale-ar.m4: Likewise.
22530         * m4/locale-fr.m4: Likewise.
22531         * m4/locale-ja.m4: Likewise.
22532         * m4/locale-tr.m4: Likewise.
22533         * m4/locale-zh.m4: Likewise.
22534         * m4/locale_h.m4: Likewise.
22535         * m4/lock.m4: Likewise.
22536         * m4/logl.m4: Likewise.
22537         * m4/mathfunc.m4: Likewise.
22538         * m4/minus-zero.m4: Likewise.
22539         * m4/mktime.m4: Likewise.
22540         * m4/mmap-anon.m4: Likewise.
22541         * m4/multiarch.m4: Likewise.
22542         * m4/nanosleep.m4: Likewise.
22543         * m4/nocrash.m4: Likewise.
22544         * m4/poll.m4: Likewise.
22545         * m4/printf-frexpl.m4: Likewise.
22546         * m4/printf.m4: Likewise.
22547         * m4/signbit.m4: Likewise.
22548         * m4/sinl.m4: Likewise.
22549         * m4/sqrtl.m4: Likewise.
22550         * m4/strerror_r.m4: Likewise.
22551         * m4/tanl.m4: Likewise.
22552         * m4/threadlib.m4: Likewise.
22553         * m4/ttyname_r.m4: Likewise.
22554         * m4/unlink.m4: Likewise.
22555         * m4/visibility.m4: Likewise.
22556         * m4/wcwidth.m4: Likewise.
22557         * tests/minus-zero.h: Likewise.
22558         * tests/test-alloca-opt.c: Likewise.
22559         * tests/test-copy-acl.sh: Likewise.
22560         * tests/test-copy-file.sh: Likewise.
22561         * tests/test-fdatasync.c: Likewise.
22562         * tests/test-file-has-acl.sh: Likewise.
22563         * tests/test-flock.c: Likewise.
22564         * tests/test-fsync.c: Likewise.
22565         * tests/test-localename.c: Likewise.
22566         * tests/test-malloca.c: Likewise.
22567         * tests/test-nonblocking-pipe.h: Likewise.
22568         * tests/test-nonblocking-socket.h: Likewise.
22569         * tests/test-openpty.c: Likewise.
22570         * tests/test-posix_openpt.c: Likewise.
22571         * tests/test-ptsname.c: Likewise.
22572         * tests/test-ptsname_r.c: Likewise.
22573         * tests/test-sameacls.c: Likewise.
22574         * tests/test-select.h: Likewise.
22575         * tests/test-set-mode-acl.sh: Likewise.
22576         * tests/test-snprintf-posix.h: Likewise.
22577         * tests/test-sprintf-posix.h: Likewise.
22578         * tests/test-strtod.c: Likewise.
22579         * tests/test-time.c: Likewise.
22580         * tests/test-vasnprintf-posix.c: Likewise.
22581         * tests/test-vasprintf-posix.c: Likewise.
22582         * doc/acl-resources.txt: Likewise.
22583         * doc/**/*.texi: Likewise.
22584         Reported by Max Horn <max@quendi.de>.
22586 2012-06-22  Bruno Haible  <bruno@clisp.org>
22588         grantpt: Relax requirement regarding invalid file descriptors.
22589         * lib/grantpt.c: Don't include <fcntl.h>.
22590         (grantpt): Don't verify the validity of the file descriptor.
22591         * modules/grantpt (Depends-on): Remove fcntl-h.
22592         * tests/test-grantpt.c (main): Allow grantpt to succeed for invalid
22593         file descriptors.
22594         * doc/posix-functions/grantpt.texi: Document more platforms on which
22595         grantpt succeeds for invalid file descriptors.
22596         Reported by Rich Felker <dalias@aerifal.cx>.
22598 2012-06-22  Bruno Haible  <bruno@clisp.org>
22600         fbufmode test: Don't test unportable behaviour.
22601         * tests/test-fbufmode.c (test_mode): New function, extracted from main.
22602         (main): Invoke it three times.
22603         Reported by Szabolcs Nagy <nsz@port70.net>
22604         and Rich Felker <dalias@aerifal.cx>.
22606 2012-06-21  Bruno Haible  <bruno@clisp.org>
22608         gnulib-tool: Refactor inctests variable.
22609         * gnulib-tool: Normalize inctests to 'true' or 'false', not ''.
22610         (func_modules_transitive_closure,
22611         func_modules_transitive_closure_separately,
22612         func_import, func_create_testdir): Update.
22614         gnulib-tool: --create-[mega]testdir, --[mega]test implies --with-tests.
22615         * gnulib-tool: Accept option --without-tests.
22616         (func_usage): Document --without-tests option. Rearrange.
22617         (inctests): Normalize according to the mode.
22618         * NEWS: Mention the change.
22619         Suggested by Simon Josefsson.
22621 2012-06-21  Bruce Korb  <bkorb@gnu.org>
22623         parse-duration test: Avoid spurious output.
22624         * tests/test-parse-duration.sh: Reindent with leading tabs.
22626 2012-06-21  Jim Meyering  <meyering@redhat.com>
22628         maint: disable the strncpy prohibition
22629         * cfg.mk: Do not prohibit strncpy here.
22631 2012-06-21  Bruno Haible  <bruno@clisp.org>
22633         nonblocking: Avoid compilation error on mingw64.
22634         * m4/stdio_h.m4 (gl_STDIO_H): Invoke gl_MODULE_INDICATOR for scanf,
22635         fscanf.
22636         * modules/vscanf (configure.ac): Invoke gl_MODULE_INDICATOR.
22637         * modules/vfscanf (configure.ac): Likewise.
22638         * lib/stdio-read.c (scanf, fscanf, vscanf, vfscanf): Enable function
22639         definition only if stdio.h has prepared it.
22640         Reported by Daniel P. Berrange <berrange@redhat.com>.
22642 2012-06-20  Bernd Jendrissek  <bernd.jendrissek@gmail.com>  (tiny change)
22644         gnulib-tool: Use readlink if it is available.
22645         * gnulib-tool (func_readlink): Choose function more appropriately.
22647 2012-06-21  Paul Eggert  <eggert@cs.ucla.edu>
22649         posixtm-tests: port to buggy compiler
22650         Problem reported by Simon Josefsson in
22651         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00246.html>.
22652         * modules/posixtm-tests (Depends-on): Add stdint.
22653         * tests/test-posixtm.c (struct posixtm_test.t_expected):
22654         Now of type int_least64_t, not int64_t, both because that's
22655         what INT64_C returns and because int_least64_t works even
22656         on 72-bit hosts.
22657         (T): Use INT64_C on constants outside the traditional int range,
22658         to work around compiler bug noted by Simon.
22660         mktime: fix integer overflow in 'configure'-time test
22661         * m4/mktime.m4 (gl_FUNC_MKTIME): Do not rely on undefined behavior
22662         after integer overflow.  Problem reported by Rich Felker in
22663         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00257.html>.
22664         Also, don't look for further instances of a bug if we've already
22665         found one instance; this helps 'configure' run faster.
22667 2012-06-20  John Darrington  <john@darrington.wattle.id.au>  (tiny change)
22669         tmpfile, clean-temp: Fix invocation of GetVersionEx.
22670         * lib/tmpfile.c (supports_delete_on_close): Initialize parameter for
22671         GetVersionEx correctly.
22672         * lib/clean-temp.c (supports_delete_on_close): Likewise.
22674 2012-06-20  Bruno Haible  <bruno@clisp.org>
22676         fdopen: Allow implementations that don't reject invalid fd arguments.
22677         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Let the test pass if fdopen(-1,...)
22678         succeeds.
22679         Reported by Rich Felker <dalias@aerifal.cx>.
22681 2012-06-20  Simon Josefsson  <simon@josefsson.org>
22683         * modules/parse-duration-tests (test_parse_duration_LDADD): Don't
22684         bring in LIBINTL.
22686 2012-06-20  Paul Eggert  <eggert@cs.ucla.edu>
22688         init.sh: do not rely on autoupated PWD
22689         This addresses symptoms of the problem reported by Nelson H.F. Beebe in
22690         <http://lists.gnu.org/r/bug-gzip/2012-06/msg00008.html>.
22691         Although Nelson's bug was not necessarily fixed by this patch,
22692         it seems wise to make the change for safety.
22693         * tests/init.sh (path_prepend_): Do not rely on PWD updating
22694         automagically after 'cd'; this is not reliable on older shells.
22695         (setup_): Fail if we cannot cd to temporary directory.
22697 2012-06-19  Bruno Haible  <bruno@clisp.org>
22699         stat, fstat: Avoid warnings on mingw64.
22700         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Undefine before
22701         redefining.
22702         * lib/fstat.c (stat, fstat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Likewise.
22703         Reported by Daniel P. Berrange <berrange@redhat.com>.
22705 2012-06-19  Bruno Haible  <bruno@clisp.org>
22707         stdioext: Add support for musl libc.
22709         * m4/fbufmode.m4 (gl_FUNC_FBUFMODE): Test whether __fbufsize exists.
22710         * lib/fbufmode.c (fbufmode): Add conditional code for musl.
22712         * m4/fseterr.m4: New file.
22713         * lib/fseterr.h (fseterr): Define as an alias of __fseterr if that
22714         function exists.
22715         * modules/fseterr (Files): Add m4/fseterr.m4.
22716         (configure.ac): Invoke gl_FUNC_FSETERR. Compile fseterr.c if
22717         __fseterr does not exist.
22718         (Makefile.am): Remove fseterr.c from lib_SOURCES.
22720         * lib/freadable.h: Update comment.
22722         * lib/fwritable.h: Update comment.
22724         * lib/freading.h: Update comment.
22726         * lib/fwriting.h: Update comment.
22728         * m4/freadahead.m4: New file.
22729         * lib/freadahead.h (freadahead): Define as an alias of __freadahead if
22730         that function exists.
22731         * modules/freadahead (Files): Add m4/freadahead.m4.
22732         (configure.ac): Invoke gl_FUNC_FREADAHEAD. Compile freadahead.c if
22733         __freadahead does not exist.
22734         (Makefile.am): Remove freadahead.c from lib_SOURCES.
22736         * m4/freadptr.m4: New file.
22737         * lib/freadptr.h (freadptr): Define as an alias of __freadptr if that
22738         function exists.
22739         * modules/freadptr (Files): Add m4/freadptr.m4.
22740         (configure.ac): Invoke gl_FUNC_FREADPTR. Compile freadptr.c if
22741         __freadptr does not exist.
22742         (Makefile.am): Remove freadptr.c from lib_SOURCES.
22744         * m4/freadseek.m4: New file.
22745         * lib/freadseek.c (freadptrinc): Use __freadptrinc if that function
22746         exists.
22747         * modules/freadseek (Files): Add m4/freadseek.m4.
22748         (configure.ac): Invoke gl_FUNC_FREADSEEK.
22750         * lib/fpurge.c (fpurge): Update comment.
22752         Reported by and with help from Rich Felker <dalias@aerifal.cx>.
22754 2012-06-19  Bruno Haible  <bruno@clisp.org>
22756         *printf-posix: Put more info into config.log.
22757         * m4/printf.m4 (gl_PRINTF_ENOMEM): Emit conftest's error output and
22758         exit code into config.log.
22760 2012-06-19  Bruno Haible  <bruno@clisp.org>
22762         getopt-gnu: Fix exit code overflow in autoconf test.
22763         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Squash exit code values,
22764         to keep them below < 128.
22766 2012-06-17  Jim Meyering  <meyering@redhat.com>
22768         maint.mk: fix typo in code to derive GPG key at release time
22769         * top/maint.mk (gpg_key_ID): Fix typo: $3 -> $$3
22771 2012-06-17  Paul Eggert  <eggert@cs.ucla.edu>
22773         regex: avoid warning when pointers are not long
22774         * lib/regcomp.c (parse_dup_op, mark_opt_subexp): Cast between void *
22775         and uintptr_t, not long, for portability to hosts where pointers and
22776         long have different sizes.  Issue noted by Daniel P. Berrange in
22777         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00122.html>
22778         and fix suggested by Bruno Haible in
22779         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00128.html>.
22781 2012-06-17  Bruno Haible  <bruno@clisp.org>
22783         dummy: Relicense into the public domain.
22784         * modules/dummy (License): Set to "public domain".
22785         Suggested by Reuben Thomas.
22787 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
22789         announce-gen: VPATH issues
22790         * build-aux/announce-gen (--srcdir): New option, used to trim the
22791         $srcdir part of the path from $builddir to NEWS.
22792         * top/maint.mk (announcement): Adjust.
22794 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
22796         gnu-web-doc-update: VPATH builds
22797         * build-aux/gnu-web-doc-update (--builddir): New option.
22798         Revamp the handling of options.
22799         Prefer $(...) to `...`.
22800         Don't pass --tmpdir=. to mktemp, it is useless given that we specify
22801         the template, and it is GNU mktemp specific.
22802         Prefer set -e to long series of &&.
22803         Restore the initial git branch, not "master".
22804         Properly initialize submodules (don't rely only on bootstrap).
22805         Do not reconfigure blindly, use config.status.
22806         * top/README-release: Update instructions for gnu-web-doc-update.
22808 2012-06-11  Jim Meyering  <meyering@redhat.com>
22810         maint.mk: revert most of the previous change re "all these"
22811         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Remove that pair.
22812         For rationale, see the discussion at
22813         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30912
22815 2012-06-10  Karl Berry  <karl@gnu.org>
22817         * build-aux/gnupload: with --dry-run, do not ask for gpg pw.
22819         * build-aux/gnupload: implement --replace, ftp-upload protocol v1.2.
22821 2012-06-10  Bruce Korb  <bkorb@gnu.org>
22823         parse-duration: Relicense under LGPLv2+.
22824         * modules/parse-duration (License): Change to LGPLv2+.
22826 2012-06-10  Jim Meyering  <meyering@redhat.com>
22828         maint.mk: prohibit common grammar error: "all these"
22829         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Add "all these" to
22830         the list of prohibited word sequences.  It should be "all of these".
22831         * lib/tempname.c (__gen_tempname): Fix one of them.
22833 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
22835         do-release-commit-and-tag: support VPATH builds
22836         * build-aux/do-release-commit-and-tag: Prefer $(...) to `...`.
22837         (noteworthy): Defined earlier to factor its value.
22838         (noteworthy_stub): New.
22839         Use it to factor.
22840         (help_version): Split into...
22841         (help, version): these.
22842         Adjust the option processing part.
22843         Support "--option=value" in addition to "--option value".
22844         (builddir): New.
22845         (--builddir): New option.
22846         * top/README-release: Document this.
22847         Reword slightly so that the reader cannot understand that he
22848         has to do these steps before calling do-release-commit-and-tag.
22850 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
22852         readme-release: also require announce-gen and maintainer-makefile
22853         * modules/readme-release (Depends-on): here.
22854         * modules/announce-gen, modules/do-release-commit-and-tag,
22855         modules/gnu-web-doc-update, modules/maintainer-makefile
22856         (Description): Point to readme-release.
22858 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
22860         maint.mk: fix VPATH issues.
22861         * top/maint.mk (news-check): GNU Make understand $< very well.
22862         (release-prep): NEWS is in $(srcdir).
22864 2012-06-05  Akim Demaille  <akim@lrde.epita.fr>
22866         readme-release: require the promoted modules.
22867         * modules/readme-release (Depends-on): Add
22868         do-release-commit-and-tag, gnupload, and gnu-web-doc-update, used
22869         in this text.
22871 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
22872             Bruno Haible  <bruno@clisp.org>
22874         error, strerror-override: Support mingw64 from Fedora 17.
22875         * lib/errno.in.h (GNULIB_defined_ESTREAMS): Use a different indicator
22876         for ETXTBSY, ENODATA, ENOSR, ENOSTR, ETIME, EOTHER, compared to
22877         EINPROGRESS.
22878         * lib/strerror-override.h (strerror_override): Test it.
22879         * lib/strerror-override.c (strerror_override): Likewise.
22880         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also ETXTBSY.
22882 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
22883             Bruno Haible  <bruno@clisp.org>
22885         error, strerror-override: Support mingw64 from Fedora 17.
22886         * lib/errno.in.h (GNULIB_defined_ENOTRECOVERABLE): Use a different
22887         indicator for ENOTRECOVERABLE, compared to EOWNERDEAD.
22888         * lib/strerror-override.h (strerror_override): Test it.
22889         * lib/strerror-override.c (strerror_override): Likewise.
22891 2012-06-03  Bruno Haible  <bruno@clisp.org>
22893         error, strerror-override: Support new errno values from POSIX:2008.
22894         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also EOWNERDEAD and
22895         ENOTRECOVERABLE.
22896         * lib/errno.in.h (EOWNERDEAD, ENOTRECOVERABLE): Define on all
22897         platforms.
22898         * lib/strerror-override.c (strerror_override): Conditionalize the
22899         EOWNERDEAD, ENOTRECOVERABLE handling on GNULIB_defined_EOWNERDEAD.
22900         * lib/strerror-override.h (strerror_override): Declare also if
22901         GNULIB_defined_EOWNERDEAD is defined.
22902         * tests/test-errno.c (e130, e131): New variables.
22903         * doc/posix-headers/errno.texi: Mention the status for EOWNERDEAD,
22904         ENOTRECOVERABLE.
22905         Reported by Paolo Bonzini.
22907 2012-05-31  Jim Meyering  <meyering@redhat.com>
22909         savewd: add missing dependency on sys_wait module
22910         * modules/savewd (Depends-on): Add sys_wait, needed at least
22911         for MSVC.  Report and suggested change by Michael Goffioul.
22913 2012-05-29  Paul Eggert  <eggert@cs.ucla.edu>
22915         system-quote-tests: port to CentOS 5
22916         Problem reported by Tom G. Christensen in
22917         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00255.html>.
22918         * tests/test-system-quote-child.c (fclose, fprintf): Undef.
22920 2012-05-29  Jim Meyering  <meyering@redhat.com>
22922         maint: fix typos in comments and ChangeLog
22923         Culprits identified and fixed mostly automatically using these commands:
22924         git ls-files | misspellings -f - |grep -v '^ERROR:' |perl -pe \
22925         's/^(.*?)\[(\d+)\]: (\w+) -> "(.*?)"$/sed -i '\''${2}s!$3!$4!'\'' $1/'
22926         using http://github.com/lyda/misspell-check
22927         * ChangeLog: Fix typos.
22928         * doc/solaris-versions: Likewise.
22929         * lib/regexec.c (re_search_stub): Likewise.
22930         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
22932 2012-05-27  Paul Eggert  <eggert@cs.ucla.edu>
22934         manywarnings: remove duplicate -Wmultichar entry
22935         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Remove duplicate
22936         entry for -Wmultichar.  -Wno-multichar is in the GCC 4.7.0 manual,
22937         so keep the entry marked as documented.
22939 2012-05-27  Karl Berry  <karl@gnu.org>
22941         * config/srclist.txt (mktime.c): remove last libc sync,
22942         perhaps just temporarily.
22944 2012-05-26  Paul Eggert  <eggert@cs.ucla.edu>
22946         regex: don't assume uint64_t or uint32_t
22947         * lib/regcomp.c (init_word_char): Don't assume that the types
22948         uint64_t and uint32_t exist.  The C standard doesn't guarantee
22949         them, and on some 32-bit compilers there is no uint64_t.
22950         Problem reported by Gianluigi Tiesi in
22951         <http://lists.gnu.org/r/bug-gnulib/2012-03/msg00154.html>.
22953 2012-05-25  Jim Meyering  <meyering@redhat.com>
22955         maint.mk: add strncpy-prohibiting syntax-check rule
22956         * top/maint.mk (sc_prohibit_strncpy): New rule, from coreutils.
22958 2012-05-24  Jim Meyering  <meyering@redhat.com>
22960         maint.mk: compute $(gpg_key_ID) more portably
22961         * top/maint.mk (gpg_key_ID): Use awk in place of sed '{...;...;}'.
22962         That use of sed is not portable to some fringe systems.
22963         Reported by Paul Eggert in
22964         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30793/focus=30802
22966 2012-05-23  Paul Eggert  <eggert@cs.ucla.edu>
22968         mktime: sync from glibc
22969         * config/srclist.txt: Uncomment mktime.c.
22970         * lib/mktime.c: Sync from glibc master.  This incorporates 3 changes.
22971         First, indent with tabs, since glibc uses tabs and doesn't want to
22972         change and we'd rather be identical to glibc.  Also, two small
22973         coding changes:
22974         (isdst_differ): Use &&, not &, as && is the usual style.
22975         (__mktime_internal): Rename local var from abs_diff to approx_abs_diff
22976         for clarity.
22978 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
22980         announce-gen: du -h is more portable than du --human
22981         * build-aux/announce-gen (sizes): Invoke du with -h instead
22982         of --human.  Accept leading white space in its output.
22984 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
22986         announce-gen: Improve diagnostics.
22987         * build-aux/announce-gen: When parsing command line options,
22988         prefer "announce-gen: option --release-type requires an argument"
22989         to "Option release-type requires an argument".
22991 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
22993         maint.mk: gpg_key_ID: use sed more portably
22994         * top/maint.mk (gpg_key_ID): End sed block with a semicolon before
22995         the closing brace.
22996         (refresh-po): Fuse two sed invocations into one.
22998 2012-05-15  Akim Demaille  <akim@lrde.epita.fr>
23000         gitlog-to-changelog: support the log message format used in Bison.
23001         * build-aux/gitlog-to-changelog: Support --strip-tab and
23002         --strip-cherry-picked.
23004 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
23006         poll/select: prevent busy-waiting.  SwitchToThread() only gives away
23007         the rest of the current time slice to another thread in the current
23008         process. So if the thread that feeds the file decscriptor we're
23009         polling is not in the current process, we get busy-waiting.
23010         * lib/poll.c: Use SleepEx(1, TRUE) instead of SwitchToThread().
23011         Patch from Theodore Leblond.
23012         * lib/select.c: Split polling out of the loop that sets the output
23013         fd_sets.  Check for zero result and loop if the wait timeout is
23014         infinite.
23016 2012-05-21  Simon Josefsson  <simon@josefsson.org>
23018         select: Fix build error on IRIX 6.5.
23019         * lib/select.c: Include stddef.h for NULL.
23021 2012-05-21  Simon Josefsson  <simon@josefsson.org>
23023         gc: fix libgcrypt detection on older machines.
23024         * m4/gc.m4: Reject libgcrypt earlier than 1.4.4.  Collapse
23025         copyright years because the file has been distributed every year
23026         since it was created.
23028 2012-05-18  Paul Eggert  <eggert@cs.ucla.edu>
23030         crypto: fix bug in large buffer handling
23031         Problem reported by Serge Belyshev for glibc in
23032         <http://sourceware.org/bugzilla/show_bug.cgi?id=14090> and for gnulib in
23033         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00226.html>.
23034         * lib/md4.c (md4_process_block):
23035         * lib/md5.c (md5_process_block):
23036         * lib/sha1.c (sha1_process_block):
23037         * lib/sha256.c (sha256_process_block):
23038         Don't assume the buffer length is less than 2**32.
23039         * lib/sha512.c (sha512_process_block): Likewise.
23040         Here, the bug is present only in the rare case where the host does
23041         not support uint64_t or where size_t is wider than 64 bits.
23042         Use u64size to work around the problems.
23043         * lib/u64.h (u64size): New macro.
23045 2012-05-15  Pádraig Brady  <P@draigBrady.com>
23047         fsusage: fix block size returned on older Linux 2.6
23049         * lib/fsusage.c: Fall back to (struct statfs).f_frsize
23050         which is available since Linux 2.6.
23051         * m4/fsusage.m4 (STAT_STATFS2_FRSIZE): Always define
23052         when the member is available so it can be used as a fallback.
23053         * doc/posix-functions/statvfs.texi: Mention the hang issue
23054         on Linux < 2.6.36.
23056 2012-05-14  Paul Eggert  <eggert@cs.ucla.edu>
23058         bootstrap: suppress stderr chatter
23059         * build-aux/bootstrap (insert_sorted_if_absent, main program):
23060         Omit unnecessary chatter to stderr.  The main program chatter
23061         was there only inadvertantly.
23063         bootstrap: .gitignore files created by autopoint, libtool
23064         I ran into this problem when bootstrapping the latest diffutils.
23065         After './bootstrap', 'git status' reported lots of untracked files
23066         m4/codeset.m4, m4/gettext.m4, etc.  These files were created by
23067         autopoint and do not need to be version-controlled.
23068         * build-aux/bootstrap: Put into .gitignore the files that
23069         autopoint and libtool create, by keeping track of files that exist
23070         after but not before these programs are run.
23071         (version_controlled_file): Move up.  2nd arg is now full file
23072         name, not base name; this is more convenient.  Put CVS at the end,
23073         as it's now somewhat deprecated.
23075 2012-05-14  Jim Meyering  <meyering@redhat.com>
23077         ignore-value.h: remove unused _GL_ATTRIBUTE_DEPRECATED definition
23078         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Remove now-unused
23079         definition.  Reported by Bruno Haible.
23081 2012-05-13  Bruno Haible  <bruno@clisp.org>
23082             Paul Eggert  <eggert@cs.ucla.edu>
23084         binary-io: Define set_binary_mode function.
23085         * lib/binary-io.h (set_binary_mode): New function.
23086         (SET_BINARY): Define in terms of set_binary_mode.
23087         * modules/binary-io (configure.ac): Require AC_C_INLINE.
23088         * tests/test-binary-io.c (main): Accept an argument, and test either
23089         set_binary_mode or SET_BINARY depending on the argument.
23090         * tests/test-binary-io.sh: Invoke test-binary-io twice, with an
23091         argument. Clean up also t-bin-out0.tmp.
23093 2012-05-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
23095         bootstrap: take advantage of POSIX shell features
23097         The 'bootstrap' script offered by Gnulib script already uses POSIX
23098         shell features (like $((...)) arithmetic expansions) that are not
23099         supported by legacy Bourne shells like Solaris 10 /bin/sh.  This
23100         means that bootstrap must already be run using a proper POSIX shell,
23101         which will thus provide more features, like ${var#pattern} parameter
23102         expansion or inversion of a command exit status with '!'.  We can
23103         thus use these features to improve the clarity and the performances
23104         of the bootstrap script.
23106         Suggested by Eric Blake.
23108         * build-aux/bootstrap: Prefer xpg4 parameter expansions over use
23109         of sed/expr plus command substitutions, to save some forks.  While
23110         we are at it, prefer the POSIX $(...) form of command substitution,
23111         rather than the legacy form `...` (since the former is visually
23112         clearer and interacts better with quoting), and prefer the idiom:
23113           "if ! CMD; then ACTION ..."
23114         over the idiom:
23115           "if CMD; then :; else ACTION ..."
23116         which was required by legacy Bourne shells not supporting '!'.
23118 2012-05-12  Bruno Haible  <bruno@clisp.org>
23120         system-quote: Add more comments.
23121         * lib/system-quote.h: Add more comments about wilcards and limitations.
23122         Suggested by Eli Zaretskii <eliz@gnu.org>.
23124         sh-quote, system-quote: Add comments about wildcards.
23125         * lib/sh-quote.h: Clarify what happens with wildcard characters.
23126         * lib/system-quote.h: Likewise.
23127         Reported by Eli Zaretskii <eliz@gnu.org>.
23129 2012-05-11  Paul Eggert  <eggert@cs.ucla.edu>
23131         fsusage: check for GNU/Linux statvfs problem dynamically
23132         * lib/fsusage.c [STAT_STATVFS && __linux__ && (__GLIBC__||__UCLIBC__)]:
23133         Define STAT_STATFS2_BSIZE too, since in this case the code now
23134         checks dynamically whether statvfs is reliable, falling back on
23135         Linux-style statfs otherwise.
23136         (statvfs_works): New function, for dynamically testing statvfs.
23137         (get_fs_usage) [STAT_STATVFS]: Use it.
23138         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Remove static check for
23139         statvfs on GNU/Linux hosts, since it's now done dynamically.
23141 2012-05-10  Bruno Haible  <bruno@clisp.org>
23143         system-quote, execute, spawn-pipe: Escape '?' on Windows.
23144         * lib/system-quote.c (SHELL_SPECIAL_CHARS, CMD_SPECIAL_CHARS): Add the
23145         '?' character.
23146         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Likewise.
23147         * tests/test-system-quote-main.c (check_all): Check also strings like
23148         "??????????".
23149         Reported by Eli Zaretskii <eliz@gnu.org>.
23151 2012-05-10  Paul Eggert  <eggert@cs.ucla.edu>
23153         _Noreturn: port config.h to gcc -Wundef
23154         * m4/gnulib-common.m4 (gl_COMMON_BODY): Check that __STDC_VERSION__ is
23155         defined before using it, for gcc -Wundef.  Reported by Akim Demaille in
23156         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00147.html>.
23158 2012-05-10  Bruno Haible  <bruno@clisp.org>
23160         system-quote: Refactor.
23161         * lib/system-quote.h (system_quote_copy): Fix comment.
23162         * lib/system-quote.c (windows_createprocess_quote, windows_cmd_quote):
23163         New functions, extracted from system_quote_copy.
23164         (system_quote_length, system_quote_copy): Use these functions.
23165         Reported by Paul Eggert.
23167 2012-05-08  Bruno Haible  <bruno@clisp.org>
23169         execute, spawn-pipe: Escape '*' characters in arguments on Windows.
23170         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Add the '*' character.
23172 2012-05-08  Bruno Haible  <bruno@clisp.org>
23174         Tests for module 'system-quote'.
23175         * modules/system-quote-tests: New file.
23176         * tests/test-system-quote.sh: New file.
23177         * tests/test-system-quote-main.c: New file.
23178         * tests/test-system-quote-child.c: New file.
23180         New module 'system-quote'.
23181         * lib/system-quote.h: New file.
23182         * lib/system-quote.c: New file.
23183         * modules/system-quote: New file.
23185 2012-05-08  Bruno Haible  <bruno@clisp.org>
23187         sh-quote: Make C++ safe and allow multiple inclusion.
23188         * lib/sh-quote.h: Add double-inclusion guard. For C++, wrap function
23189         declarations in extern "C".
23191 2012-05-08  Bruno Haible  <bruno@clisp.org>
23193         sh-quote tests: Make tests stricter.
23194         * tests/test-sh-quote.c (check_one): Check the return value of
23195         shell_quote_copy.
23196         (main): Check a string with a CR character. Check a string that
23197         contains UCHAR_MAX.
23199 2012-05-08  Akim Demaille  <akim@lrde.epita.fr>
23201         warnings.m4: provide a means to specify the program to compile.
23202         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): New, extracted from...
23203         (gl_WARN_ADD): here.
23204         Use gl_AS_VAR_APPEND.
23205         Support an argument to specify the program to compile.
23206         (gl_WARN_ADD): Accept an argument to specify the program to compile.
23207         AC_SUBST the WARN_CFLAGS when they are used.
23208         * modules/warnings (configure.ac): Don't AC_SUBST WARN_CFLAGS,
23209         leave this to gl_WARN_ADD.
23211 2012-05-08  Eric Blake  <eblake@redhat.com>
23213         doc: recommendations on gettext version
23214         * doc/gnulib-tool.texi (gettextize and autopoint): Document the
23215         choice between versions.
23216         * DEPENDENCIES (gettext): Cover both approaches.
23218 2012-05-08  Jim Meyering  <meyering@redhat.com>
23220         init.sh: explain why EXEEXT support uses aliases rather than functions
23221         * tests/init.sh: Add a comment.
23223         init.sh: don't let bash aliases interfere with tests
23224         * tests/init.sh: Undefine any pre-defined aliases if the selected shell
23225         is bash.  This avoids problems for those who alias standard commands to
23226         non-conforming uses, like those reported in http://bugs.gnu.org/11256.
23227         Suggested by Tim Mooney <Tim.Mooney@ndsu.edu>.
23229 2012-05-07  Paul Eggert  <eggert@cs.ucla.edu>
23231         stdint: be more consistent with glibc, SunOS libc
23232         * lib/stdint.in.h (gl_int_fast8_t, gl_uint_fast8_t)
23233         (gl_int_fast16_t, gl_uint_fast16_t)
23234         (gl_int_fast32_t, gl_uint_fast32_t)
23235         (INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX)
23236         (INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX)
23237         (INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
23238         Be consistent with glibc by default, and with SunOS 5.10 and later
23239         if __sun is defined.  This lessens the likelihood of clashes if
23240         code compiled for older hosts is combined with code compiled for
23241         newer ones.  Problem reported by Niels Möller in
23242         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00074.html>.
23244 2012-05-07  Eric Blake  <eblake@redhat.com>
23246         isatty: relax license to LGPLv2+
23247         * modules/isatty (License): Relax license.
23249 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
23251         stat-size: comment fix
23252         * lib/stat-size.h: Remove obsolete comment about indenting.
23254 2012-05-06  Bruno Haible  <bruno@clisp.org>
23256         Tests for module 'sh-quote'.
23257         * modules/sh-quote-tests: New file.
23258         * tests/test-sh-quote.c: New file.
23260 2012-05-06  Bruno Haible  <bruno@clisp.org>
23262         sh-quote: Improve shell_quote_argv's signature.
23263         * lib/sh-quote.h (shell_quote_argv): Make argument array a 'const *'.
23264         * lib/sh-quote.c (shell_quote_argv): Likewise.
23266 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
23268         stdint: document issues with int_fast8_t etc.
23269         * doc/posix-headers/stdint.texi (stdint.h): Say that other
23270         stdint.h substitutes may define these types differently.  See
23271         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00071.html>.
23273 2012-05-05  Bruno Haible  <bruno@clisp.org>
23275         nanosleep: Avoid guessing wrong when cross-compiling to Linux.
23276         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require AC_CANONICAL_HOST. When
23277         cross-compiling, set gl_cv_func_nanosleep to either 'guessing no'
23278         or 'guessing no (mishandles large arguments)'.
23280 2012-05-05  Bruno Haible  <bruno@clisp.org>
23282         link-follow: Avoid guessing wrong when cross-compiling to glibc/Linux.
23283         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Require
23284         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
23285         set gl_cv_func_link_follows_symlink to "guessing no".
23287 2012-05-05  Bruno Haible  <bruno@clisp.org>
23289         tzset: Avoid guessing wrong when cross-compiling to glibc systems.
23290         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require AC_CANONICAL_HOST. When
23291         cross-compiling to a glibc platform, set gl_cv_func_tzset_clobber to
23292         "guessing no".
23293         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Update.
23295 2012-05-05  Bruno Haible  <bruno@clisp.org>
23297         d-ino: Avoid guessing "no" when cross-compiling to glibc/Linux systems.
23298         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Require
23299         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
23300         set gl_cv_struct_dirent_d_ino to "guessing yes".
23302 2012-05-05  Bruno Haible  <bruno@clisp.org>
23304         fseeko-tests, ftello-tests: Avoid "guessing no" when cross-compiling.
23305         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Require AC_CANONICAL_HOST. When
23306         cross-compiling to a glibc platform, set gl_cv_func_ungetc_works to
23307         "guessing yes".
23309 2012-05-05  Bruno Haible  <bruno@clisp.org>
23311         signbit: Avoid "guessing no" when cross-compiling to glibc systems.
23312         * m4/signbit.m4 (gl_SIGNBIT): Require AC_CANONICAL_HOST. When cross-
23313         compiling to a glibc system, set gl_cv_func_signbit and
23314         gl_cv_func_signbit_gcc to "guessing yes".
23316 2012-05-05  Bruno Haible  <bruno@clisp.org>
23318         strerror: Avoid "guessing no" when cross-compiling to glibc systems.
23319         * m4/strerror.m4 (gl_FUNC_STRERROR): Require AC_CANONICAL_HOST. When
23320         cross-compiling to a glibc platform, set gl_cv_func_working_strerror
23321         to "guessing yes".
23322         (gl_FUNC_STRERROR_0): Require AC_CANONICAL_HOST. When cross-compiling
23323         to a glibc platform, set gl_cv_func_strerror_0_works to "guessing yes".
23325 2012-05-05  Bruno Haible  <bruno@clisp.org>
23327         canonicalize[-lgpl]: Avoid "guessing no" when cross-compiling to glibc.
23328         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Require
23329         AC_CANONICAL_HOST. When cross-compiling to a glibc system, set
23330         gl_cv_func_realpath_works to "guessing yes".
23332 2012-05-05  Bruno Haible  <bruno@clisp.org>
23334         gettimeofday: Avoid bad guess when cross-compiling to glibc systems.
23335         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Require
23336         AC_CANONICAL_HOST. When cross-compiling, guess no on glibc platforms.
23338 2012-05-04  Bruno Haible  <bruno@clisp.org>
23340         Tweak last commit.
23341         * m4/off_t.m4 (gl_TYPE_OFF_T): Tweak comments.
23342         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
23344 2012-05-04  Paul Eggert  <eggert@cs.ucla.edu>
23346         unistd_h: make it easier to avoid sys_types_h
23347         This is useful for Emacs, which has its own method of porting to
23348         Windows, and which therefore does not need the sys_types_h module.
23349         * m4/off_t.m4: New file, defining gl_TYPE_OFF_T, which contains
23350         code moved here from gl_SYS_TYPES_H.
23351         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Require it instead of
23352         using the code directly.
23353         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_TYPE_OFF_T, not
23354         gl_SYS_TYPES_H.
23355         * modules/sys_types (Files):
23356         * modules/unistd (Files): Add m4/off_t.m4.
23358 2012-05-03  Bruno Haible  <bruno@clisp.org>
23360         lstat: Avoid "guessing no" when cross-compiling to glibc systems.
23361         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): When cross-
23362         compiling, set gl_cv_func_lstat_dereferences_slashed_symlink to
23363         "guessing yes" or "guessing no".
23364         (gl_FUNC_LSTAT): Update.
23365         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Update.
23366         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
23367         * m4/unlinkat.m4 (gl_FUNC_UNLINKAT): Update.
23369 2012-05-03  Bruno Haible  <bruno@clisp.org>
23371         *alloc-gnu, eealloc: Avoid "guessing no" when cross-compiling to glibc.
23372         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Override in autoconf < 2.70.
23373         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Override in autoconf < 2.70.
23374         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Require AC_CANONICAL_HOST. When
23375         cross-compiling, choose the first alternative on glibc systems.
23376         * modules/eealloc (Files): Add m4/malloc.m4, m4/realloc.m4.
23378 2012-05-03  Bruno Haible  <bruno@clisp.org>
23380         getgroups: Avoid "guessing no" when cross-compiling to glibc systems.
23381         * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Override in autoconf < 2.70.
23382         (gl_FUNC_GETGROUPS): Adapt to change of ac_cv_func_getgroups_works.
23384 2012-05-03  Bruno Haible  <bruno@clisp.org>
23386         chown: Avoid "guessing no" when cross-compiling to glibc systems.
23387         * m4/chown.m4 (AC_FUNC_CHOWN): Override in autoconf < 2.70.
23389 2012-05-03  Bruno Haible  <bruno@clisp.org>
23391         Avoid "guessing no" guesses when cross-compiling to glibc systems.
23392         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Require AC_CANONICAL_HOST. When cross-
23393         compiling to glibc systems, set gl_cv_func_cbrtl_ieee to "guessing yes".
23394         * m4/ceil.m4 (gl_FUNC_CEIL): Require AC_CANONICAL_HOST. When cross-
23395         compiling to glibc systems, set gl_cv_func_ceil_ieee to "guessing yes".
23396         * m4/ceilf.m4 (gl_FUNC_CEILF): Require AC_CANONICAL_HOST. When cross-
23397         compiling to glibc systems, set gl_cv_func_ceilf_ieee to "guessing yes".
23398         * m4/ceill.m4 (gl_FUNC_CEILL): Require AC_CANONICAL_HOST. When cross-
23399         compiling to glibc systems, set gl_cv_func_ceill_ieee to "guessing yes".
23400         * m4/chown.m4 (gl_FUNC_CHOWN): Require AC_CANONICAL_HOST. When cross-
23401         compiling to glibc systems, set gl_cv_func_chown_slash_works,
23402         gl_cv_func_chown_ctime_works to "guessing yes".
23403         * m4/lchown.m4 (gl_FUNC_LCHOWN): Update.
23404         * m4/exp2l.m4 (gl_FUNC_EXP2L): Require AC_CANONICAL_HOST. When cross-
23405         compiling to glibc systems, set gl_cv_func_exp2l_ieee to "guessing yes".
23406         * m4/expm1.m4 (gl_FUNC_EXPM1): Require AC_CANONICAL_HOST. When cross-
23407         compiling to glibc systems, set gl_cv_func_expm1_ieee to "guessing yes".
23408         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require AC_CANONICAL_HOST. When cross-
23409         compiling to glibc systems, set gl_cv_func_open_directory_works to
23410         "guessing yes".
23411         * m4/fstat.m4 (gl_FUNC_FSTAT): Update.
23412         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require AC_CANONICAL_HOST. When
23413         cross-compiling to glibc systems, set gl_cv_func_fdopendir_works to
23414         "guessing yes".
23415         * m4/floor.m4 (gl_FUNC_FLOOR): Require AC_CANONICAL_HOST. When cross-
23416         compiling to glibc systems, set gl_cv_func_floor_ieee to "guessing yes".
23417         * m4/floorf.m4 (gl_FUNC_FLOORF): Require AC_CANONICAL_HOST. When cross-
23418         compiling to glibc systems, set gl_cv_func_floorf_ieee to
23419         "guessing yes".
23420         * m4/fmod.m4 (gl_FUNC_FMOD): Require AC_CANONICAL_HOST. When cross-
23421         compiling to glibc systems, set gl_cv_func_fmod_ieee to "guessing yes".
23422         * m4/fmodf.m4 (gl_FUNC_FMODF): Require AC_CANONICAL_HOST. When cross-
23423         compiling to glibc systems, set gl_cv_func_fmodf_ieee to "guessing yes".
23424         * m4/fmodl.m4 (gl_FUNC_FMODL): Require AC_CANONICAL_HOST. When cross-
23425         compiling to glibc systems, set gl_cv_func_fmodl_ieee to "guessing yes".
23426         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Require AC_CANONICAL_HOST. When
23427         cross-compiling to glibc systems, set gl_cv_func_getgroups_works to
23428         "guessing yes".
23429         * m4/hypot.m4 (gl_FUNC_HYPOT): Require AC_CANONICAL_HOST. When cross-
23430         compiling to glibc systems, set gl_cv_func_hypot_ieee to "guessing yes".
23431         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Require AC_CANONICAL_HOST. When cross-
23432         compiling to glibc systems, set gl_cv_func_hypotf_ieee to
23433         "guessing yes".
23434         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Require AC_CANONICAL_HOST. When cross-
23435         compiling to glibc systems, set gl_cv_func_hypotl_ieee to
23436         "guessing yes".
23437         * m4/link.m4 (gl_FUNC_LINK): Require AC_CANONICAL_HOST. When cross-
23438         compiling to glibc systems, set gl_cv_func_link_works to "guessing yes".
23439         * m4/log.m4 (gl_FUNC_LOG): Require AC_CANONICAL_HOST. When cross-
23440         compiling to glibc systems, set gl_cv_func_log_ieee to "guessing yes".
23441         * m4/logf.m4 (gl_FUNC_LOGF): Require AC_CANONICAL_HOST. When cross-
23442         compiling to glibc systems, set gl_cv_func_logf_ieee to "guessing yes".
23443         * m4/log10.m4 (gl_FUNC_LOG10): Require AC_CANONICAL_HOST. When cross-
23444         compiling to glibc systems, set gl_cv_func_log10_ieee to "guessing yes".
23445         * m4/log10f.m4 (gl_FUNC_LOG10F): Require AC_CANONICAL_HOST. When cross-
23446         compiling to glibc systems, set gl_cv_func_log10f_ieee to
23447         "guessing yes".
23448         * m4/log1p.m4 (gl_FUNC_LOG1P): Require AC_CANONICAL_HOST. When cross-
23449         compiling to glibc systems, set gl_cv_func_log1p_ieee to "guessing yes".
23450         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Require AC_CANONICAL_HOST. When cross-
23451         compiling to glibc systems, set gl_cv_func_log1pf_ieee to
23452         "guessing yes".
23453         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Require AC_CANONICAL_HOST. When cross-
23454         compiling to glibc systems, set gl_cv_func_log1pl_ieee to
23455         "guessing yes".
23456         * m4/log2.m4 (gl_FUNC_LOG2): Require AC_CANONICAL_HOST. When cross-
23457         compiling to glibc systems, set gl_cv_func_log2_ieee to "guessing yes".
23458         * m4/log2f.m4 (gl_FUNC_LOG2F): Require AC_CANONICAL_HOST. When cross-
23459         compiling to glibc systems, set gl_cv_func_log2f_ieee to "guessing yes".
23460         * m4/mkdir.m4 (gl_FUNC_MKDIR): Require AC_CANONICAL_HOST. When cross-
23461         compiling to glibc systems, set gl_cv_func_mkdir_trailing_slash_works,
23462         gl_cv_func_mkdir_trailing_dot_works to "guessing yes".
23463         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Require AC_CANONICAL_HOST. When cross-
23464         compiling to glibc systems, set gl_cv_func_mkfifo_works to
23465         "guessing yes".
23466         * m4/mknod.m4 (gl_FUNC_MKNOD): Require AC_CANONICAL_HOST. When cross-
23467         compiling to glibc systems, set gl_cv_func_mknod_works to
23468         "guessing yes".
23469         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_CANONICAL_HOST. When
23470         cross-compiling to glibc systems, set gl_cv_func_working_mkstemp to
23471         "guessing yes".
23472         * m4/modf.m4 (gl_FUNC_MODF): Require AC_CANONICAL_HOST. When cross-
23473         compiling to glibc systems, set gl_cv_func_modf_ieee to "guessing yes".
23474         * m4/modff.m4 (gl_FUNC_MODFF): Require AC_CANONICAL_HOST. When cross-
23475         compiling to glibc systems, set gl_cv_func_modff_ieee to "guessing yes".
23476         * m4/modfl.m4 (gl_FUNC_MODFL): Require AC_CANONICAL_HOST. When cross-
23477         compiling to glibc systems, set gl_cv_func_modfl_ieee to "guessing yes".
23478         * m4/putenv.m4 (gl_FUNC_PUTENV): Require AC_CANONICAL_HOST. When cross-
23479         compiling to glibc systems, set gl_cv_func_svid_putenv to
23480         "guessing yes".
23481         * m4/readlink.m4 (gl_FUNC_READLINK): Require AC_CANONICAL_HOST. When
23482         cross-compiling to glibc systems, set gl_cv_func_readlink_works to
23483         "guessing yes".
23484         * m4/remainder.m4 (gl_FUNC_REMAINDER): Require AC_CANONICAL_HOST. When
23485         cross-compiling to glibc systems, set gl_cv_func_remainder_ieee to
23486         "guessing yes".
23487         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Require AC_CANONICAL_HOST.
23488         When cross-compiling to glibc systems, set gl_cv_func_remainderf_ieee
23489         to "guessing yes".
23490         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Require AC_CANONICAL_HOST.
23491         When cross-compiling to glibc systems, set gl_cv_func_remainderl_ieee
23492         to "guessing yes".
23493         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require AC_CANONICAL_HOST. When cross-
23494         compiling to glibc systems, set gl_cv_func_rmdir_works to
23495         "guessing yes".
23496         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. When cross-
23497         compiling to glibc systems, set gl_cv_func_unlink_honors_slashes,
23498         gl_cv_func_unlink_parent_fails to "guessing yes".
23499         * m4/remove.m4 (gl_FUNC_REMOVE): Update.
23500         * m4/rename.m4 (gl_FUNC_RENAME): Require AC_CANONICAL_HOST. When cross-
23501         compiling to glibc systems, set gl_cv_func_rename_slash_dst_works,
23502         gl_cv_func_rename_slash_src_works, gl_cv_func_rename_link_works,
23503         gl_cv_func_rename_dest_works to "guessing yes".
23504         * m4/round.m4 (gl_FUNC_ROUND): Require AC_CANONICAL_HOST. When cross-
23505         compiling to glibc systems, set gl_cv_func_round_ieee to "guessing yes".
23506         * m4/roundf.m4 (gl_FUNC_ROUNDF): Require AC_CANONICAL_HOST. When cross-
23507         compiling to glibc systems, set gl_cv_func_roundf_ieee to
23508         "guessing yes".
23509         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require AC_CANONICAL_HOST. When cross-
23510         compiling to glibc systems, set gl_cv_func_roundl_ieee to
23511         "guessing yes".
23512         * m4/setenv.m4 (gl_FUNC_SETENV): Require AC_CANONICAL_HOST. When cross-
23513         compiling to glibc systems, set gl_cv_func_setenv_works to
23514         "guessing yes".
23515         (gl_FUNC_UNSETENV): Require AC_CANONICAL_HOST. When cross-
23516         compiling to glibc systems, set gl_cv_func_unsetenv_works to
23517         "guessing yes".
23518         * m4/sleep.m4 (gl_FUNC_SLEEP): Require AC_CANONICAL_HOST. When cross-
23519         compiling to glibc systems, set gl_cv_func_sleep_works to
23520         "guessing yes".
23521         * m4/stat.m4 (gl_FUNC_STAT): Require AC_CANONICAL_HOST. When cross-
23522         compiling to glibc systems, set gl_cv_func_stat_file_slash to
23523         "guessing yes".
23524         * m4/symlink.m4 (gl_FUNC_SYMLINK): Require AC_CANONICAL_HOST. When
23525         cross-compiling to glibc systems, set gl_cv_func_symlink_works to
23526         "guessing yes".
23527         * m4/trunc.m4 (gl_FUNC_TRUNC): Require AC_CANONICAL_HOST. When cross-
23528         compiling to glibc systems, set gl_cv_func_trunc_ieee to "guessing yes".
23529         * m4/truncf.m4 (gl_FUNC_TRUNCF): Require AC_CANONICAL_HOST. When cross-
23530         compiling to glibc systems, set gl_cv_func_truncf_ieee to
23531         "guessing yes".
23532         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require AC_CANONICAL_HOST. When cross-
23533         compiling to glibc systems, set gl_cv_func_truncl_ieee to
23534         "guessing yes".
23535         * m4/usleep.m4 (gl_FUNC_USLEEP): Require AC_CANONICAL_HOST. When cross-
23536         compiling to glibc systems, set gl_cv_func_usleep_works to
23537         "guessing yes".
23538         * m4/utimens.m4 (gl_UTIMENS): Require AC_CANONICAL_HOST. When cross-
23539         compiling to glibc systems, set gl_cv_func_futimesat_works to
23540         "guessing yes".
23542 2012-05-03  Bruno Haible  <bruno@clisp.org>
23544         Say "guessing yes" or "guessing no" when cross-compiling.
23545         * m4/dup2.m4 (gl_FUNC_DUP2): When cross-compiling, set
23546         gl_cv_func_dup2_works to "guessing yes" or "guessing no".
23547         * m4/getdelim.m4 (gl_FUNC_GETDELIM): When cross-compiling, set
23548         gl_cv_func_working_getdelim to "guessing yes" or "guessing no".
23549         * m4/getline.m4 (gl_FUNC_GETLINE): When cross-compiling, set
23550         am_cv_func_working_getline to "guessing yes" or "guessing no".
23551         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, set
23552         gl_cv_func_memmem_works_always to "guessing yes" or "guessing no".
23553         (gl_FUNC_MEMMEM): When cross-compiling, set
23554         gl_cv_func_memmem_works_fast to "guessing yes" or "guessing no".
23555         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): When cross-compiling, set
23556         gl_cv_func_stpncpy to "guessing yes" or "guessing no".
23557         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): When cross-compiling,
23558         set gl_cv_func_strcasestr_works_always to "guessing yes" or
23559         "guessing no".
23560         (gl_FUNC_STRCASESTR): When cross-compiling, set
23561         gl_cv_func_strcasestr_linear to "guessing yes" or "guessing no".
23562         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): When cross-compiling, set
23563         gl_cv_func_strstr_works_always to "guessing yes" or "guessing no".
23564         (gl_FUNC_STRSTR): When cross-compiling, set
23565         gl_cv_func_strstr_linear to "guessing yes" or "guessing no".
23566         * m4/strtod.m4 (gl_FUNC_STRTOD): When cross-compiling, set
23567         gl_cv_func_strtod_works to "guessing yes" or "guessing no".
23568         * m4/wctype_h.m4 (gl_WCTYPE_H): When cross-compiling, set
23569         gl_cv_func_iswcntrl_works to "guessing yes" or "guessing no".
23571 2012-05-01  Bruno Haible  <bruno@clisp.org>
23573         relocatable-prog: Enable ELF ORIGIN trick also on GNU/kFreeBSD.
23574         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Treat kFreeBSD like Linux.
23575         * build-aux/reloc-ldflags: Likewise.
23576         Suggested by Steven Chamberlain <steven@pyro.eu.org>.
23578 2012-05-01  Bruno Haible  <bruno@clisp.org>
23580         gnulib-tool: Remove transitional code.
23581         * gnulib-tool: Don't warn about --import with 0 arguments any more.
23582         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
23584 2012-05-01  Bruno Haible  <bruno@clisp.org>
23586         getcwd: Fix misindentation.
23587         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Fix indentation.
23589 2012-04-29  Paul Eggert  <eggert@cs.ucla.edu>
23591         exclude: process exclude and include directives in order
23592         This restores the pre-2009 behavior, and is part of a fix of a
23593         grep bug reported by Quentin Arce in
23594         <http://lists.gnu.org/r/bug-grep/2012-04/msg00056.html>.
23595         * lib/exclude.c (struct exclude): Remove 'tail' member.
23596         (new_exclude_segment): Prepend the new segment instead of appending.
23597         Return void, since that's now more convenient.
23598         (file_pattern_matches): Renamed from excluded_file_pattern_p.
23599         (file_name_matches): Renamed from excluded_file_name_p.
23600         (file_pattern_matches, file_name_matches):
23601         Return true if the pattern matches, not if it excludes.
23602         All callers changed.
23603         (excluded_file_name): Process the list in reverse order;
23604         since the list is now reversed this restores the pre-2009 behavior.
23605         (add_exclude): Adjust to new reversed-order list.  Use local var
23606         rather than macro, for clarity.
23607         * tests/test-exclude7.sh: Adjust to corrected behavior.
23609         exclude: handle wildcards with FNM_NOESCAPE and with trailing \
23610         * lib/exclude.c (unescape_pattern): Don't worry about unescaped [;
23611         it's not possible here.  Handle the case of \ at end of pattern
23612         without dumping core.
23613         (add_exclude): Do not unescape the pattern if FNM_NOESCAPE is used.
23615         _Noreturn: future-proof non-GNU and non-MSVC compilers
23616         * build-aux/snippet/_Noreturn.h (_Noreturn):
23617         * m4/gnulib-common.m4 (gl_COMMON_BODY):
23618         Do not define _Noreturn if __STDC_VERSION__ indicates this is
23619         C11 or later.  This is more likely to work with random future C
23620         compilers that are neither GNUish nor MSVCish.  See Vincent Lefevre in
23621         <http://lists.gnu.org/r/bug-gnulib/2012-04/msg00195.html>.
23623         exclude: handle wildcards with FNM_EXTMATCH
23624         * lib/exclude.c (fnmatch_pattern_has_wildcards): Also treat '+(',
23625         '+@', '!(' as wildcards, if FNM_EXTMATCH.  Make it clear in a
23626         comment that "has wildcards" really means "has or may have
23627         wildcards".  Simplify by avoiding the need to call strcspn.
23629 2012-04-29  Bruno Haible  <bruno@clisp.org>
23631         gnulib-tool: Fix list of authors.
23632         * gnulib-tool (func_version): Add Paul Eggert to list of authors.
23634 2012-04-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
23636         bootstrap: support Automake-NG in $buildreq
23637         * bootstrap (check_versions): Handle automake and aclocal from
23638         Automake-NG specially.  They can be specified as respectively
23639         the "automake-ng" and "aclocal-ng" requirements.
23641 2012-04-25  Eric Blake  <eblake@redhat.com>
23643         bootstrap: only force latest Makefile.in.in for gettext module
23644         * build-aux/bootstrap (with_gettext): Only install latest
23645         Makefile.in.in for projects requesting bleeding edge gettext.
23647 2012-04-22  Bruno Haible  <bruno@clisp.org>
23649         doc: Mention reason for replacement on glibc/Linux systems.
23650         * doc/posix-functions/dprintf.texi: Mention the problem with special
23651         'long double' values.
23652         * doc/posix-functions/fprintf.texi: Likewise.
23653         * doc/posix-functions/printf.texi: Likewise.
23654         * doc/posix-functions/snprintf.texi: Likewise.
23655         * doc/posix-functions/sprintf.texi: Likewise.
23656         * doc/posix-functions/vdprintf.texi: Likewise.
23657         * doc/posix-functions/vfprintf.texi: Likewise.
23658         * doc/posix-functions/vprintf.texi: Likewise.
23659         * doc/posix-functions/vsnprintf.texi: Likewise.
23660         * doc/posix-functions/vsprintf.texi: Likewise.
23661         * doc/posix-functions/fcntl.texi: Add glibc/Linux to the list of
23662         platforms with F_DUPFD_CLOEXEC problems.
23663         * doc/posix-functions/glob.texi: Mention which platforms are affected
23664         by the problem with symbolic links.
23665         * doc/posix-functions/linkat.texi: Mention the problem with
23666         AT_SYMLINK_FOLLOW on Linux.
23668 2012-04-22  Bruno Haible  <bruno@clisp.org>
23670         pwrite: Don't replace on all platforms.
23671         * m4/pwrite.m4 (gl_FUNC_PWRITE): Fix syntax error in test program.
23673 2012-04-22  Bruno Haible  <bruno@clisp.org>
23675         rint* tests: Avoid gcc warnings.
23676         * tests/test-rint.c (INFINITY, NAN): Undefine before redefining.
23677         * tests/test-rintf.c (INFINITY, NAN): Likewise.
23678         * tests/test-rintl.c (INFINITY, NAN): Likewise.
23680 2012-04-21  Bruno Haible  <bruno@clisp.org>
23682         users.txt: Update.
23683         * users.txt: Add freedink, wdiff. Update URLs for projects that have
23684         switched from CVS to git, bzr, or svn.
23686 2012-04-21  Bruno Haible  <bruno@clisp.org>
23688         Large File Support for native Windows platforms.
23690         * m4/largefile.m4 (gl_LARGEFILE): New macro.
23691         * modules/largefile (configure.ac): Require gl_LARGEFILE.
23693         * lib/sys_types.in.h (off_t) [WINDOWS_64_BIT_OFF_T]: Define to a 64-bit
23694         type.
23695         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set WINDOWS_64_BIT_OFF_T.
23696         * modules/sys_types (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T.
23697         * doc/posix-headers/sys_types.texi: Mention the effect of the
23698         'largefile' module.
23700         * lib/fcntl.in.h: Add comments about off_t.
23701         * modules/fcntl-h (Depends-on): Add sys_types.
23703         * lib/unistd.in.h [WINDOWS_64_BIT_OFF_T]: Include <sys/types.h>.
23704         (ftruncate): Replace it if REPLACE_FTRUNCATE is 1.
23705         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_SYS_TYPES_H.
23706         (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_FTRUNCATE.
23707         * modules/unistd (Depends-on): Add sys_types.
23708         (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T, REPLACE_FTRUNCATE.
23710         * lib/lseek.c (rpl_lseek) [_GL_WINDOWS_64_BIT_OFF_T]: Use _lseeki64
23711         instead of lseek.
23712         * m4/lseek.m4 (gl_FUNC_LSEEK): Require gl_SYS_TYPES_H. Set
23713         REPLACE_LSEEK if WINDOWS_64_BIT_OFF_T is 1.
23714         * modules/lseek (Depends-on): Add sys_types.
23716         * lib/ftruncate.c: Put under GPLv3+. Include <windows.h>,
23717         msvc-nothrow.h.
23718         (SetFileSize): New function.
23719         (ftruncate) [_GL_WINDOWS_64_BIT_OFF_T]: New implementation.
23720         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Set REPLACE_FTRUNCATE on Windows
23721         if Large File Support is requested.
23722         * modules/ftruncate (configure.ac): Consider REPLACE_FTRUNCATE.
23723         (Depends-on): Add sys_types, msvc-nothrow. Update conditions.
23725         * lib/stdio.in.h: Add comments about off_t.
23726         * modules/stdio (Depends-on): Add sys_types.
23728         * lib/ftello.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _ftelli64 or ftello64
23729         instead of ftello.
23730         * m4/ftello.m4 (gl_FUNC_FTELLO): Require gl_SYS_TYPES_H. Set
23731         REPLACE_FTELLO if WINDOWS_64_BIT_OFF_T is 1.
23732         (gl_PREREQ_FTELLO): New macro.
23733         * modules/ftello (Depends-on): Add sys_types.
23734         (configure.ac): Incoke gl_PREREQ_FTELLO.
23736         * lib/fseeko.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _fseeki64 or fseeko64
23737         instead of fseeko.
23738         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require gl_SYS_TYPES_H. Set
23739         REPLACE_FSEEKO if WINDOWS_64_BIT_OFF_T is 1.
23740         (gl_PREREQ_FSEEKO): New macro.
23741         * modules/fseeko (Depends-on): Add sys_types.
23742         (configure.ac): Invoke gl_PREREQ_FSEEKO.
23744         * lib/sys_stat.in.h: Add comments about off_t.
23745         (stat, fstat) [WINDOWS_64_BIT_ST_SIZE]: Define to variants that use a
23746         64-bit integer for st_size in 'struct stat'.
23747         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Set WINDOWS_64_BIT_ST_SIZE.
23748         Define _GL_WINDOWS_64_BIT_ST_SIZE.
23749         * modules/sys_stat (Depends-on): Add sys_types.
23750         (Makefile.am): Substitute WINDOWS_64_BIT_ST_SIZE.
23752         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Define to _stati64
23753         instead of stat or _stat.
23755         * lib/fstat.c [_GL_WINDOWS_64_BIT_ST_SIZE]: Use _fstati64 and
23756         'struct _stati64' instead of fstat and 'struct stat'.
23757         * m4/fstat.m4 (gl_FUNC_FSTAT): Require gl_HEADER_SYS_STAT_H. Set
23758         REPLACE_FSTAT if WINDOWS_64_BIT_ST_SIZE is 1.
23760         Reported by Ray Satiro <raysatiro@yahoo.com>.
23762 2012-04-19  Eric Blake  <eblake@redhat.com>
23764         bootstrap: accommodate older libtool
23765         * build-aux/bootstrap (use_libtool): Cater to libtool 1.5.22.
23766         Reported by Daniel P. Berrange.
23768 2012-04-19  Jim Meyering  <meyering@redhat.com>
23770         announce-gen: avoid failure due to lack of Digest::SHA1
23771         Even with the preferred Digest::SHA available, this script
23772         would fail when the backup module, Digest::SHA1, was not installed.
23773         * build-aux/announce-gen: Quote the conditional use of "use".
23774         Reported by Reuben Thomas in:
23775         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30444
23777         bootstrap: don't let a user's CDPATH setting affect this script
23778         When CDPATH is set, cd will sometimes generate output.
23779         When "cd" is run in a subshell whose output matters, that
23780         surprising-to-some output can cause malfunction.
23781         Unsetting CDPATH turns off this shell "feature."
23782         * build-aux/bootstrap (CDPATH): Unset.
23783         Reported by Reuben Thomas in:
23784         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30435
23785         and inspired by his patch here:
23786         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30440
23788 2012-04-16  Akim Demaille  <akim@lrde.epita.fr>
23789         and Jim Meyering  <meyering@redhat.com>
23791         maint.mk: catch "see @xref{}" and similar
23792         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Also
23793         prohibit "See also @xref{", "Also see @pxref{", and similar.
23795 2012-04-16  Jim Meyering  <meyering@redhat.com>
23797         bootstrap: really use gnulib's po/Makefile.in.in
23798         * build-aux/bootstrap: Correct the source file name in previous change.
23799         Reported by Akim Demaille.
23801         configmake: correct minor inconsistency in Makefile rule
23802         * modules/configmake (Makefile.am): All other rules like this one
23803         run the final "mv -f ..." in the same backslash-continued command
23804         as the one that does everything else.  This one put the mv -f ...
23805         command on a separate, non-backslash-continued line.
23806         Make it like the others.
23808         bootstrap: use gnulib's po/Makefile.in.in, not the one from gettext
23809         * build-aux/bootstrap: Use gnulib's po/Makefile.in.in, not
23810         the one from gettext.  Reported by Akim Demaille.
23812 2012-04-16  Joel E. Denny  <joeldenny@joeldenny.org>
23814         Fix recursion of install-* into po directories.
23815         Bison's install-pdf bug reported by Hans Aberg at
23816         <http://lists.gnu.org/r/bug-bison/2011-05/msg00008.html>.
23817         * build-aux/po/Makefile.in.in (install-dvi, install-html)
23818         (install-info, install-pdf, install-ps): New targets.
23820 2012-04-16  Jim Meyering  <meyering@redhat.com>
23822         maint: avoid spurious "make sc_maint" failure
23823         * cfg.mk (exclude_file_name_regexp--sc_trailing_blank): Also
23824         exempt all *.class file names, for lib/javaversion.class.
23826 2012-04-15  Bruno Haible  <bruno@clisp.org>
23828         lseek: Make configure test independent of environment.
23829         * m4/lseek.m4 (gl_FUNC_LSEEK): Require AC_CANONICAL_HOST. On native
23830         Windows, we know that lseek() on pipes is broken; skip the runtime
23831         test.
23833 2012-04-14  Bruno Haible  <bruno@clisp.org>
23835         stat: Bypass buggy override in mingw64.
23836         * m4/stat.m4 (gl_FUNC_STAT): Update comments.
23837         * lib/stat.c (stat) [mingw64]: Define to _stat.
23838         * doc/posix-functions/stat.texi: Mention mingw64 bug.
23840 2012-04-14  Bruno Haible  <bruno@clisp.org>
23842         pathmax: Fix compilation error on MSVC 9.
23843         * modules/pathmax (Depends-on): Add unistd.
23845 2012-04-12  Paul Eggert  <eggert@cs.ucla.edu>
23847         README: document pointer comparison assumption
23848         * README (Portability guidelines): Document assumption about
23849         pointer comparisons, in response to a recent bug-gnulib comment by
23850         Jeffrey Kegler.
23852 2012-04-12  Bruno Haible  <bruno@clisp.org>
23854         Tests for module 'getrusage'.
23855         * modules/getrusage-tests: New file.
23856         * tests/test-getrusage.c: New file.
23858         New module 'getrusage'.
23859         * lib/sys_resource.in.h: Include arg-nonnull.h, c++defs.h,
23860         warn-on-use.h.
23861         (getrusage): New declaration.
23862         * lib/getrusage.c: New file.
23863         * m4/getrusage.m4: New file.
23864         * m4/sys_resource_h.m4 (gl_HEADER_SYS_RESOURCE): Test whether getrusage
23865         is declared.
23866         (gl_SYS_RESOURCE_H_DEFAULTS): Initialize GNULIB_GETRUSAGE,
23867         HAVE_GETRUSAGE.
23868         * modules/sys_resource (Depends-on): Add snippet/arg-nonnull,
23869         snippet/c++defs, snippet/warn-on-use.
23870         (Makefile.am): Update generation of sys/resource.h. Substitute
23871         GNULIB_GETRUSAGE, HAVE_GETRUSAGE.
23872         * modules/getrusage: New file.
23873         * doc/posix-functions/getrusage.texi: Mention the new module.
23875 2012-04-12  Bruno Haible  <bruno@clisp.org>
23877         Tests for module 'sys_resource'.
23878         * modules/sys_resource-tests: New file.
23879         * tests/test-sys_resource.c: New file.
23881         New module 'sys_resource'.
23882         * lib/sys_resource.in.h: New file.
23883         * m4/sys_resource_h.m4: New file.
23884         * modules/sys_resource: New file.
23885         * doc/posix-headers/sys_resource.texi: Mention the new module.
23887 2012-04-12  LRN  <lrn1986@gmail.com>  (tiny change)
23889         ioctl: Fix compilation error on mingw.
23890         * lib/ioctl.c: Include <windows.h>.
23891         Also reported by Ray Satiro <raysatiro@yahoo.com>.
23893 2012-04-04  Jim Meyering  <meyering@redhat.com>
23895         regex: correct #pragma guard expression
23896         * lib/regex.c: -Wsuggest-attribute=pure was introduced in gcc-4.6,
23897         not 4.3.  Correct its cpp guard expression.
23899 2012-04-04  Paul Eggert  <eggert@cs.ucla.edu>
23901         regex: remove unnecessary type punning
23902         Problem reported by Vladimir Serbinenko in
23903         <http://lists.gnu.org/r/bug-gnulib/2012-04/msg00006.html>.
23904         * lib/regex.h (struct re_pattern_buffer): Change the type of
23905         __REPB_PREFIX(buffer) from unsigned char * to struct re_dfa_t *.
23906         Fix comment to match code.
23907         * lib/regcomp.c (re_compile_fastmap, re_compile_fastmap_iter, regfree)
23908         (re_compile_internal, free_workarea_compile, analyze, lower_subexp)
23909         (parse, parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
23910         * lib/regexec.c (regexec, re_search_stub, re_search_internal)
23911         (set_regs):
23912         Omit no-longer-necessary casts.
23914 2012-04-03  Bruno Haible  <bruno@clisp.org>
23916         Tests for module 'ilogbl'.
23917         * modules/ilogbl-tests: New file.
23918         * tests/test-ilogbl.c: New file.
23920         New module 'ilogbl'.
23921         * lib/math.in.h (ilogbl): New declaration.
23922         * lib/ilogbl.c: New file.
23923         * m4/ilogbl.m4: New file.
23924         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbl is declared.
23925         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBL, HAVE_ILOGBL.
23926         * modules/math (Makefile.am): Substitute GNULIB_ILOGBL, HAVE_ILOGBL.
23927         Split sed invocation, to avoid the limit of 100 substitutions of
23928         HP-UX 'sed'.
23929         * modules/ilogbl: New file.
23930         * tests/test-math-c++.cc: Check the declaration of ilogbl.
23931         * doc/posix-functions/ilogbl.texi: Mention the new module.
23933 2012-04-03  Bruno Haible  <bruno@clisp.org>
23935         Tests for module 'ilogbf'.
23936         * modules/ilogbf-tests: New file.
23937         * tests/test-ilogbf.c: New file.
23939         New module 'ilogbf'.
23940         * lib/math.in.h (ilogbf): New declaration.
23941         * lib/ilogbf.c: New file.
23942         * m4/ilogbf.m4: New file.
23943         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbf is declared.
23944         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBF, HAVE_ILOGBF,
23945         REPLACE_ILOGBF.
23946         * modules/math (Makefile.am): Substitute GNULIB_ILOGBF, HAVE_ILOGBF,
23947         REPLACE_ILOGBF.
23948         * modules/ilogbf: New file.
23949         * tests/test-math-c++.cc: Check the declaration of ilogbf.
23950         * doc/posix-functions/ilogbf.texi: Mention the new module.
23952 2012-04-03  Bruno Haible  <bruno@clisp.org>
23954         Tests for module 'ilogb'.
23955         * modules/ilogb-tests: New file.
23956         * tests/test-ilogb.c: New file.
23957         * tests/test-ilogb.h: New file, based on tests/test-logb.h and
23958         tests/test-logb-ieee.h.
23960         New module 'ilogb'.
23961         * lib/math.in.h (ilogb): New declaration.
23962         * lib/ilogb.c: New file.
23963         * m4/ilogb.m4: New file.
23964         * m4/math_h.m4 (gl_MATH_H): Test whether ilogb is declared.
23965         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGB, HAVE_ILOGB,
23966         REPLACE_ILOGB.
23967         * modules/math (Makefile.am): Substitute GNULIB_ILOGB, HAVE_ILOGB,
23968         REPLACE_ILOGB.
23969         * modules/ilogb: New file.
23970         * tests/test-math-c++.cc: Check the declaration of ilogb.
23971         * doc/posix-functions/ilogb.texi: Mention the new module.
23973 2012-04-03  Bruno Haible  <bruno@clisp.org>
23975         math: Provide FP_ILOGB0 and FP_ILOGBNAN.
23976         * lib/math.in.h (FP_ILOGB0, FP_ILOGBNAN): Define fallback.
23977         * tests/test-math.c: Check that FP_ILOGB0, FP_ILOGBNAN are defined.
23978         (main): Check their values.
23979         * doc/posix-headers/math.texi: Mention the FP_ILOGB0, FP_ILOGBNAN
23980         problem.
23982 2012-04-03  Bruno Haible  <bruno@clisp.org>
23984         Tests for module 'logbl-ieee'.
23985         * modules/logbl-ieee-tests: New file.
23986         * tests/test-logbl-ieee.c: New file.
23988         New module 'logbl-ieee'.
23989         * modules/logbl-ieee: New file.
23991         Tests for module 'logb-ieee'.
23992         * modules/logb-ieee-tests: New file.
23993         * tests/test-logb-ieee.c: New file.
23995         New module 'logb-ieee'.
23996         * modules/logb-ieee: New file.
23998         Tests for module 'logbf-ieee'.
23999         * modules/logbf-ieee-tests: New file.
24000         * tests/test-logbf-ieee.c: New file.
24001         * tests/test-logb-ieee.h: New file.
24003         New module 'logbf-ieee'.
24004         * modules/logbf-ieee: New file.
24006 2012-04-03  Bruno Haible  <bruno@clisp.org>
24008         Tests for module 'logbl'.
24009         * modules/logbl-tests: New file.
24010         * tests/test-logbl.c: New file.
24012         New module 'logbl'.
24013         * lib/math.in.h (logbl): New declaration.
24014         * lib/logbl.c: New file.
24015         * m4/logbl.m4: New file.
24016         * m4/math_h.m4 (gl_MATH_H): Test whether logbl is declared.
24017         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBL, HAVE_LOGBL,
24018         REPLACE_LOGBL.
24019         * modules/math (Makefile.am): Substitute GNULIB_LOGBL, HAVE_LOGBL,
24020         REPLACE_LOGBL.
24021         * modules/logbl: New file.
24022         * tests/test-math-c++.cc: Check the declaration of logbl.
24023         * doc/posix-functions/logbl.texi: Mention the new module.
24025 2012-04-02  Bruno Haible  <bruno@clisp.org>
24027         Tests for module 'logbf'.
24028         * modules/logbf-tests: New file.
24029         * tests/test-logbf.c: New file.
24031         New module 'logbf'.
24032         * lib/math.in.h (logbf): New declaration.
24033         * lib/logbf.c: New file.
24034         * m4/logbf.m4: New file.
24035         * m4/math_h.m4 (gl_MATH_H): Test whether logbf is declared.
24036         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBF, HAVE_LOGBF,
24037         REPLACE_LOGBF.
24038         * modules/math (Makefile.am): Substitute GNULIB_LOGBF, HAVE_LOGBF,
24039         REPLACE_LOGBF.
24040         * modules/logbf: New file.
24041         * tests/test-math-c++.cc: Check the declaration of logbf.
24042         * doc/posix-functions/logbf.texi: Mention the new module.
24044 2012-04-02  Bruno Haible  <bruno@clisp.org>
24046         logb tests: More tests.
24047         * tests/test-logb.h: New file, based on tests/test-logb.c and
24048         tests/test-frexp.h.
24049         * tests/test-logb.c: Include minus-zero.h, test-logb.h.
24050         (main): Just invoke test_function.
24051         * modules/logb-tests (Files): Add tests/test-logb.h,
24052         tests/minus-zero.h, tests/randomd.c.
24053         (Makefile.am): Add randomd.c to test_logb_SOURCES.
24055         logb: Provide replacement and workarounds.
24056         * lib/math.in.h (logb): Ensure declaration. Replace if REPLACE_LOGB
24057         is 1.
24058         * lib/logb.c: New file.
24059         * m4/logb.m4 (gl_FUNC_LOGB_WORKS): New macro.
24060         (gl_FUNC_LOGB): Invoke it. Set HAVE_LOGB, REPLACE_LOGB.
24061         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGB.
24062         * modules/math (Makefile.am): Substitute REPLACE_LOGB.
24063         * modules/logb (Files): Add lib/logb.c.
24064         (Depends-on): Add isfinite, frexp, isnand.
24065         (configure.ac): Compile the replacement code logb.c if needed.
24066         * tests/test-math-c++.cc: Check the declaration of logb.
24067         * doc/posix-functions/logb.texi: Mention the replacement and the bug
24068         with subnormal numbers.
24070 2012-04-02  Bruno Haible  <bruno@clisp.org>
24072         log10* tests: Speed up.
24073         * tests/test-log10.h (test_function): Reduce amount of random numbers
24074         to test.
24076 2012-04-01  Bruno Haible  <bruno@clisp.org>
24078         logf-ieee: Fix test whether logf works.
24079         * m4/logf.m4 (gl_FUNC_LOGF): Fix typo in test program.
24081 2012-04-01  Bruno Haible  <bruno@clisp.org>
24083         log10l: Work around log10l-ieee test failure on IRIX 6.5.
24084         * lib/log10l.c: Include <float.h>
24085         (log10l): On IRIX, normalize the +Infinity value.
24086         * modules/log10l (Depends-on): Add 'float'.
24087         * doc/posix-functions/log10l.texi: Mention the IRIX problem with
24088         +Infinity.
24090         log10f-ieee: Work around test failure on NetBSD 5.1.
24091         * m4/log10f-ieee.m4: New file.
24092         * m4/log10f.m4 (gl_FUNC_LOG10F): If gl_FUNC_LOG10F_IEEE is present,
24093         test whether log10f works with a negative argument. Replace it if not.
24094         * lib/log10f.c (log10f): For negative arguments, return NaN.
24095         * modules/log10f-ieee (Files): Add m4/log10f-ieee.m4.
24096         (configure.ac): Invoke gl_FUNC_LOG10F_IEEE.
24097         * doc/posix-functions/log10f.texi: Mention the log10f-ieee module.
24099         log10f-ieee: Work around test failure on Solaris 9.
24100         * modules/log10f-ieee (Depends-on): Add log10-ieee.
24101         (configure.ac): Require gl_FUNC_LOG10F.
24103         log10-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
24104         * m4/log10-ieee.m4: New file.
24105         * m4/log10.m4 (gl_FUNC_LOG10): If gl_FUNC_LOG10_IEEE is present, test
24106         whether log10 works with a negative argument. Replace it if not.
24107         * lib/log10.c (log10): For negative arguments, return NaN.
24108         * modules/log10-ieee (Files): Add m4/log10-ieee.m4.
24109         (configure.ac): Invoke gl_FUNC_LOG10_IEEE.
24110         * doc/posix-functions/log10.texi: Mention the log10-ieee module.
24112         Tests for module 'log10l-ieee'.
24113         * modules/log10l-ieee-tests: New file.
24114         * tests/test-log10l-ieee.c: New file.
24116         New module 'log10l-ieee'.
24117         * modules/log10l-ieee: New file.
24119         Tests for module 'log10-ieee'.
24120         * modules/log10-ieee-tests: New file.
24121         * tests/test-log10-ieee.c: New file.
24123         New module 'log10-ieee'.
24124         * modules/log10-ieee: New file.
24126         Tests for module 'log10f-ieee'.
24127         * modules/log10f-ieee-tests: New file.
24128         * tests/test-log10f-ieee.c: New file.
24129         * tests/test-log10-ieee.h: New file.
24131         New module 'log10f-ieee'.
24132         * modules/log10f-ieee: New file.
24134 2012-04-01  Bruno Haible  <bruno@clisp.org>
24136         log10l: Work around AIX 5.1, IRIX 6.5, OSF/1 5.1 bug.
24137         * lib/math.in.h (log10l): Override if REPLACE_LOG10L is 1.
24138         * lib/log10l.c (log10l): If log10l exists, use it and provide just the
24139         workaround.
24140         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): New macro.
24141         (gl_FUNC_LOG10L): Invoke it. Set REPLACE_LOG10L.
24142         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10L.
24143         * modules/math (Makefile.am): Substitute REPLACE_LOG10L.
24144         * modules/log10l (configure.ac): Consider REPLACE_LOG10L.
24145         (Depends-on): Update conditions.
24146         * doc/posix-functions/log10l.texi: Mention the MSVC9, AIX 5.1,
24147         IRIX 6.5, OSF/1 5.1 problems.
24149 2012-04-01  Bruno Haible  <bruno@clisp.org>
24151         log10f: Work around OSF/1 5.1 bug.
24152         * lib/math.in.h (log10f): Override if REPLACE_LOG10F is 1.
24153         * lib/log10f.c (log10f): If logf exists, use it and provide just the
24154         workaround.
24155         * m4/log10f.m4 (gl_FUNC_LOG10F_WORKS): New macro.
24156         (gl_FUNC_LOG10F): Invoke it. Set REPLACE_LOG10F.
24157         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10F.
24158         * modules/math (Makefile.am): Substitute REPLACE_LOG10F.
24159         * modules/log10f (configure.ac): Consider REPLACE_LOG10F.
24160         (Depends-on): Update conditions.
24161         * doc/posix-functions/log10f.texi: Mention the OSF/1 5.1 problem.
24163 2012-04-01  Bruno Haible  <bruno@clisp.org>
24165         log10: Work around OSF/1 5.1 bug.
24166         * lib/math.in.h (log10): New declaration.
24167         * lib/log10.c: New file.
24168         * m4/log10.m4 (gl_FUNC_LOG10_WORKS): New macro.
24169         (gl_FUNC_LOG10): Invoke it. Set REPLACE_LOG10.
24170         * m4/math_h.m4 (gl_MATH_H): Test whether log10 is declared.
24171         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10, REPLACE_LOG10.
24172         * modules/math (Makefile.am): Substitute GNULIB_LOG10, REPLACE_LOG10.
24173         * modules/log10 (Files): Add lib/log10.c.
24174         (Depends-on): Add math.
24175         (configure.ac): If REPLACE_LOG10 is 1, compile an override.
24176         * tests/test-math-c++.cc: Check the declaration of log10.
24177         * doc/posix-functions/log10.texi: Mention the OSF/1 5.1 problem.
24179 2012-03-31  Bruno Haible  <bruno@clisp.org>
24181         log10l tests: More tests.
24182         * modules/log10l-tests (Files): Add tests/test-log10l.h,
24183         tests/minus-zero.h, tests/randoml.c.
24184         (Makefile.am): Add randoml.c to test_log10l_SOURCES.
24185         * tests/test-log10l.c: Include <float.h>, minus-zero.h, test-log10l.h.
24186         (main): Invoke test_function.
24188         log10f tests: More tests.
24189         * modules/log10f-tests (Files): Add tests/test-log10.h,
24190         tests/minus-zero.h, tests/randomf.c.
24191         (Makefile.am): Add randomf.c to test_log10f_SOURCES.
24192         * tests/test-log10f.c: Include <float.h>, minus-zero.h, test-log10.h.
24193         (main): Invoke test_function.
24195         log10 tests: More tests.
24196         * tests/test-log10.h: New file.
24197         * modules/log10-tests (Files): Add tests/test-log10.h,
24198         tests/minus-zero.h, tests/randomd.c.
24199         (Makefile.am): Add randomd.c to test_log10_SOURCES.
24200         * tests/test-log10.c: Include <float.h>, minus-zero.h, test-log10.h.
24201         (main): Invoke test_function.
24203 2012-03-31  Simon Josefsson  <simon@josefsson.org>
24205         fflush: Fix syntax error.
24206         * lib/fflush.c: Include unused-parameter.h, needed for
24207         _GL_UNUSED_PARAMETER.
24208         * modules/fflush (Depends-on): Add snippet/unused-parameter.
24210 2012-03-30  Paul Eggert  <eggert@cs.ucla.edu>
24212         regex: pacify GCC when compiling GRUB
24213         * lib/regcomp.c (init_dfa): Make a pointer 'const', to avoid
24214         a diagnostic.  Reported by Vladimir Serbinenko in
24215         <http://lists.gnu.org/r/bug-gnulib/2012-03/msg00163.html>.
24217 2012-03-29  Eric Blake  <eblake@redhat.com>
24219         stdio: don't assume gets any more
24220         * m4/stdio_h.m4 (gl_STDIO_H, gl_STDIO_H_DEFAULTS): Drop gets
24221         support.
24222         * modules/stdio (Makefile.am): Likewise.
24223         * lib/stdio-read.c (gets): Likewise.
24224         * tests/test-stdio-c++.cc: Likewise.
24225         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix comment.
24226         * lib/stdio.in.h (gets): Make warning occur in more places.
24227         * doc/posix-functions/gets.texi (gets): Update documentation.
24228         Reported by Christer Solskogen.
24230         maint.mk: fix syntax checks without exclusions
24231         * top/maint.mk (_sc_search_regexp): Allow for empty variable.
24232         Reported by Daniel P. Berrange.
24234         strerror_r: avoid compiler warning
24235         * lib/strerror_r.c (strerror_r): Hoist extern declaration to top
24236         level.
24238         fflush: avoid compiler warning
24239         * lib/fflush.c (update_fpos_cache): Mark variables that are
24240         potentially unused.
24242 2012-03-25  Bruno Haible  <bruno@clisp.org>
24244         Tests for module 'localeconv'.
24245         * modules/localeconv-tests: New file.
24246         * tests/test-localeconv.c: New file.
24248         New module 'localeconv'.
24249         * lib/locale.in.h (localeconv): New declaration.
24250         * lib/localeconv.c: New file.
24251         * m4/localeconv.m4: New file.
24252         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_LOCALECONV,
24253         REPLACE_LOCALECONV.
24254         * modules/locale (Makefile.am): Substitute GNULIB_LOCALECONV,
24255         REPLACE_LOCALECONV.
24256         * modules/localeconv: New file.
24257         * modules/nl_langinfo (Depends-on): Add localeconv.
24258         * modules/human (Depends-on): Likewise.
24259         * doc/posix-functions/localeconv.texi: Mention the new module.
24261 2012-03-25  Bruno Haible  <bruno@clisp.org>
24263         locale: Provide a complete 'struct lconv'.
24264         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
24265         'struct lconv' does not contain int_p_cs_precedes.
24266         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
24267         * doc/posix-headers/locale.texi: Update.
24269         locale: Provide a complete 'struct lconv' on Solaris 10, 11.
24270         * m4/locale_h.m4 (gl_LOCALE_H): On Solaris, define _LCONV_C99.
24271         * doc/posix-headers/locale.texi: Update.
24273         locale: Provide a working 'struct lconv'.
24274         * lib/locale.in.h (lconv): Override if REPLACE_STRUCT_LCONV is 1.
24275         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
24276         'struct lconv' does not even contain decimal_point.
24277         (gl_LOCALE_H_DEFAULTS): Initialize REPLACE_STRUCT_LCONV.
24278         * modules/locale (Makefile.am): Substitute REPLACE_STRUCT_LCONV.
24279         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
24280         * doc/posix-headers/locale.texi: Mention the problems with
24281         'struct lconv'.
24282         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
24284 2012-03-24  Bruno Haible  <bruno@clisp.org>
24286         Enable common subexpression optimization in GCC.
24287         * lib/unitypes.in.h (_UC_ATTRIBUTE_CONST, _UC_ATTRIBUTE_PURE): New
24288         macros.
24289         * lib/unicase.in.h (uc_toupper, uc_tolower, uc_totitle): Declare with
24290         GCC attribute 'const'.
24291         (uc_locale_language): Declare with GCC attribute 'pure'.
24292         * lib/unicase/caseprop.h (uc_is_cased, uc_is_case_ignorable): Declare
24293         with GCC attribute 'const'.
24294         * lib/unictype.in.h (uc_is_general_category_withtable,
24295         uc_combining_class, uc_combining_class_name,
24296         uc_combining_class_long_name, uc_bidi_class_name,
24297         uc_bidi_category_name, uc_bidi_class_long_name, uc_bidi_class,
24298         uc_bidi_category, uc_is_bidi_class, uc_is_bidi_category,
24299         uc_decimal_value, uc_digit_value, uc_numeric_value,
24300         uc_joining_type_name, uc_joining_type_long_name, uc_joining_type,
24301         uc_joining_group_name, uc_joining_group, uc_is_property_*, uc_script,
24302         uc_block, uc_is_c_whitespace, uc_is_java_whitespace,
24303         uc_c_ident_category, uc_java_ident_category, uc_is_alnum, uc_is_alpha,
24304         uc_is_cntrl, uc_is_digit, uc_is_graph, uc_is_lower, uc_is_print,
24305         uc_is_punct, uc_is_space, uc_is_upper, uc_is_xdigit, uc_is_blank):
24306         Declare with GCC attribute 'const'.
24307         (uc_general_category_name, uc_general_category_long_name,
24308         uc_general_category_byname, uc_general_category,
24309         uc_is_general_category, uc_combining_class_byname,
24310         uc_bidi_class_byname, uc_bidi_category_byname, uc_joining_type_byname,
24311         uc_joining_group_byname, uc_script_byname, uc_is_script, uc_is_block):
24312         Declare with GCC attribute 'pure'.
24313         * lib/unigbrk.in.h (uc_graphemeclusterbreak_property,
24314         uc_is_grapheme_break, u8_grapheme_next, u16_grapheme_next,
24315         u32_grapheme_next, u8_grapheme_prev, u16_grapheme_prev,
24316         u32_grapheme_prev, lib/uniname.in.h (unicode_name_character): Declare
24317         with GCC attribute 'pure'.
24318         * lib/uninorm.in.h (uc_composition): Declare with GCC attribute
24319         'const'.
24320         (uninorm_decomposing_form): Declare with GCC attribute 'pure'.
24321         * lib/unistr.in.h (): Declare with GCC attribute 'const'.
24322         (u8_check, u16_check, u32_check, u8_mblen, u16_mblen, u32_mblen,
24323         u8_cmp, u16_cmp, u32_cmp, u8_cmp2, u16_cmp2, u32_cmp2, u8_chr, u16_chr,
24324         u32_chr, u8_mbsnlen, u16_mbsnlen, u32_mbsnlen, u8_strmblen,
24325         u16_strmblen, u32_strmblen, u8_strlen, u16_strlen, u32_strlen,
24326         u8_strnlen, u16_strnlen, u32_strnlen, u8_strcmp_gnu, u8_strcmp,
24327         u16_strcmp, u32_strcmp, u8_strncmp, u16_strncmp, u32_strncmp,
24328         u8_strchr, u16_strchr, u32_strchr, u8_strrchr, u16_strrchr,
24329         u32_strrchr, u8_strcspn, u16_strcspn, u32_strcspn, u8_strspn,
24330         u16_strspn, u32_strspn, u8_strpbrk, u16_strpbrk, u32_strpbrk,
24331         u8_strstr, u16_strstr, u32_strstr, u8_startswith, u16_startswith,
24332         u32_startswith, u8_endswith, u16_endswith, u32_endswith): Declare with
24333         GCC attribute 'pure'.
24334         * lib/uniwbrk.in.h (uc_wordbreak_property): Declare with GCC attribute
24335         'const'.
24336         * lib/uniwidth.in.h (uc_width): Simplify declaration.
24337         (u8_width, u16_width, u32_width, u8_strwidth, u16_strwidth,
24338         u32_strwidth): Declare with GCC attribute 'pure'.
24340         Enable common subexpression optimization in GCC.
24341         * lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
24342         (alphasort): Declare with GCC attribute 'pure'.
24343         * lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
24344         (atoll): Declare with GCC attribute 'pure'.
24345         * lib/string.in.h (mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
24346         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
24347         mbsspn, strverscmp): Declare with GCC attribute 'pure'.
24348         * lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
24349         (btowc, wctob, wcwidth, wmemchr, wmemcmp, wcslen, wcsnlen, wcscmp,
24350         wcsncmp, wcscasecmp, wcsncasecmp, wcschr, wcsrchr, wcscspn, wcsspn,
24351         wcspbrk, wcsstr, wcswidth): Declare with GCC attribute 'pure'.
24353 2012-03-24  Bruno Haible  <bruno@clisp.org>
24355         gnulib-tool: Avoid unintended error output from 'cmp'.
24356         * gnulib-tool (func_add_file, func_update_file, func_import): Use
24357         "cmp -s", not "cmp > /dev/null".
24359 2012-03-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
24361         gnulib-tool: fix imprecise comments w.r.t. an automake bug
24363         It's not just Automake versions < 1.9b that creates an empty
24364         pkgdatadir at installation time if pkgdata_DATA is specified
24365         to empty; modern automake versions do this as well, at least
24366         until automake 1.11.4 (not yet released at the moment of writing,
24367         but soon to appear).  That behaviour was generally considered a
24368         feature rather than a bug, at least until this discussion:
24369         <http://lists.gnu.org/r/automake/2012-03/msg00014.html>
24371         See also automake bugs #10997 and #11030.
24373         * gnulib-tool (func_emit_lib_Makefile_am): Adjust comments.  Add
24374         reference to relevant automake bug numbers.
24375         (func_emit_tests_Makefile_am): Likewise.
24377 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
24379         announce-gen: use Digest::SHA when possible
24380         * build-aux/announce-gen: Use Digest::SHA when possible, falling
24381         back to Digest::SHA1 if necessary.
24383 2012-03-20  Jim Meyering  <meyering@redhat.com>
24385         tests: avoid gcc warnings about argv vs. const initializers
24386         * tests/test-posix_spawn1.c (main): Cast to "(char *)" to avoid two
24387         warnings about discarding 'const' qualifier from pointer target type.
24388         * tests/test-posix_spawn2.c (main): Likewise.
24390 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
24392         README-release: simplify slightly
24393         * top/README-release: Run "git checkout master" only once.
24395 2012-03-15  Mark Wielaard  <mark@klomp.org>
24397         git-merge-changelog: add specific example on how to use with hg.
24398         * lib/git-merge-changelog.c: Add example on how to use in .hgrc.
24400 2012-03-18  Mark Wielaard  <mark@klomp.org>
24402         lib/git-merge-changelog.c (status): Report bugs to bug-gnulib@gnu.org.
24404 2012-03-18  Andreas Oberritter  <obi@opendreambox.org>
24406         git-version-gen: don't let "prefix" envvar cause trouble
24407         * build-aux/git-version-gen (prefix): Initialize properly,
24408         so as not to use a value specified via the environment.
24409         Details here: http://thread.gmane.org/gmane.comp.gnu.parted.bugs/10810
24411 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
24413         regex: diagnose too-large repeat counts in EREs
24414         Previously, the code did not diagnose the too-large repeat count
24415         in EREs like 'b{1000000000}'; instead, it silently treated the ERE
24416         as if it were 'b\{1000000000}', which is unexpected.
24417         * lib/regcomp.c (parse_dup_op): Fail with REG_ESIZE if a repeat count
24418         is too large.  REG_ESIZE is used nowhere else, and the diagnostic
24419         is a reasonable one for this problem.  Another option would be to
24420         create a new REG_OVERFLOW error for repeat counts that are too large.
24421         (fetch_number): Return RE_DUP_MAX + 1, not REG_ERROR, if the repeat
24422         count is too large, so that the caller can distinguish the two cases.
24423         * lib/regex.h (_REG_ESIZE): Document that this is now a generic
24424         "Too large" return code, and that repeat counts are one example of this.
24426 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
24428         doc: some glibc x32 integer width issues
24429         * doc/posix-headers/sys_types.texi (sys/types.h):
24430         * doc/posix-headers/time.texi (time.h):
24431         Mention that glibc x32 does not conform to POSIX in a couple of
24432         areas related to integer widths.
24434 2012-03-15  Bruno Haible  <bruno@clisp.org>
24436         fmal: Avoid test failure on OpenBSD 5.1/SPARC64.
24437         * lib/fma.c (VOLATILE): New macro.
24438         (FUNC): Use it to work around a GCC compiler bug.
24440 2012-03-13  Bruno Haible  <bruno@clisp.org>
24442         hypotl: Bypass broken implementation in OpenBSD 5.1/SPARC.
24443         * m4/hypotl.m4 (gl_FUNC_HYPOTL_WORKS): New macro.
24444         (gl_FUNC_HYPOTL): Invoke it. If the function does not work, set
24445         REPLACE_HYPOTL to 1.
24446         * doc/posix-functions/hypotl.texi: Mention the OpenBSD 5.1/SPARC bug.
24448 2012-03-13  Bruno Haible  <bruno@clisp.org>
24450         remainderl: Bypass broken implementation in OpenBSD 5.1/SPARC.
24451         * m4/remainderl.m4 (gl_FUNC_REMAINDERL_WORKS): New macro.
24452         (gl_FUNC_REMAINDERL): Invoke it. If the function does not work, set
24453         REPLACE_REMAINDERL to 1.
24454         * doc/posix-functions/remainderl.texi: Mention the OpenBSD 5.1/SPARC
24455         bug.
24457 2012-03-13  Bruno Haible  <bruno@clisp.org>
24459         sqrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
24460         * lib/math.in.h (sqrtl): Replace it if REPLACE_SQRTL is 1.
24461         * m4/sqrtl.m4 (gl_FUNC_SQRTL_WORKS): New macro.
24462         (gl_FUNC_SQRTL): Invoke it. Set REPLACE_SQRTL to 1 if sqrtl() produces
24463         too big rounding errors.
24464         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_SQRTL.
24465         * modules/math (Makefile.am): Substitute REPLACE_SQRTL.
24466         * modules/sqrtl (configure.ac): Consider REPLACE_SQRTL.
24467         (Depends-on): Update conditions.
24468         * tests/test-sqrtl.c (my_ldexpl): New function.
24469         (main): Add test of a particular value.
24470         * doc/posix-functions/sqrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
24472 2012-03-13  Pádraig Brady  <P@draigBrady.com>
24474         doc: Update timer_* platform portability notes.
24475         * doc/posix-functions/timer_create.texi: Add platforms (OpenBSD 4.9)
24476         that always return ENOSYS.
24477         * doc/posix-functions/timer_delete.texi: Likewise.
24478         * doc/posix-functions/timer_gettime.texi: Likewise.
24479         * doc/posix-functions/timer_settime.texi: Likewise.
24481 2012-03-13  Bruno Haible  <bruno@clisp.org>
24483         cbrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
24484         * m4/cbrtl.m4 (gl_FUNC_CBRTL_WORKS): New macro.
24485         (gl_FUNC_CBRTL): Invoke it. If the function does not work, set
24486         REPLACE_CBRTL to 1.
24487         * doc/posix-functions/cbrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
24489 2012-03-13  Bruno Haible  <bruno@clisp.org>
24491         remainderl: Avoid compilation error on AIX >= 5.2.
24492         * lib/math.in.h (remainderl): Undefine macro from the system header.
24494 2012-03-13  Bruno Haible  <bruno@clisp.org>
24496         Avoid compilation errors with MSVC option -fp:strict.
24497         * lib/cbrt.c: Use MSVC specific pragma fenv_access.
24498         * lib/cbrtf.c: Likewise.
24499         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
24501 2012-03-12  Bruno Haible  <bruno@clisp.org>
24503         uninorm: Don't crash in out-of-memory conditions.
24504         * lib/uninorm/u-normalize-internal.h (FUNC): Handle malloc() failure
24505         gracefully.
24506         * lib/uninorm/uninorm-filter.c (uninorm_filter_write): Likewise.
24507         Based on a report and patch by Stephen Gallagher <sgallagh@redhat.com>.
24509 2012-03-13  Akim Demaille  <akim@lrde.epita.fr>
24511         quote: fix syntax-check
24512         * top/maint.mk (sc_prohibit_quote_without_use): quote.h
24513         also exports quote_quoting_options.
24515 2012-03-12  Simon Josefsson  <simon@josefsson.org>
24517         Collapse list of copyright years to ranges.  See
24518         <https://lists.gnu.org/r/bug-gnulib/2012-03/msg00051.html>.
24519         * build-aux/bootstrap.conf, build-aux/csharpcomp.sh.in,
24520         build-aux/csharpexec.sh.in, build-aux/gnupload,
24521         build-aux/install-reloc, build-aux/javacomp.sh.in,
24522         build-aux/javaexec.sh.in, build-aux/ldd.sh.in,
24523         build-aux/move-if-change, build-aux/reloc-ldflags,
24524         build-aux/relocatable.sh.in, build-aux/x-to-1.in: Fix copyright.
24526 2012-03-11  Bruno Haible  <bruno@clisp.org>
24528         log2f-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
24529         * m4/log2f-ieee.m4: New file.
24530         * m4/log2f.m4 (gl_FUNC_LOG2F): If gl_FUNC_LOG2F_IEEE is present, test
24531         whether log2f works with a minus zero argument. Replace it if not.
24532         * modules/log2f-ieee (Files): Add m4/log2f-ieee.m4.
24533         (Depends-on): Add log2-ieee.
24534         (configure.ac): Invoke gl_FUNC_LOG2F_IEEE.
24535         * doc/posix-functions/log2f.texi: Mention the log2f-ieee module.
24537         log2-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
24538         * m4/log2-ieee.m4: New file.
24539         * m4/log2.m4 (gl_FUNC_LOG2): If gl_FUNC_LOG2_IEEE is present, test
24540         whether log2 works with a minus zero argument. Replace it if not.
24541         * modules/log2-ieee (Files): Add m4/log2-ieee.m4.
24542         (configure.ac): Invoke gl_FUNC_LOG2_IEEE.
24543         * doc/posix-functions/log2.texi: Mention the log2-ieee module.
24545         Tests for module 'log2l-ieee'.
24546         * modules/log2l-ieee-tests: New file.
24547         * tests/test-log2l-ieee.c: New file.
24549         New module 'log2l-ieee'.
24550         * modules/log2l-ieee: New file.
24552         Tests for module 'log2-ieee'.
24553         * modules/log2-ieee-tests: New file.
24554         * tests/test-log2-ieee.c: New file.
24556         New module 'log2-ieee'.
24557         * modules/log2-ieee: New file.
24559         Tests for module 'log2f-ieee'.
24560         * modules/log2f-ieee-tests: New file.
24561         * tests/test-log2f-ieee.c: New file.
24562         * tests/test-log2-ieee.h: New file.
24564         New module 'log2f-ieee'.
24565         * modules/log2f-ieee: New file.
24567 2012-03-11  Bruno Haible  <bruno@clisp.org>
24569         Tests for module 'log2l'.
24570         * modules/log2l-tests: New file.
24571         * tests/test-log2l.c: New file.
24573         New module 'log2l'.
24574         * lib/math.in.h (log2l): New declaration.
24575         * lib/log2l.c: New file.
24576         * m4/log2l.m4: New file.
24577         * m4/math_h.m4 (gl_MATH_H): Test whether log2l is declared.
24578         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2L, HAVE_DECL_LOG2L,
24579         REPLACE_LOG2L.
24580         * modules/math (Makefile.am): Substitute GNULIB_LOG2L, HAVE_DECL_LOG2L,
24581         REPLACE_LOG2L.
24582         * modules/log2l: New file.
24583         * tests/test-math-c++.cc: Check the declaration of log2l.
24584         * doc/posix-functions/log2l.texi: Mention the new module and the IRIX
24585         and OSF/1 problems.
24587 2012-03-11  Bruno Haible  <bruno@clisp.org>
24589         Tests for module 'log2f'.
24590         * modules/log2f-tests: New file.
24591         * tests/test-log2f.c: New file.
24593         New module 'log2f'.
24594         * lib/math.in.h (log2f): New declaration.
24595         * lib/log2f.c: New file.
24596         * m4/log2f.m4: New file.
24597         * m4/math_h.m4 (gl_MATH_H): Test whether log2f is declared.
24598         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2F, HAVE_DECL_LOG2F,
24599         REPLACE_LOG2F.
24600         * modules/math (Makefile.am): Substitute GNULIB_LOG2F, HAVE_DECL_LOG2F,
24601         REPLACE_LOG2F.
24602         * modules/log2f: New file.
24603         * tests/test-math-c++.cc: Check the declaration of log2f.
24604         * doc/posix-functions/log2f.texi: Mention the new module and the IRIX
24605         and OSF/1 and Cygwin problems.
24607 2012-03-11  Bruno Haible  <bruno@clisp.org>
24609         Tests for module 'log2'.
24610         * modules/log2-tests: New file.
24611         * tests/test-log2.c: New file.
24612         * tests/test-log2.h: New file.
24614         New module 'log2'.
24615         * lib/math.in.h (log2): New declaration.
24616         * lib/log2.c: New file.
24617         * m4/log2.m4: New file.
24618         * m4/math_h.m4 (gl_MATH_H): Test whether log2 is declared.
24619         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2, HAVE_DECL_LOG2,
24620         REPLACE_LOG2.
24621         * modules/math (Makefile.am): Substitute GNULIB_LOG2, HAVE_DECL_LOG2,
24622         REPLACE_LOG2.
24623         * modules/log2: New file.
24624         * tests/test-math-c++.cc: Check the declaration of log2.
24625         * doc/posix-functions/log2.texi: Mention the new module and the IRIX
24626         and OSF/1 and Cygwin problems.
24628 2012-03-11  Bruno Haible  <bruno@clisp.org>
24630         exp2* tests: More tests.
24631         * tests/test-exp2.h (test_function): Test all integral arguments that
24632         don't need to overflow or denormalized numbers.
24633         * tests/test-exp2.c (MAX_EXP, MIN_EXP): New macros.
24634         * tests/test-exp2f.c (MAX_EXP, MIN_EXP): Likewise.
24635         * tests/test-exp2l.c (MAX_EXP, MIN_EXP): Likewise.
24637 2012-03-10  Bruno Haible  <bruno@clisp.org>
24639         log1pl-ieee: Work around test failure on AIX 7.1.
24640         * modules/log1pl-ieee (Depends-on): Add log1p-ieee.
24642         log1pl-ieee: Work around test failure on IRIX 6.5.
24643         * m4/log1pl-ieee.m4: New file.
24644         * m4/log1pl.m4 (gl_FUNC_LOG1PL): If gl_FUNC_LOG1PL_IEEE is present,
24645         test whether log1pl works with a minus zero argument. Replace it if
24646         not.
24647         * lib/math.in.h (log1pl): Override if REPLACE_LOG1PL is 1.
24648         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1PL.
24649         * modules/math (Makefile.am): Substitute REPLACE_LOG1PL.
24650         * modules/log1pl (configure.ac): Consider REPLACE_LOG1PL.
24651         (Depends-on): Update conditions.
24652         * modules/log1pl-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
24653         m4/signbit.m4.
24654         (configure.ac): Invoke gl_FUNC_LOG1PL_IEEE.
24655         * doc/posix-functions/log1pl.texi: Mention the log1pl-ieee module.
24657         log1pf-ieee: Work around test failure on OpenBSD 4.9 and AIX 7.1.
24658         * m4/log1pf-ieee.m4: New file.
24659         * m4/log1pf.m4 (gl_FUNC_LOG1PF): If gl_FUNC_LOG1PF_IEEE is present,
24660         test whether log1pf works with a minus zero argument. Replace it if
24661         not.
24662         * modules/log1pf-ieee (Files): Add m4/log1pf-ieee.m4, m4/minus-zero.m4,
24663         m4/signbit.m4.
24664         (configure.ac): Invoke gl_FUNC_LOG1PF_IEEE.
24665         * doc/posix-functions/log1pf.texi: Mention the log1pf-ieee module.
24667         log1pf-ieee: Work around test failure on AIX 5.1 and HP-UX 11.
24668         * modules/log1pf-ieee (Depends-on): Add log1p-ieee.
24669         (configure.ac): Require gl_FUNC_LOG1PF.
24671         log1p-ieee: Work around test failure on AIX 7.1 and HP-UX 11.
24672         * m4/log1p-ieee.m4: New file.
24673         * m4/log1p.m4 (gl_FUNC_LOG1P): If gl_FUNC_LOG1P_IEEE is present, test
24674         whether log1p works with a minus zero argument. Replace it if not.
24675         * lib/math.in.h (log1p): Override if REPLACE_LOG1P is 1.
24676         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1P.
24677         * modules/math (Makefile.am): Substitute REPLACE_LOG1P.
24678         * modules/log1p (configure.ac): Consider REPLACE_LOG1P.
24679         (Depends-on): Update conditions.
24680         * modules/log1p-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
24681         m4/signbit.m4.
24682         (configure.ac): Invoke gl_FUNC_LOG1P_IEEE.
24683         * doc/posix-functions/log1p.texi: Mention the log1p-ieee module.
24685         Tests for module 'log1pl-ieee'.
24686         * modules/log1pl-ieee-tests: New file.
24687         * tests/test-log1pl-ieee.c: New file.
24689         New module 'log1pl-ieee'.
24690         * modules/log1pl-ieee: New file.
24692         Tests for module 'log1p-ieee'.
24693         * modules/log1p-ieee-tests: New file.
24694         * tests/test-log1p-ieee.c: New file.
24696         New module 'log1p-ieee'.
24697         * modules/log1p-ieee: New file.
24699         Tests for module 'log1pf-ieee'.
24700         * modules/log1pf-ieee-tests: New file.
24701         * tests/test-log1pf-ieee.c: New file.
24702         * tests/test-log1p-ieee.h: New file.
24704         New module 'log1pf-ieee'.
24705         * modules/log1pf-ieee: New file.
24707 2012-03-10  Bruno Haible  <bruno@clisp.org>
24709         Tests for module 'log1pl'.
24710         * modules/log1pl-tests: New file.
24711         * tests/test-log1pl.c: New file.
24713         New module 'log1pl'.
24714         * lib/math.in.h (log1pl): New declaration.
24715         * lib/log1pl.c: New file.
24716         * m4/log1pl.m4: New file.
24717         * m4/math_h.m4 (gl_MATH_H): Test whether log1pl is declared.
24718         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PL, HAVE_LOG1PL.
24719         * modules/math (Makefile.am): Substitute GNULIB_LOG1PL, HAVE_LOG1PL.
24720         * modules/log1pl: New file.
24721         * tests/test-math-c++.cc: Check the declaration of log1pl.
24722         * doc/posix-functions/log1pl.texi: Mention the new module.
24724 2012-03-10  Bruno Haible  <bruno@clisp.org>
24726         Tests for module 'log1pf'.
24727         * modules/log1pf-tests: New file.
24728         * tests/test-log1pf.c: New file.
24730         New module 'log1pf'.
24731         * lib/math.in.h (log1pf): New declaration.
24732         * lib/log1pf.c: New file.
24733         * m4/log1pf.m4: New file.
24734         * m4/math_h.m4 (gl_MATH_H): Test whether log1pf is declared.
24735         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PF, HAVE_LOG1PF,
24736         REPLACE_LOG1PF.
24737         * modules/math (Makefile.am): Substitute GNULIB_LOG1PF, HAVE_LOG1PF,
24738         REPLACE_LOG1PF.
24739         * modules/log1pf: New file.
24740         * tests/test-math-c++.cc: Check the declaration of log1pf.
24741         * doc/posix-functions/log1pf.texi: Mention the new module.
24743 2012-03-10  Bruno Haible  <bruno@clisp.org>
24745         log1p tests: More tests.
24746         * tests/test-log1p.h: New file.
24747         * modules/log1p-tests (Files): Add tests/test-log1p.h, tests/randomd.c.
24748         (Makefile.am): Add randomd.c to test_log1p_SOURCES.
24749         * tests/test-log1p.c: Include <float.h> and test-log1p.h.
24750         (main): Invoke test_function.
24752         log1p: Provide replacement for Minix and MSVC.
24753         * lib/math.in.h (log1p): New declaration.
24754         * lib/log1p.c: New file.
24755         * m4/log1p.m4: New file.
24756         * m4/math_h.m4 (gl_MATH_H): Test whether log1p is declared.
24757         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1P, HAVE_LOG1P.
24758         * modules/math (Makefile.am): Substitute GNULIB_LOG1P, HAVE_LOG1P.
24759         * modules/log1p (Files): Add lib/log1p.c, m4/log1p.m4.
24760         (Depends-on): Add math, isnand, log, round.
24761         (configure.ac): Invoke gl_FUNC_LOG1P. Arrange to compile replacement if
24762         HAVE_LOG1P is 0.
24763         * tests/test-math-c++.cc: Check the declaration of log1p.
24764         * doc/posix-functions/log1p.texi: Mention the replacement.
24766 2012-03-10  Bruno Haible  <bruno@clisp.org>
24768         math tests: Small simplification.
24769         * tests/test-exp.h (test_function): Use the same err_bound for
24770         'double' on platforms with sizeof (long double) == sizeof (double)
24771         than on platforms with sizeof (long double) > sizeof (double).
24772         * tests/test-exp2.h (test_function): Likewise.
24773         * tests/test-expm1.h (test_function): Likewise.
24774         * tests/test-log.h (test_function): Likewise.
24776 2012-03-10  Bruno Haible  <bruno@clisp.org>
24778         Fix some comments.
24779         * lib/expl.c: Fix an ambiguous comment.
24780         * lib/expm1.c: Likewise.
24781         * lib/expm1l.c: Likewise.
24782         * lib/exp2.c: Likewise.
24783         * lib/exp2l.c: Likewise.
24785 2012-03-10  Paul Eggert  <eggert@cs.ucla.edu>
24787         regex: allow inclusion of <regex.h> before <limits.h>
24788         Without this patch, portable programs had to include <limits.h> before
24789         <regex.h> if they wanted a consistent value for RE_DUP_MAX.
24790         I ran into this problem with a test version of GNU grep on Solaris 8.
24791         * lib/regex.h: Include <limits.h> if _REGEX_INCLUDE_LIMITS_H.
24792         This is done conditionally so that this change can be merged
24793         back to glibc.
24794         * m4/regex.m4 (gl_REGEX): Define _REGEX_INCLUDE_LIMITS_H if
24795         using the included regex.
24797         fts: depend on fdopendir
24798         * modules/fts (Depends-on): Depend on fdopendir.  This is needed
24799         on Solaris 8, at least, since it lacks fdopendir.  Evidently the
24800         problem was introduced when fdopendir was split out.
24802 2012-03-10  Bruno Haible  <bruno@clisp.org>
24804         Remove unused variables.
24805         * m4/fmodf.m4 (gl_FUNC_FMODF): Remove unused variable 'i'.
24806         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
24808 2012-03-10  Bruno Haible  <bruno@clisp.org>
24810         isnanf-nolibm: Fix last commit.
24811         * lib/isnanf-nolibm.h [IRIX]: Don't include <ieeefp.h>. Declare isnanf.
24813         isnanf-nolibm: Make it work on IRIX 6.5 with cc.
24814         * lib/isnanf-nolibm.h [IRIX]: Include <ieeefp.h>.
24816 2012-03-10  Bruno Haible  <bruno@clisp.org>
24818         logf-ieee: Work around test failure on NetBSD 5.1.
24819         * m4/logf-ieee.m4: New file.
24820         * m4/logf.m4 (gl_FUNC_LOGF): If gl_FUNC_LOGF_IEEE is present, test
24821         whether logf works with a negative argument. Replace it if not.
24822         * lib/logf.c (logf): For negative arguments, return NaN.
24823         * modules/logf-ieee (Files): Add m4/logf-ieee.m4.
24824         (configure.ac): Invoke gl_FUNC_LOGF_IEEE.
24825         * doc/posix-functions/logf.texi: Mention the logf-ieee module.
24827         logf-ieee: Work around test failure on Solaris 9.
24828         * modules/logf-ieee (Depends-on): Add log-ieee.
24829         (configure.ac): Require gl_FUNC_LOGF.
24831         log-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
24832         * m4/log-ieee.m4: New file.
24833         * m4/log.m4 (gl_FUNC_LOG): If gl_FUNC_LOG_IEEE is present, test whether
24834         log works with a negative argument. Replace it if not.
24835         * lib/log.c (log): For negative arguments, return NaN.
24836         * modules/log-ieee (Files): Add m4/log-ieee.m4.
24837         (configure.ac): Invoke gl_FUNC_LOG_IEEE.
24838         * doc/posix-functions/log.texi: Mention the log-ieee module.
24840         Tests for module 'logl-ieee'.
24841         * modules/logl-ieee-tests: New file.
24842         * tests/test-logl-ieee.c: New file.
24844         New module 'logl-ieee'.
24845         * modules/logl-ieee: New file.
24847         Tests for module 'log-ieee'.
24848         * modules/log-ieee-tests: New file.
24849         * tests/test-log-ieee.c: New file.
24851         New module 'log-ieee'.
24852         * modules/log-ieee: New file.
24854         Tests for module 'logf-ieee'.
24855         * modules/logf-ieee-tests: New file.
24856         * tests/test-logf-ieee.c: New file.
24857         * tests/test-log-ieee.h: New file.
24859         New module 'logf-ieee'.
24860         * modules/logf-ieee: New file.
24862 2012-03-10  Bruno Haible  <bruno@clisp.org>
24864         log: Fix bug introduced on 2012-03-09.
24865         * m4/log.m4 (gl_FUNC_LOG): Require gl_MATH_H_DEFAULTS.
24867 2012-03-10  Pádraig Brady  <P@draigBrady.com>
24869         timer-time: link explicitly with pthreads on glibc
24870         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
24871         to support static linking, when newer glibc is
24872         detected, as that contains pthread emulation of
24873         POSIX timer functions where required.
24874         * modules/timer-time: Depend on threadlib to
24875         pull in the appropriate library to link.
24877 2012-03-10  Bruno Haible  <bruno@clisp.org>
24879         log* tests: More tests.
24880         * tests/test-log.h: New file.
24881         * tests/test-log.c: Include <float.h>, minus-zero.h, test-log.h.
24882         (main): Invoke test_function.
24883         * tests/test-logf.c: Include <float.h>, minus-zero.h, test-log.h.
24884         (main): Invoke test_function.
24885         * tests/test-logl.c: Include <float.h>, minus-zero.h, test-log.h.
24886         (main): Invoke test_function.
24887         * modules/log-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
24888         tests/randomd.c.
24889         (Makefile.am): Add randomd.c to test_log_SOURCES.
24890         * modules/logf-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
24891         tests/randomf.c.
24892         (Makefile.am): Add randomf.c to test_logf_SOURCES.
24893         * modules/logl-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
24894         tests/randoml.c.
24895         (Depends-on): Add 'float'.
24896         (Makefile.am): Add randoml.c to test_logl_SOURCES.
24898 2012-03-09  Bruno Haible  <bruno@clisp.org>
24900         logl: Work around OSF/1 5.1 bug.
24901         * lib/math.in.h (logl): Override if REPLACE_LOGL is 1.
24902         * lib/logl.c (logl): If logl exists, use it and provide just the
24903         workaround.
24904         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): New macro.
24905         (gl_FUNC_LOGL): Invoke it. Set REPLACE_LOGL.
24906         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGL.
24907         * modules/math (Makefile.am): Substitute REPLACE_LOGL.
24908         * modules/logl (configure.ac): Consider REPLACE_LOGL.
24909         (Depends-on): Update conditions.
24910         * doc/posix-functions/logl.texi: Mention the OSF/1 5.1 problem.
24912 2012-03-09  Bruno Haible  <bruno@clisp.org>
24914         logf: Work around OSF/1 5.1 bug.
24915         * lib/math.in.h (logf): Override if REPLACE_LOGF is 1.
24916         * lib/logf.c (logf): If logf exists, use it and provide just the
24917         workaround.
24918         * m4/logf.m4 (gl_FUNC_LOGF_WORKS): New macro.
24919         (gl_FUNC_LOGF): Invoke it. Set REPLACE_LOGF.
24920         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGF.
24921         * modules/math (Makefile.am): Substitute REPLACE_LOGF.
24922         * modules/logf (configure.ac): Consider REPLACE_LOGF.
24923         (Depends-on): Update conditions.
24924         * doc/posix-functions/logf.texi: Mention the OSF/1 5.1 problem.
24926 2012-03-09  Bruno Haible  <bruno@clisp.org>
24928         log: Work around OSF/1 5.1 bug.
24929         * lib/math.in.h (log): New declaration.
24930         * lib/log.c: New file.
24931         * m4/log.m4 (gl_FUNC_LOG_WORKS): New macro.
24932         (gl_FUNC_LOG): Invoke it. Set REPLACE_LOG.
24933         * m4/math_h.m4 (gl_MATH_H): Test whether log is declared.
24934         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG, REPLACE_LOG.
24935         * modules/math (Makefile.am): Substitute GNULIB_LOG, REPLACE_LOG.
24936         * modules/log (Files): Add lib/log.c.
24937         (Depends-on): Add math.
24938         (configure.ac): If REPLACE_LOG is 1, compile an override.
24939         * tests/test-math-c++.cc: Check the declaration of log.
24940         * doc/posix-functions/log.texi: Mention the OSF/1 5.1 problem.
24942 2012-03-09  Jim Meyering  <meyering@redhat.com>
24944         readtokens.c: adjust wording in a comment
24945         * lib/readtokens.c: Insert omitted "that" in a comment.
24947 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
24949         modechange: add notations +40, 00440, etc.
24950         * lib/modechange.c (mode_compile): Support new notations
24951         +40, -40, =440, 00440.  See <http://debbugs.gnu.org/8391>.
24953 2012-03-08  Bruno Haible  <bruno@clisp.org>
24955         exp2l-ieee: Work around test failure on OpenBSD 4.9 and IRIX 6.5.
24956         * m4/exp2l-ieee.m4: New file.
24957         * m4/exp2l.m4 (gl_FUNC_EXP2L): If gl_FUNC_EXP2L_IEEE is present,
24958         test whether exp2l works with a NaN argument and with a negative
24959         infinity argument. Replace it if not.
24960         * lib/math.in.h (exp2l): Override if REPLACE_EXP2L is 1.
24961         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXP2L.
24962         * modules/math (Makefile.am): Substitute REPLACE_EXP2L.
24963         * modules/exp2l (configure.ac): Consider REPLACE_EXP2L.
24964         (Depends-on): Update conditions.
24965         * modules/exp2l-ieee (Files): Add m4/exp2l-ieee.m4.
24966         (configure.ac): Invoke gl_FUNC_EXP2L_IEEE.
24967         * doc/posix-functions/exp2l.texi: Mention the exp2l-ieee module.
24969         Tests for module 'exp2l-ieee'.
24970         * modules/exp2l-ieee-tests: New file.
24971         * tests/test-exp2l-ieee.c: New file.
24973         New module 'exp2l-ieee'.
24974         * modules/exp2l-ieee: New file.
24976         Tests for module 'exp2-ieee'.
24977         * modules/exp2-ieee-tests: New file.
24978         * tests/test-exp2-ieee.c: New file.
24980         New module 'exp2-ieee'.
24981         * modules/exp2-ieee: New file.
24983         Tests for module 'exp2f-ieee'.
24984         * modules/exp2f-ieee-tests: New file.
24985         * tests/test-exp2f-ieee.c: New file.
24986         * tests/test-exp2-ieee.h: New file.
24988         New module 'exp2f-ieee'.
24989         * modules/exp2f-ieee: New file.
24991 2012-03-08  Bruno Haible  <bruno@clisp.org>
24993         Tests for module 'exp2l'.
24994         * modules/exp2l-tests: New file.
24995         * tests/test-exp2l.c: New file.
24997         New module 'exp2l'.
24998         * lib/math.in.h (exp2l): New declaration.
24999         * lib/exp2l.c: New file.
25000         * lib/expl-table.c: New file, extracted from lib/expl.c.
25001         * lib/expl.c (gl_expl_table): New declaration.
25002         (expl): Remove expl_table. Update reference.
25003         * m4/exp2l.m4: New file.
25004         * m4/math_h.m4 (gl_MATH_H): Test whether exp2l is declared.
25005         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2L, HAVE_DECL_EXP2L.
25006         * modules/math (Makefile.am): Substitute GNULIB_EXP2L, HAVE_DECL_EXP2L.
25007         * modules/exp2l: New file.
25008         * modules/expl (Files): Add lib/expl-table.c.
25009         (configure.ac): Compile also expl-table.c.
25010         * tests/test-math-c++.cc: Check the declaration of exp2l.
25011         * doc/posix-functions/exp2l.texi: Mention the new module and the IRIX
25012         problem.
25014 2012-03-08  Bruno Haible  <bruno@clisp.org>
25016         Tests for module 'exp2f'.
25017         * modules/exp2f-tests: New file.
25018         * tests/test-exp2f.c: New file.
25020         New module 'exp2f'.
25021         * lib/math.in.h (exp2f): New declaration.
25022         * lib/exp2f.c: New file.
25023         * m4/exp2f.m4: New file.
25024         * m4/math_h.m4 (gl_MATH_H): Test whether exp2f is declared.
25025         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2F, HAVE_DECL_EXP2F.
25026         * modules/math (Makefile.am): Substitute GNULIB_EXP2F, HAVE_DECL_EXP2F.
25027         * modules/exp2f: New file.
25028         * tests/test-math-c++.cc: Check the declaration of exp2f.
25029         * doc/posix-functions/exp2f.texi: Mention the new module and the
25030         IRIX problem.
25032 2012-03-08  Bruno Haible  <bruno@clisp.org>
25034         Tests for module 'exp2'.
25035         * modules/exp2-tests: New file.
25036         * tests/test-exp2.c: New file.
25037         * tests/test-exp2.h: New file.
25039         New module 'exp2'.
25040         * lib/math.in.h (exp2): New declaration.
25041         * lib/exp2.c: New file.
25042         * m4/exp2.m4: New file.
25043         * m4/math_h.m4 (gl_MATH_H): Test whether exp2 is declared.
25044         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2, HAVE_DECL_EXP2,
25045         REPLACE_EXP2.
25046         * modules/math (Makefile.am): Substitute GNULIB_EXP2, HAVE_DECL_EXP2,
25047         REPLACE_EXP2.
25048         * modules/exp2: New file.
25049         * tests/test-math-c++.cc: Check the declaration of exp2.
25050         * doc/posix-functions/exp2.texi: Mention the new module and the IRIX
25051         and OpenBSD problems.
25053 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
25055         savedir: fix comment typo
25056         * lib/savedir.c (savedirstream): Fix typo in comment.
25058 2012-03-08  Bruno Haible  <bruno@clisp.org>
25060         test-readtokens.c: use const; remove unwarranted cast
25061         * tests/test-readtokens.c: Declare delim to be const, to avoid a cast.
25063 2012-03-08  Bruno Haible  <bruno@clisp.org>
25065         fmal: Avoid compilation error on AIX.
25066         * lib/math.in.h (fmal): Undefine macro before declaration. Needed on
25067         AIX 5.2..7.1.
25069 2012-03-08  Bruno Haible  <bruno@clisp.org>
25071         fma, fmaf, fmal: Override undeclared system functions on IRIX 6.5.
25072         * m4/fma.m4 (gl_FUNC_FMA): If fma() exists but is not declared,
25073         arrange to set REPLACE_FMA=1, not HAVE_FMA=0.
25074         * m4/fmaf.m4 (gl_FUNC_FMAF): If fmaf() exists but is not declared,
25075         arrange to set REPLACE_FMAF=1, not HAVE_FMAF=0.
25076         * m4/fmal.m4 (gl_FUNC_FMAL): If fmal() exists but is not declared,
25077         arrange to set REPLACE_FMAL=1, not HAVE_FMAL=0.
25079 2012-03-08  Bruno Haible  <bruno@clisp.org>
25081         remainderf: Override buggy system function on IRIX 6.5.
25082         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): New macro.
25083         (gl_FUNC_REMAINDERF): Invoke it. Don't assume remainderf() is declared
25084         when it exists.
25085         * doc/posix-functions/remainderf.texi: Mention the IRIX problems.
25087 2012-03-08  Jim Meyering  <meyering@redhat.com>
25089         test-readtokens.c: avoid const-related compilation warnings
25090         * tests/test-readtokens.c: Avoid const-related compilation warnings.
25092 2012-03-07  Jim Meyering  <meyering@redhat.com>
25093             Bruno Haible  <bruno@clisp.org>
25095         frexp-nolibm, frexpl-nolibm tests: Fix bug introduced on 2012-03-03.
25096         * modules/frexp-nolibm-tests (Files): Add tests/test-frexp.h,
25097         tests/randomd.c.
25098         (Makefile.am): Add randomd.c to test_frexp_nolibm_SOURCES.
25099         * modules/frexpl-nolibm-tests (Files): Add tests/test-frexp.h,
25100         tests/randoml.c.
25101         (Makefile.am): Add randoml.c to test_frexpl_nolibm_SOURCES.
25103 2012-03-07  Bruno Haible  <bruno@clisp.org>
25105         expm1l: Avoid compilation error on AIX.
25106         * lib/math.in.h (expm1l): Undefine macro before declaration. Needed on
25107         AIX 5.2..7.1.
25109 2012-03-07  Bruno Haible  <bruno@clisp.org>
25111         expm1l: Don't override undeclared system function on IRIX 6.5.
25112         * lib/math.in.h (expm1l): Test HAVE_DECL_EXPM1L, not HAVE_EXPM1L.
25113         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Don't assume expm1l() is declared when
25114         it exists. Set HAVE_DECL_EXPM1L.
25115         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_EXPM1L, not
25116         HAVE_EXPM1L.
25117         * modules/math (Makefile.am): Substitute HAVE_DECL_EXPM1L, not
25118         HAVE_EXPM1L.
25119         * doc/posix-functions/expm1l.texi: Mention missing declaration problem.
25121 2012-03-07  Bruno Haible  <bruno@clisp.org>
25123         remainderl: Don't override undeclared system function on IRIX 6.5.
25124         * lib/math.in.h (remainderl): Test HAVE_DECL_REMAINDERL, not
25125         HAVE_REMAINDERL.
25126         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Don't assume remainderl() is
25127         declared when it exists. Set HAVE_DECL_REMAINDERL.
25128         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_REMAINDERL,
25129         not HAVE_REMAINDERL.
25130         * modules/math (Makefile.am): Substitute HAVE_DECL_REMAINDERL, not
25131         HAVE_REMAINDERL.
25132         * doc/posix-functions/remainderl.texi: Mention missing declaration
25133         problem.
25135 2012-03-07  Bruno Haible  <bruno@clisp.org>
25137         rintf: Don't override undeclared system function on IRIX 6.5.
25138         * lib/math.in.h (rintf): Test HAVE_DECL_RINTF, not HAVE_RINTF.
25139         * m4/rintf.m4 (gl_FUNC_RINTF): Don't assume rintf() is declared when it
25140         exists. Set HAVE_DECL_RINTF.
25141         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_RINTF, not
25142         HAVE_RINTF.
25143         * modules/math (Makefile.am): Substitute HAVE_DECL_RINTF, not
25144         HAVE_RINTF.
25145         * doc/posix-functions/rintf.texi: Mention missing declaration problem.
25147 2012-03-07  Bruno Haible  <bruno@clisp.org>
25149         roundl: Avoid compilation error on AIX.
25150         * lib/math.in.h (roundl): Undefine macro before declaration. Needed on
25151         AIX 5.2..7.1.
25153 2012-03-07  Bruno Haible  <bruno@clisp.org>
25155         roundl: Don't override undeclared system function on IRIX 6.5.
25156         * m4/roundl.m4 (gl_FUNC_ROUNDL): Search for roundl() in the libraries
25157         also when it is not declared. Set HAVE_ROUNDL. For replacement code,
25158         test HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
25159         * modules/roundl (configure.ac): For replacement code, test
25160         HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
25161         (Depends-on): Update conditions.
25162         * doc/posix-functions/roundl.texi: Mention the IRIX problem.
25164 2012-03-07  Bruno Haible  <bruno@clisp.org>
25166         roundf: Don't override undeclared system function on IRIX 6.5.
25167         * m4/roundf.m4 (gl_FUNC_ROUNDF): Search for roundf() in the libraries
25168         also when it is not declared. Set HAVE_ROUNDF. For replacement code,
25169         test HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
25170         * modules/roundf (configure.ac): For replacement code, test
25171         HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
25172         (Depends-on): Update conditions.
25173         * modules/roundf-ieee (Depends-on): Update conditions.
25174         * doc/posix-functions/roundf.texi: Mention the IRIX problem.
25176 2012-03-07  Bruno Haible  <bruno@clisp.org>
25178         round: Don't override undeclared system function on IRIX 6.5.
25179         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Accept an optional third
25180         argument.
25181         * m4/round.m4 (gl_FUNC_ROUND): Search for round() in the libraries
25182         also when it is not declared. Set HAVE_ROUND. For replacement code,
25183         test HAVE_ROUND, not HAVE_DECL_ROUND.
25184         * modules/round (configure.ac): For replacement code, test HAVE_ROUND,
25185         not HAVE_DECL_ROUND.
25186         (Depends-on): Update conditions.
25187         * modules/round-ieee (Depends-on): Update conditions.
25188         * doc/posix-functions/round.texi: Mention the IRIX problem.
25190 2012-03-07  Bruno Haible  <bruno@clisp.org>
25192         copysignf: Don't override undeclared system function on IRIX 6.5.
25193         * lib/math.in.h (copysignf): Test HAVE_DECL_COPYSIGNF, not
25194         HAVE_COPYSIGNF.
25195         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Don't assume copysignf() is
25196         declared when it exists. Set HAVE_DECL_COPYSIGNF.
25197         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_COPYSIGNF,
25198         not HAVE_COPYSIGNF.
25199         * modules/math (Makefile.am): Substitute HAVE_DECL_COPYSIGNF, not
25200         HAVE_COPYSIGNF.
25201         * doc/posix-functions/copysignf.texi: Mention missing declaration
25202         problem.
25204 2012-03-07  Jim Meyering  <meyering@redhat.com>
25206         readtokens: add tests
25207         * modules/readtokens-tests: New file.
25208         * tests/test-readtokens.c: New file.
25210 2012-03-07  Jim Meyering  <meyering@redhat.com>
25212         quotearg: the module must now include quote.h
25213         With commit v0.0-7133-g6417476, quotearg.c includes "quote.h".
25214         So must the module.
25215         * modules/quotearg (Files): Add quote.h.
25217 2012-03-06  Paul Eggert  <eggert@cs.ucla.edu>
25219         readtokens: avoid core dumps with unusual calling patterns
25220         Reported by Xu Zhongxing in <http://debbugs.gnu.org/10953>.
25221         * lib/readtokens.c: Include limits.h.
25222         (word, bits_per_word, get_nth_bit, set_nth_bit): New.
25223         (readtoken): Don't cache the delimiters; the cache code was buggy
25224         if !delim && saved_delim, or if the new n_delim differs from the old.
25225         Also, it wasn't thread-safe.
25227 2012-03-07  Bruno Haible  <bruno@clisp.org>
25229         quote: Adhere to common module description layout.
25230         * modules/quote (Makefile.am): Add back empty section.
25232 2012-03-06  Akim Demaille  <demaille@gostai.com>
25234         quote: fuse into quotearg
25235         This patch is made for the benefit of Bison.
25236         quote does not leave the choice of the quoting style to the user.
25237         quoting_style provides poor customizability, yet quoting_options,
25238         which is very rich, is hidden inside quotearg.c.  So in order to
25239         allow quote customization, move its implementation to quotearg.c.
25240         * lib/quote.c: Remove.
25241         * modules/quote: Adjust.
25242         * lib/quotearg.c (quoting_options_from_style): Fix a compiler
25243         warning: provide all the members of literal structs.
25244         (quote_quoting_options): New.
25245         (quote, quote_n): Import implementation from quote.c.
25246         * lib/quote.h: Import the comments from quote.c.
25247         (quote_quoting_options): New.
25249 2012-03-06  Bruno Haible  <bruno@clisp.org>
25251         Tests for module 'expm1l-ieee'.
25252         * modules/expm1l-ieee-tests: New file.
25253         * tests/test-expm1l-ieee.c: New file.
25255         New module 'expm1l-ieee'.
25256         * modules/expm1l-ieee: New file.
25258         Tests for module 'expm1f-ieee'.
25259         * modules/expm1f-ieee-tests: New file.
25260         * tests/test-expm1f-ieee.c: New file.
25262         New module 'expm1f-ieee'.
25263         * modules/expm1f-ieee: New file.
25265         Tests for module 'expm1-ieee'.
25266         * modules/expm1-ieee-tests: New file.
25267         * tests/test-expm1-ieee.c: New file.
25268         * tests/test-expm1-ieee.h: New file.
25270         New module 'expm1-ieee'.
25271         * modules/expm1-ieee: New file.
25272         * m4/expm1-ieee.m4: New file.
25273         * m4/expm1.m4 (gl_FUNC_EXPM1): If gl_FUNC_EXPM1_IEEE is present, test
25274         whether expm1 works with a minus zero argument. Replace it if not.
25275         * lib/math.in.h (expm1): Override if REPLACE_EXPM1 is 1.
25276         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1.
25277         * modules/math (Makefile.am): Substitute REPLACE_EXPM1.
25278         * modules/expm1 (configure.ac): Consider REPLACE_EXPM1.
25279         (Depends-on): Update conditions.
25280         * doc/posix-functions/expm1.texi: Mention the expm1-ieee module and the
25281         AIX problem.
25283 2012-03-06  Bruno Haible  <bruno@clisp.org>
25285         Work around expm1f bug on IRIX 6.5.
25286         * lib/math.in.h (expm1f): Override if REPLACE_EXPM1F is 1.
25287         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): New macro.
25288         (gl_FUNC_EXPM1F): Invoke it. Set REPLACE_EXPM1F to 1 if expm1f() does
25289         not work.
25290         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1F.
25291         * modules/math (Makefile.am): Substitute REPLACE_EXPM1F.
25292         * modules/expm1f (configure.ac): Consider REPLACE_EXPM1F.
25293         (Depends-on): Update conditions.
25294         * doc/posix-functions/expm1f.texi: Mention the IRIX 6.5 bug.
25296 2012-03-06  Bruno Haible  <bruno@clisp.org>
25298         Tests for module 'expm1l'.
25299         * modules/expm1l-tests: New file.
25300         * tests/test-expm1l.c: New file.
25302         New module 'expm1l'.
25303         * lib/math.in.h (expm1l): New declaration.
25304         * lib/expm1l.c: New file.
25305         * m4/expm1l.m4: New file.
25306         * m4/math_h.m4 (gl_MATH_H): Test whether expm1l is declared.
25307         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1L, HAVE_EXPM1L.
25308         * modules/math (Makefile.am): Substitute GNULIB_EXPM1L, HAVE_EXPM1L.
25309         * modules/expm1l: New file.
25310         * tests/test-math-c++.cc: Check the declaration of expm1l.
25311         * doc/posix-functions/expm1l.texi: Mention the new module.
25313 2012-03-06  Bruno Haible  <bruno@clisp.org>
25315         Tests for module 'expm1f'.
25316         * modules/expm1f-tests: New file.
25317         * tests/test-expm1f.c: New file.
25319         New module 'expm1f'.
25320         * lib/math.in.h (expm1f): New declaration.
25321         * lib/expm1f.c: New file.
25322         * m4/expm1f.m4: New file.
25323         * m4/math_h.m4 (gl_MATH_H): Test whether expm1f is declared.
25324         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1F, HAVE_EXPM1F.
25325         * modules/math (Makefile.am): Substitute GNULIB_EXPM1F, HAVE_EXPM1F.
25326         * modules/expm1f: New file.
25327         * tests/test-math-c++.cc: Check the declaration of expm1f.
25328         * doc/posix-functions/expm1f.texi: Mention the new module.
25330 2012-03-06  Bruno Haible  <bruno@clisp.org>
25332         Tests for module 'expm1'.
25333         * modules/expm1-tests: New file.
25334         * tests/test-expm1.c: New file.
25335         * tests/test-expm1.h: New file.
25337         New module 'expm1'.
25338         * lib/math.in.h (expm1): New declaration.
25339         * lib/expm1.c: New file.
25340         * m4/expm1.m4: New file.
25341         * m4/math_h.m4 (gl_MATH_H): Test whether expm1 is declared.
25342         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1, HAVE_EXPM1.
25343         * modules/math (Makefile.am): Substitute GNULIB_EXPM1, HAVE_EXPM1.
25344         * modules/expm1: New file.
25345         * tests/test-math-c++.cc: Check the declaration of expm1.
25346         * doc/posix-functions/expm1.texi: Mention the new module.
25348 2012-03-06  Bruno Haible  <bruno@clisp.org>
25350         math: Ensure declarations of math functions.
25351         * modules/acosf (Depends-on): Add 'extensions'.
25352         * modules/asinf (Depends-on): Likewise.
25353         * modules/atan2f (Depends-on): Likewise.
25354         * modules/atanf (Depends-on): Likewise.
25355         * modules/cbrt (Depends-on): Likewise.
25356         * modules/cbrtf (Depends-on): Likewise.
25357         * modules/cbrtl (Depends-on): Likewise.
25358         * modules/copysignf (Depends-on): Likewise.
25359         * modules/copysignl (Depends-on): Likewise.
25360         * modules/cosf (Depends-on): Likewise.
25361         * modules/coshf (Depends-on): Likewise.
25362         * modules/expf (Depends-on): Likewise.
25363         * modules/fabsf (Depends-on): Likewise.
25364         * modules/fabsl (Depends-on): Likewise.
25365         * modules/fmaf (Depends-on): Likewise.
25366         * modules/fmal (Depends-on): Likewise.
25367         * modules/fmodf (Depends-on): Likewise.
25368         * modules/fmodl (Depends-on): Likewise.
25369         * modules/frexpf (Depends-on): Likewise.
25370         * modules/frexpl (Depends-on): Likewise.
25371         * modules/hypot (Depends-on): Likewise.
25372         * modules/hypotf (Depends-on): Likewise.
25373         * modules/hypotl (Depends-on): Likewise.
25374         * modules/ldexpf (Depends-on): Likewise.
25375         * modules/ldexpl (Depends-on): Likewise.
25376         * modules/log10f (Depends-on): Likewise.
25377         * modules/log10l (Depends-on): Likewise.
25378         * modules/log1p (Depends-on): Likewise.
25379         * modules/logb (Depends-on): Likewise.
25380         * modules/logf (Depends-on): Likewise.
25381         * modules/modff (Depends-on): Likewise.
25382         * modules/modfl (Depends-on): Likewise.
25383         * modules/powf (Depends-on): Likewise.
25384         * modules/remainderf (Depends-on): Likewise.
25385         * modules/remainderl (Depends-on): Likewise.
25386         * modules/rintf (Depends-on): Likewise.
25387         * modules/rintl (Depends-on): Likewise.
25388         * modules/sinf (Depends-on): Likewise.
25389         * modules/sinhf (Depends-on): Likewise.
25390         * modules/sqrtf (Depends-on): Likewise.
25391         * modules/tanf (Depends-on): Likewise.
25392         * modules/tanhf (Depends-on): Likewise.
25393         * m4/acosf.m4 (gl_FUNC_ACOSF): Require gl_USE_SYSTEM_EXTENSIONS.
25394         * m4/asinf.m4 (gl_FUNC_ASINF): Likewise.
25395         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Likewise.
25396         * m4/atanf.m4 (gl_FUNC_ATANF): Likewise.
25397         * m4/cbrt.m4 (gl_FUNC_CBRT): Likewise.
25398         * m4/cbrtf.m4 (gl_FUNC_CBRTF): Likewise.
25399         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Likewise.
25400         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Likewise.
25401         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Likewise.
25402         * m4/cosf.m4 (gl_FUNC_COSF): Likewise.
25403         * m4/coshf.m4 (gl_FUNC_COSHF): Likewise.
25404         * m4/expf.m4 (gl_FUNC_EXPF): Likewise.
25405         * m4/fabsf.m4 (gl_FUNC_FABSF): Likewise.
25406         * m4/fabsl.m4 (gl_FUNC_FABSL): Likewise.
25407         * m4/fmaf.m4 (gl_FUNC_FMAF): Likewise.
25408         * m4/fmal.m4 (gl_FUNC_FMAL): Likewise.
25409         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
25410         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
25411         * m4/frexpf.m4 (gl_FUNC_FREXPF): Likewise.
25412         * m4/frexpl.m4 (gl_FUNC_FREXPL): Likewise.
25413         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
25414         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
25415         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
25416         * m4/ldexpf.m4 (gl_FUNC_LDEXPF): Likewise.
25417         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
25418         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
25419         * m4/log10l.m4 (gl_FUNC_LOF10L): Likewise.
25420         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
25421         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
25422         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
25423         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
25424         * m4/powf.m4 (gl_FUNC_POWF): Likewise.
25425         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
25426         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
25427         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
25428         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
25429         * m4/sinf.m4 (gl_FUNC_SINF): Likewise.
25430         * m4/sinhf.m4 (gl_FUNC_SINHF): Likewise.
25431         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Likewise.
25432         * m4/tanf.m4 (gl_FUNC_TANF): Likewise.
25433         * m4/tanhf.m4 (gl_FUNC_TANHF): Likewise.
25435 2012-03-06  Bruno Haible  <bruno@clisp.org>
25437         math: Update module names in warnings.
25438         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
25439         tanl): Use specific module name in warn-on-use warning.
25441 2012-03-06  Bruno Haible  <bruno@clisp.org>
25443         expl: Simplify computation.
25444         * lib/expl.c (expl): Simplify computation of exp_y. Fix comment.
25446 2012-03-05  Bruno Haible  <bruno@clisp.org>
25448         exp* tests: More tests.
25449         * tests/test-exp.h: New file.
25450         * tests/test-exp.c: Include <float.h> and test-exp.h.
25451         (main): Invoke test_function.
25452         * tests/test-expf.c: Include <float.h> and test-exp.h.
25453         (main): Invoke test_function.
25454         * tests/test-expl.c: Include <float.h> and test-exp.h.
25455         (main): Invoke test_function.
25456         * modules/exp-tests (Files): Add tests/test-exp.h, tests/randomd.c.
25457         (Makefile.am): Add randomd.c to test_exp_SOURCES.
25458         * modules/expf-tests (Files): Add tests/test-exp.h, tests/randomf.c.
25459         (Makefile.am): Add randomf.c to test_expf_SOURCES.
25460         * modules/expl-tests (Files): Add tests/test-exp.h, tests/randoml.c.
25461         (Depends-on): Add 'float'.
25462         (Makefile.am): Add randoml.c to test_expl_SOURCES.
25464         expl: Fix precision of computed result.
25465         * lib/expl.c: Completely rewritten.
25466         * modules/expl (Depends-on): Add isnanl, roundl, ldexpl. Remove floorl.
25467         (Maintainer): Add me.
25468         * m4/expl.m4 (gl_FUNC_EXPL): Update computation of EXPL_LIBM.
25470 2012-03-05  Bruno Haible  <bruno@clisp.org>
25472         cbrt* tests: More tests.
25473         * tests/test-cbrt.h: New file.
25474         * tests/test-cbrt.c: Include <float.h> and test-cbrt.h.
25475         (main): Invoke test_function.
25476         * tests/test-cbrtf.c: Include <float.h> and test-cbrt.h.
25477         (main): Invoke test_function.
25478         * tests/test-cbrtl.c: Include <float.h> and test-cbrt.h.
25479         (main): Invoke test_function.
25480         * modules/cbrt-tests (Files): Add tests/test-cbrt.h, tests/randomd.c.
25481         (Makefile.am): Add randomd.c to test_cbrt_SOURCES.
25482         * modules/cbrtf-tests (Files): Add tests/test-cbrt.h, tests/randomf.c.
25483         (Makefile.am): Add randomf.c to test_cbrtf_SOURCES.
25484         * modules/cbrtl-tests (Files): Add tests/test-cbrt.h, tests/randoml.c.
25485         (Depends-on): Add 'float'.
25486         (Makefile.am): Add randoml.c to test_cbrtl_SOURCES.
25488 2012-03-05  Bruno Haible  <bruno@clisp.org>
25490         hypot* tests: More tests.
25491         * tests/test-hypot.h: New file, partially extracted from
25492         tests/test-hypotl.c.
25493         * tests/test-hypot.c: Include test-hypot.h.
25494         (main): Invoke test_function.
25495         * tests/test-hypotf.c: Include test-hypot.h.
25496         (main): Invoke test_function.
25497         * tests/test-hypotl.c: Include fpucw.h and test-hypot.h.
25498         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING and test_function.
25499         * modules/hypot-tests (Files): Add tests/test-hypot.h, tests/randomd.c.
25500         (Makefile.am): Add randomd.c to test_hypot_SOURCES.
25501         * modules/hypotf-tests (Files): Add tests/test-hypot.h,
25502         tests/randomf.c.
25503         (Makefile.am): Add randomf.c to test_hypotf_SOURCES.
25504         * modules/hypotl-tests (Files): Add tests/test-hypot.h,
25505         tests/randoml.c.
25506         (Depends-on): Add 'fpucw', 'float'.
25507         (Makefile.am): Add randoml.c to test_hypotl_SOURCES.
25509 2012-03-05  Bruno Haible  <bruno@clisp.org>
25511         fpucw: Doc about FreeBSD.
25512         * lib/fpucw.h: Mention FreeBSD in comments.
25514 2012-03-04  Bruno Haible  <bruno@clisp.org>
25516         sqrt* tests: More tests.
25517         * tests/test-sqrt.h: New file.
25518         * tests/test-sqrt.c: Include <float.h> and test-sqrt.h.
25519         (main): Invoke test_function.
25520         * tests/test-sqrtf.c: Include <float.h> and test-sqrt.h.
25521         (main): Invoke test_function.
25522         * tests/test-sqrtl.c: Include <float.h> and test-sqrt.h.
25523         (main): Invoke test_function.
25524         * modules/sqrt-tests (Files): Add tests/test-sqrt.h, tests/randomd.c.
25525         (Makefile.am): Add randomd.c to test_sqrt_SOURCES.
25526         * modules/sqrtf-tests (Files): Add tests/test-sqrt.h, tests/randomf.c.
25527         (Makefile.am): Add randomf.c to test_sqrtf_SOURCES.
25528         * modules/sqrtl-tests (Files): Add tests/test-sqrt.h, tests/randoml.c.
25529         (Depends-on): Add 'float'.
25530         (Makefile.am): Add randoml.c to test_sqrtl_SOURCES.
25532 2012-03-04  Bruno Haible  <bruno@clisp.org>
25534         remainder* tests: More tests.
25535         * tests/test-remainder.h: New file, based on tests/test-fmod.h.
25536         * tests/test-remainder.c: Include <float.h> and test-remainder.h.
25537         (main): Invoke test_function.
25538         * tests/test-remainderf.c: Include <float.h> and test-remainder.h.
25539         (main): Invoke test_function.
25540         * tests/test-remainderl.c: Include <float.h> and test-remainder.h.
25541         (main): Invoke test_function.
25542         * modules/remainder-tests (Files): Add tests/test-remainder.h,
25543         tests/randomd.c.
25544         (Makefile.am): Add randomd.c to test_remainder_SOURCES.
25545         * modules/remainderf-tests (Files): Add tests/test-remainder.h,
25546         tests/randomf.c.
25547         (Makefile.am): Add randomf.c to test_remainderf_SOURCES.
25548         * modules/remainderl-tests (Files): Add tests/test-remainder.h,
25549         tests/randoml.c.
25550         (Depends-on): Add 'float'.
25551         (Makefile.am): Add randoml.c to test_remainderl_SOURCES.
25553 2012-03-04  Bruno Haible  <bruno@clisp.org>
25555         remainder, remainderf, remainderl: Fix computation for large quotients.
25556         * lib/remainder.c: Completely rewritten.
25557         * lib/remainderf.c (remainderf): Use implementation of remainder.c with
25558         USE_FLOAT.
25559         * lib/remainderl.c (remainderl): Use implementation of remainder.c with
25560         USE_LONG_DOUBLE.
25561         * modules/remainder (Depends-on): Add isfinite, signbit, fabs, fmod,
25562         isnand, isinf. Remove round, fma.
25563         * modules/remainderf (Files): Add lib/remainder.c.
25564         (Depends-on): Add isfinite, signbit, fabsf, fmodf, isnanf, isinf.
25565         Remove roundf, fmaf.
25566         * modules/remainderl (Files): Add lib/remainder.c.
25567         (Depends-on): Add float, isfinite, signbit, fabsl, fmodl, isnanl,
25568         isinf. Remove roundl, fmal.
25569         * m4/remainder.m4 (gl_FUNC_REMAINDER): Update computation of
25570         REMAINDER_LIBM.
25571         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Update computation of
25572         REMAINDERF_LIBM.
25573         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Update computation of
25574         REMAINDERL_LIBM.
25576 2012-03-04  Bruno Haible  <bruno@clisp.org>
25578         fmod* tests: More tests.
25579         * tests/test-fmod.h (my_ldexp): New function.
25580         (test_function): Reduce amount of random numbers to test. Add tests
25581         of very large quotients x / y.
25582         * tests/test-fmod.c (MAX_EXP): New macro.
25583         * tests/test-fmodf.c (MAX_EXP): Likewise.
25584         * tests/test-fmodl.c (MAX_EXP): Likewise.
25586 2012-03-04  Bruno Haible  <bruno@clisp.org>
25588         fmod, fmodl: Fix computation for large quotients x / y.
25589         * lib/fmod.c: Completely rewritten.
25590         * lib/fmodl.c (fmodl): Use implementation of fmod.c with
25591         USE_LONG_DOUBLE.
25592         * modules/fmod (Depends-on): Add isfinite, signbit, fabs, frexp, ldexp,
25593         isnand. Remove fma.
25594         * modules/fmodl (Files): Add lib/fmod.c.
25595         (Depends-on): Add float, isfinite, signbit, fabsl,
25596         frexpl, ldexpl, isnanl. Remove fma.
25597         * m4/fmod.m4 (gl_FUNC_FMOD): Update computation of FMOD_LIBM.
25598         * m4/fmodl.m4 (gl_FUNC_FMODL): Update computation of FMODL_LIBM.
25600 2012-03-03  Bruno Haible  <bruno@clisp.org>
25602         fmod* tests: More tests.
25603         * tests/test-fmod.h: New file.
25604         * tests/test-fmod.c: Include <float.h> and test-fmod.h.
25605         (main): Invoke test_function.
25606         * tests/test-fmodf.c: Include <float.h> and test-fmod.h.
25607         (main): Invoke test_function.
25608         * tests/test-fmodl.c: Include <float.h> and test-fmod.h.
25609         (main): Invoke test_function.
25610         * modules/fmod-tests (Files): Add tests/test-fmod.h, tests/randomd.c.
25611         (Makefile.am): Add randomd.c to test_fmod_SOURCES.
25612         * modules/fmodf-tests (Files): Add tests/test-fmod.h, tests/randomf.c.
25613         (Makefile.am): Add randomf.c to test_fmodf_SOURCES.
25614         * modules/fmodl-tests (Files): Add tests/test-fmod.h, tests/randoml.c.
25615         (Depends-on): Add 'float'.
25616         (Makefile.am): Add randoml.c to test_fmodl_SOURCES.
25618 2012-03-03  Bruno Haible  <bruno@clisp.org>
25620         rint* tests: More tests.
25621         * tests/test-rint.h: New file, partially extracted from
25622         tests/test-rintl.c.
25623         * tests/test-rint.c: Include test-rint.h.
25624         (main): Invoke test_function.
25625         * tests/test-rintf.c: Include test-rint.h.
25626         (main): Invoke test_function.
25627         * tests/test-rintl.c: Include test-rint.h.
25628         (main): Invoke test_function.
25629         * modules/rint-tests (Files): Add tests/test-rint.h, tests/randomd.c.
25630         (Makefile.am): Add randomd.c to test_rint_SOURCES.
25631         * modules/rintf-tests (Files): Add tests/test-rint.h, tests/randomf.c.
25632         (Makefile.am): Add randomf.c to test_rintf_SOURCES.
25633         * modules/rintl-tests (Files): Add tests/test-rint.h, tests/randoml.c.
25634         (Makefile.am): Add randoml.c to test_rintl_SOURCES.
25636 2012-03-03  Bruno Haible  <bruno@clisp.org>
25638         modf* tests: More tests.
25639         * tests/test-modf.h: New file.
25640         * tests/test-modf.c: Include <float.h> and test-modf.h.
25641         (main): Invoke test_function.
25642         * tests/test-modff.c: Include <float.h> and test-modf.h.
25643         (main): Invoke test_function.
25644         * tests/test-modfl.c: Include <float.h> and test-modf.h.
25645         (main): Invoke test_function.
25646         * modules/modf-tests (Files): Add tests/test-modf.h, tests/randomd.c.
25647         (Makefile.am): Add randomd.c to test_modf_SOURCES.
25648         * modules/modff-tests (Files): Add tests/test-modf.h, tests/randomf.c.
25649         (Makefile.am): Add randomf.c to test_modff_SOURCES.
25650         * modules/modfl-tests (Files): Add tests/test-modf.h, tests/randoml.c.
25651         (Depends-on): Add 'float'.
25652         (Makefile.am): Add randoml.c to test_modfl_SOURCES.
25654 2012-03-03  Bruno Haible  <bruno@clisp.org>
25656         fabs* tests: More tests.
25657         * tests/test-fabs.h: New file, partially extracted from
25658         tests/test-fabsl.c.
25659         * tests/test-fabs.c (RANDOM): New macro.
25660         * tests/test-fabsf.c (RANDOM): New macro.
25661         * tests/test-fabsl.c (RANDOM): New macro.
25662         * modules/fabs-tests (Files): Add tests/randomd.c.
25663         (Makefile.am): Add randomd.c to test_fabs_SOURCES.
25664         * modules/fabsf-tests (Files): Add tests/randomf.c.
25665         (Makefile.am): Add randomf.c to test_fabsf_SOURCES.
25666         * modules/fabsl-tests (Files): Add tests/randoml.c.
25667         (Makefile.am): Add randoml.c to test_fabsl_SOURCES.
25669 2012-03-03  Bruno Haible  <bruno@clisp.org>
25671         ldexp* tests: More tests.
25672         * tests/test-ldexp.h (test_function): Add some pseudo-randomized tests.
25673         * tests/test-ldexp.c (RANDOM): New macro.
25674         * tests/test-ldexpf.c (RANDOM): New macro.
25675         * tests/test-ldexpl.c (RANDOM): New macro.
25676         * modules/ldexp-tests (Files): Add tests/randomd.c.
25677         (Makefile.am): Add randomd.c to test_ldexp_SOURCES.
25678         * modules/ldexpf-tests (Files): Add tests/randomf.c.
25679         (Makefile.am): Add randomf.c to test_ldexpf_SOURCES.
25680         * modules/ldexpl-tests (Files): Add tests/randoml.c.
25681         (Makefile.am): Add randoml.c to test_ldexpl_SOURCES.
25683 2012-03-03  Bruno Haible  <bruno@clisp.org>
25685         frexp* tests: More tests.
25686         * tests/test-frexp.h (test_function): Add some pseudo-randomized tests.
25687         * tests/test-frexp.c (RANDOM): New macro.
25688         * tests/test-frexpf.c (RANDOM): New macro.
25689         * tests/test-frexpl.c (RANDOM): New macro.
25690         * modules/frexp-tests (Files): Add tests/randomd.c.
25691         (Makefile.am): Add randomd.c to test_frexp_SOURCES.
25692         * modules/frexpf-tests (Files): Add tests/randomf.c.
25693         (Makefile.am): Add randomf.c to test_frexpf_SOURCES.
25694         * modules/frexpl-tests (Files): Add tests/randoml.c.
25695         (Makefile.am): Add randoml.c to test_frexpl_SOURCES.
25697 2012-03-03  Bruno Haible  <bruno@clisp.org>
25699         Support for pseudo-random numbers in tests.
25700         * tests/randomf.c: New file.
25701         * tests/randomd.c: New file.
25702         * tests/randoml.c: New file.
25703         * tests/macros.h (randomf, randomd, randoml): New declarations.
25705 2012-03-03  Bruno Haible  <bruno@clisp.org>
25707         frexp* tests: Refactor.
25708         * tests/test-frexp.h: New file, extracted from tests/test-frexpl.c.
25709         * tests/test-frexp.c: Include and use it.
25710         * tests/test-frexpf.c: Likewise.
25711         * tests/test-frexpl.c: Likewise.
25712         * modules/frexp-tests (Files): Add tests/test-frexp.h.
25713         * modules/frexpf-tests (Files): Likewise.
25714         * modules/frexpl-tests (Files): Likewise.
25716 2012-03-02  Jim Meyering  <meyering@redhat.com>
25718         maint: don't specify XZ_OPT=-9ev in dist-related rule
25719         Using xz's -9 option is warranted only if you have a very large
25720         tarball (see xz's documentation for the sizes vs. presets), and
25721         requires 64MiB of memory at decompression time.
25722         * top/maint.mk (alpha beta stable): Don't specify XZ_OPT=-9ev.
25723         Automake's default of just "-e" is fine.  Override on a
25724         per-package basis by setting XZ_OPT e.g., in cfg.mk.
25726 2012-03-01  Eric Blake  <eblake@redhat.com>
25728         maint.mk: allow announcement for non-gnulib project
25729         * maint.mk (announcement): Skip gnulib version if not used.
25731 2012-03-01  Jim Meyering  <meyering@redhat.com>
25733         maint.mk: avoid spurious failure of _sc_search_regexp-using tests
25734         * top/maint.mk: Initialize _sc_search_regexp parameters, so that
25735         envvar settings cannot interfere.  Otherwise, setting envvars like
25736         prohibit=foo require=bar, etc. would cause spurious test failures.
25738 2012-03-01  Eric Blake  <eblake@redhat.com>
25740         maint.mk: add per-line exclusions to prohibitions
25741         * maint.mk (_sc_search_regexp): Add $exclude parameter.
25742         (sc_prohibit_strcmp, sc_unmarked_diagnostics)
25743         (sc_const_long_option): Use it.
25745 2012-03-01  Bruno Haible  <bruno@clisp.org>
25747         Tests for module 'expl-ieee'.
25748         * modules/expl-ieee-tests: New file.
25749         * tests/test-expl-ieee.c: New file.
25751         New module 'expl-ieee'.
25752         * modules/expl-ieee: New file.
25754         Tests for module 'exp-ieee'.
25755         * modules/exp-ieee-tests: New file.
25756         * tests/test-exp-ieee.c: New file.
25758         New module 'exp-ieee'.
25759         * modules/exp-ieee: New file.
25761         Tests for module 'expf-ieee'.
25762         * modules/expf-ieee-tests: New file.
25763         * tests/test-expf-ieee.c: New file.
25764         * tests/test-exp-ieee.h: New file.
25766         New module 'expf-ieee'.
25767         * modules/expf-ieee: New file.
25769 2012-02-29  Bruno Haible  <bruno@clisp.org>
25771         cbrtl-ieee: Work around test failure on IRIX 6.5.
25772         * m4/cbrtl-ieee.m4: New file.
25773         * m4/cbrtl.m4 (gl_FUNC_CBRTL): If gl_FUNC_CBRTL_IEEE is present,
25774         test whether cbrtl works with a minus zero argument. Replace it if not.
25775         * lib/math.in.h (cbrtl): Override if REPLACE_CBRTL is 1.
25776         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTL.
25777         * modules/math (Makefile.am): Substitute REPLACE_CBRTL.
25778         * modules/cbrtl (configure.ac): Consider REPLACE_CBRTL.
25779         (Depends-on): Update conditions.
25780         * modules/cbrtl-ieee (Files): Add m4/cbrtl-ieee.m4, m4/minus-zero.m4,
25781         m4/signbit.m4.
25782         (configure.ac): Invoke gl_FUNC_CBRTL_IEEE.
25783         * lib/cbrtl.c (cbrtl) [IRIX]: Avoid an unnecessary addition.
25784         * doc/posix-functions/cbrtl.texi: Mention the cbrtl-ieee module.
25786         Tests for module 'cbrtl-ieee'.
25787         * modules/cbrtl-ieee-tests: New file.
25788         * tests/test-cbrtl-ieee.c: New file.
25790         New module 'cbrtl-ieee'.
25791         * modules/cbrtl-ieee: New file.
25793         Tests for module 'cbrt-ieee'.
25794         * modules/cbrt-ieee-tests: New file.
25795         * tests/test-cbrt-ieee.c: New file.
25797         New module 'cbrt-ieee'.
25798         * modules/cbrt-ieee: New file.
25800         Tests for module 'cbrtf-ieee'.
25801         * modules/cbrtf-ieee-tests: New file.
25802         * tests/test-cbrtf-ieee.c: New file.
25803         * tests/test-cbrt-ieee.h: New file.
25805         New module 'cbrtf-ieee'.
25806         * modules/cbrtf-ieee: New file.
25808 2012-02-29  Bruno Haible  <bruno@clisp.org>
25810         cbrtf: Work around bug in IRIX 6.5 system function.
25811         * lib/math.in.h (cbrtf): Override if REPLACE_CBRTF is 1.
25812         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): New macro.
25813         (gl_FUNC_CBRTF): Invoke it. Set REPLACE_CBRTF to 1 if cbrtf() does not
25814         work.
25815         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTF.
25816         * modules/math (Makefile.am): Substitute REPLACE_CBRTF.
25817         * modules/cbrtf (configure.ac): Consider REPLACE_CBRTF.
25818         (Depends-on): Update conditions.
25819         * doc/posix-functions/cbrtf.texi: Mention the IRIX 6.5 problem.
25821 2012-02-29  Bruno Haible  <bruno@clisp.org>
25823         Tests for module 'cbrtl'.
25824         * modules/cbrtl-tests: New file.
25825         * tests/test-cbrtl.c: New file.
25827         New module 'cbrtl'.
25828         * lib/math.in.h (cbrtl): New declaration.
25829         * lib/cbrtl.c: New file.
25830         * m4/cbrtl.m4: New file.
25831         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtl is declared.
25832         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTL, HAVE_CBRTL,
25833         HAVE_DECL_CBRTL.
25834         * modules/math (Makefile.am): Substitute GNULIB_CBRTL, HAVE_CBRTL,
25835         HAVE_DECL_CBRTL.
25836         * modules/cbrtl: New file.
25837         * tests/test-math-c++.cc: Check the declaration of cbrtl.
25838         * doc/posix-functions/cbrtl.texi: Mention the new module.
25840 2012-02-29  Bruno Haible  <bruno@clisp.org>
25842         Tests for module 'cbrtf'.
25843         * modules/cbrtf-tests: New file.
25844         * tests/test-cbrtf.c: New file.
25846         New module 'cbrtf'.
25847         * lib/math.in.h (cbrtf): New declaration.
25848         * lib/cbrtf.c: New file.
25849         * m4/cbrtf.m4: New file.
25850         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtf is declared.
25851         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTF, HAVE_CBRTF,
25852         HAVE_DECL_CBRTF.
25853         * modules/math (Makefile.am): Substitute GNULIB_CBRTF, HAVE_CBRTF,
25854         HAVE_DECL_CBRTF.
25855         * modules/cbrtf: New file.
25856         * tests/test-math-c++.cc: Check the declaration of cbrtf.
25857         * doc/posix-functions/cbrtf.texi: Mention the new module.
25859 2012-02-29  Bruno Haible  <bruno@clisp.org>
25861         cbrt: Provide replacement on MSVC and Minix.
25862         * lib/math.in.h (cbrt): New declaration.
25863         * lib/cbrt.c: New file.
25864         * m4/cbrt.m4: New file.
25865         * m4/math_h.m4 (gl_MATH_H): Test whether cbrt is declared.
25866         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRT, HAVE_CBRT.
25867         * modules/math (Makefile.am): Substitute GNULIB_CBRT, HAVE_CBRT.
25868         * modules/cbrt (Files): Add lib/cbrt.c, m4/cbrt.m4.
25869         (Depends-on): Add dependencies.
25870         (configure.ac): Arrange to compile replacement if HAVE_CBRT is 0.
25871         * tests/test-math-c++.cc: Check the declaration of cbrt.
25872         * doc/posix-functions/cbrt.texi: Mention that the module provides a
25873         replacement.
25875 2012-02-29  Bruno Haible  <bruno@clisp.org>
25877         hypotl-ieee: Work around test failure on OSF/1 and native Windows.
25878         * m4/hypotl-ieee.m4: New file.
25879         * m4/hypotl.m4 (gl_FUNC_HYPOTL): If gl_FUNC_HYPOTL_IEEE is present,
25880         test whether hypotl works with mixed NaN and Infinity arguments.
25881         Replace it if not.
25882         * lib/math.in.h (hypotl): Override if REPLACE_HYPOTL is 1.
25883         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_HYPOTL.
25884         * modules/math (Makefile.am): Substitute REPLACE_HYPOTL.
25885         * modules/hypotl (configure.ac): Consider REPLACE_HYPOTL.
25886         (Depends-on): Update conditions.
25887         * modules/hypotl-ieee (Files): Add m4/hypotl-ieee.m4.
25888         (Depends-on): Add hypot-ieee.
25889         (configure.ac): Invoke gl_FUNC_HYPOTL_IEEE.
25890         * doc/posix-functions/hypotl.texi: Mention the hypotl-ieee module.
25892         hypotf-ieee: Work around test failure on OSF/1 and native Windows.
25893         * m4/hypotf-ieee.m4: New file.
25894         * m4/hypotf.m4 (gl_FUNC_HYPOTF): If gl_FUNC_HYPOTF_IEEE is present,
25895         test whether hypotf works with mixed NaN and Infinity arguments.
25896         Replace it if not.
25897         * modules/hypotf-ieee (Files): Add m4/hypotf-ieee.m4.
25898         (Depends-on): Add hypot-ieee.
25899         (configure.ac): Invoke gl_FUNC_HYPOTF_IEEE.
25900         * doc/posix-functions/hypotf.texi: Mention the hypotf-ieee module.
25902         hypot-ieee: Work around test failure on OSF/1 and native Windows.
25903         * lib/math.in.h (hypot): New declaration.
25904         * lib/hypot.c: New file.
25905         * m4/hypot-ieee.m4: New file.
25906         * m4/hypot.m4 (gl_FUNC_HYPOT): If gl_FUNC_HYPOT_IEEE is present, test
25907         whether hypot works with mixed NaN and Infinity arguments. Replace it
25908         if not.
25909         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOT,
25910         REPLACE_HYPOT.
25911         * modules/math (Makefile.am): Substitute GNULIB_HYPOT, REPLACE_HYPOT.
25912         * modules/hypot (Files): Add lib/hypot.c.
25913         (Depends-on): Add dependencies.
25914         (configure.ac): Arrange to compile replacement if REPLACE_HYPOT is 1.
25915         * modules/hypot-ieee (Files): Add m4/hypot-ieee.m4.
25916         (configure.ac): Invoke gl_FUNC_HYPOT_IEEE.
25917         * tests/test-math-c++.cc: Check the declaration of hypot.
25918         * doc/posix-functions/hypot.texi: Mention the hypot-ieee module.
25920         Tests for module 'hypotl-ieee'.
25921         * modules/hypotl-ieee-tests: New file.
25922         * tests/test-hypotl-ieee.c: New file.
25924         New module 'hypotl-ieee'.
25925         * modules/hypotl-ieee: New file.
25927         Tests for module 'hypot-ieee'.
25928         * modules/hypot-ieee-tests: New file.
25929         * tests/test-hypot-ieee.c: New file.
25931         New module 'hypot-ieee'.
25932         * modules/hypot-ieee: New file.
25934         Tests for module 'hypotf-ieee'.
25935         * modules/hypotf-ieee-tests: New file.
25936         * tests/test-hypotf-ieee.c: New file.
25937         * tests/test-hypot-ieee.h: New file.
25939         New module 'hypotf-ieee'.
25940         * modules/hypotf-ieee: New file.
25942 2012-02-29  Bruno Haible  <bruno@clisp.org>
25944         Remove unused variables.
25945         * m4/fmod.m4 (gl_FUNC_FMOD): Remove unused variable 'i'.
25946         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
25947         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
25948         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
25950 2012-02-29  Eric Blake  <eblake@redhat.com>
25952         termios: fix pid_t always, not just for tcgetsid
25953         * doc/posix-headers/termios.texi (termios.h): Mention problem.
25954         * lib/termios.in.h (include): Ensure pid_t on all platforms, not
25955         just when building tcgetsid.
25957 2012-02-29  Bruno Haible  <bruno@clisp.org>
25959         Tests for module 'hypotl'.
25960         * modules/hypotl-tests: New file.
25961         * tests/test-hypotl.c: New file.
25963         New module 'hypotl'.
25964         * lib/math.in.h (hypotl): New declaration.
25965         * lib/hypotl.c: New file.
25966         * m4/hypotl.m4: New file.
25967         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
25968         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTL, HAVE_HYPOTL.
25969         * modules/math (Makefile.am): Substitute GNULIB_HYPOTL, HAVE_HYPOTL.
25970         * modules/hypotl: New file.
25971         * tests/test-math-c++.cc: Check the hypotl declaration.
25972         * doc/posix-functions/hypotl.texi: Mention the new module.
25974 2012-02-29  Eric Blake  <eblake@redhat.com>
25976         tcgetsid: fix cygwin header bug
25977         * lib/termios.in.h (includes) [Cygwin]: Ensure pid_t is defined.
25979         docs: update cygwin progress
25980         * doc/posix-functions/llround.texi (llround): Added in cygwin
25981         1.7.8.
25982         * doc/posix-functions/llroundf.texi (llroundf): Likewise.
25983         * doc/glibc-functions/program_invocation_name.texi
25984         (program_invocation_name): Likewise.
25985         * doc/glibc-functions/program_invocation_short_name.texi
25986         (program_invocation_short_name): Likewise.
25987         * doc/glibc-functions/madvise.texi (madvise): Likewise.
25988         * doc/glibc-functions/pthread_yield.texi (pthread_yield):
25989         Likewise.
25990         * doc/posix-functions/pthread_spin_destroy.texi
25991         (pthread_spin_destroy): Added in cygwin 1.7.10.
25992         * doc/posix-functions/pthread_spin_init.texi (pthread_spin_init):
25993         Likewise.
25994         * doc/posix-functions/pthread_spin_lock.texi (pthread_spin_lock):
25995         Likewise.
25996         * doc/posix-functions/pthread_spin_trylock.texi
25997         (pthread_spin_trylock): Likewise.
25998         * doc/posix-functions/pthread_spin_unlock.texi
25999         (pthread_spin_unlock): Likewise.
26000         * doc/posix-functions/pthread_setschedprio.texi
26001         (pthread_setschedprio): Likewise.
26002         * doc/posix-functions/pthread_attr_getstack.texi
26003         (pthread_attr_getstack): Likewise.
26004         * doc/pastposix-functions/pthread_attr_getstackaddr.texi
26005         (pthread_attr_getstackaddr): Likewise.
26006         * doc/glibc-functions/pthread_getattr_np.texi
26007         (pthread_getattr_np): Likewise.
26008         * doc/glibc-functions/sys_siglist.texi (sys_siglist): Likewise.
26009         * doc/glibc-functions/sysinfo.texi (sysinfo): Likewise.
26010         * doc/posix-functions/clock_settime.texi (clock_settime):
26011         Likewise.
26012         * doc/posix-functions/pthread_attr_getguardsize.texi
26013         (pthread_attr_getguardsize): Likewise.
26014         * doc/posix-functions/pthread_attr_setguardsize.texi
26015         (pthread_attr_setguardsize): Likewise.
26016         * doc/posix-functions/pthread_attr_setstack.texi
26017         (pthread_attr_setstack): Likewise.
26018         * doc/pastposix-functions/pthread_attr_setstackaddr.texi
26019         (pthread_attr_setstackaddr): Likewise.
26020         * doc/posix-functions/clock_getcpuclockid.texi
26021         (clock_getcpuclockid): Likewise.
26022         * doc/posix-functions/pthread_getcpuclockid.texi
26023         (pthread_getcpuclockid): Likewise.
26024         * doc/glibc-functions/error.texi (error): Likewise.
26025         * doc/glibc-functions/error_at_line.texi (error_at_line):
26026         Likewise.
26027         * doc/glibc-functions/error_message_count.texi
26028         (error_message_count): Likewise.
26029         * doc/glibc-functions/error_one_per_line.texi
26030         (error_one_per_line): Likewise.
26031         * doc/glibc-functions/error_print_progname.texi
26032         (error_print_progname): Likewise.
26033         * doc/posix-functions/pthread_condattr_getclock.texi
26034         (pthread_condattr_getclock): Likewise.
26035         * doc/posix-functions/pthread_condattr_setclock.texi
26036         (pthread_condattr_setclock): Likewise.
26037         * doc/posix-functions/clock_nanosleep.texi (clock_nanosleep):
26038         Likewise.
26039         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Likewise.
26040         * doc/glibc-functions/getpt.texi (getpt): Likewise.
26041         * doc/glibc-functions/get_current_dir_name.texi
26042         (get_current_dir_name): Likewise.
26043         * doc/glibc-functions/pthread_sigqueue.texi (pthread_sigqueue):
26044         Likewise.
26045         * doc/posix-functions/tcgetsid.texi (tcgetsid): Likewise, but with
26046         wrong return type.
26047         * doc/glibc-functions/scandirat.texi (scandirat): Added in cygwin
26048         1.7.11.
26050 2012-02-29  Bruno Haible  <bruno@clisp.org>
26052         Tests for module 'hypotf'.
26053         * modules/hypotf-tests: New file.
26054         * tests/test-hypotf.c: New file.
26056         New module 'hypotf'.
26057         * lib/math.in.h (hypotf): New declaration.
26058         * lib/hypotf.c: New file.
26059         * m4/hypotf.m4: New file.
26060         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
26061         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTF, HAVE_HYPOTF,
26062         REPLACE_HYPOTF.
26063         * modules/math (Makefile.am): Substitute GNULIB_HYPOTF, HAVE_HYPOTF,
26064         REPLACE_HYPOTF.
26065         * modules/hypotf: New file.
26066         * tests/test-math-c++.cc: Check the hypotf declaration.
26067         * doc/posix-functions/hypotf.texi: Mention the new module.
26069         hypot: Prepare for hypotf module.
26070         * m4/hypot.m4: New file.
26071         * modules/hypot (Files): Add m4/hypot.m4.
26072         (configure.ac): Invoke gl_FUNC_HYPOT.
26074 2012-02-29  Bruno Haible  <bruno@clisp.org>
26076         hypot tests: More tests.
26077         * tests/test-hypot.c: Include <float.h>.
26078         (main): Add tests about overflow and underflow.
26080 2012-02-29  Bruno Haible  <bruno@clisp.org>
26082         math code: Add comments.
26083         * lib/acosl.c: Add comment about related glibc source files.
26084         * lib/asinl.c: Likewise.
26085         * lib/atanl.c: Likewise.
26086         * lib/expl.c: Likewise.
26087         * lib/logl.c: Likewise.
26088         * lib/sincosl.c: Likewise.
26089         * lib/sinl.c: Likewise.
26090         * lib/tanl.c: Likewise.
26091         * lib/trigl.c: Likewise.
26092         * lib/cosl.c: Likewise. Fix comments.
26094 2012-02-28  Bruno Haible  <bruno@clisp.org>
26096         math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
26097         * lib/math.in.h (HUGE_VAL, HUGE_VALF, HUGE_VALL): Define fallbacks.
26098         * tests/test-math.c: Include macros.h. Check that HUGE_VAL, HUGE_VALF,
26099         HUGE_VALL are defined.
26100         (numeric_equald): Renamed from numeric_equal.
26101         (numeric_equalf, numeric_equall): New functions.
26102         (main): Check also HUGE_VALF, HUGE_VALL.
26103         * modules/math-tests (Files): Add tests/macros.h.
26104         * doc/posix-headers/math.texi: Document the problems with HUGE_VALF and
26105         HUGE_VALL.
26107 2012-02-28  Bruno Haible  <bruno@clisp.org>
26109         doc: Move ISO C11 feature notes into POSIX chapters.
26110         * doc/posix-functions/aligned_alloc.texi: Renamed from
26111         doc/glibc-functions/aligned_alloc.texi.
26112         * doc/posix-functions/quick_exit.texi: Renamed from
26113         doc/glibc-functions/quick_exit.texi.
26114         * doc/posix-headers/uchar.texi: Renamed from
26115         doc/glibc-headers/uchar.texi.
26116         * doc/posix-functions/c16rtomb.texi: Renamed from
26117         doc/glibc-functions/c16rtomb.texi.
26118         * doc/posix-functions/c32rtomb.texi: Renamed from
26119         doc/glibc-functions/c32rtomb.texi.
26120         * doc/posix-functions/mbrtoc16.texi: Renamed from
26121         doc/glibc-functions/mbrtoc16.texi.
26122         * doc/posix-functions/mbrtoc32.texi: Renamed from
26123         doc/glibc-functions/mbrtoc32.texi.
26124         * doc/gnulib.texi: Update.
26125         (Glibc uchar.h): Remove section.
26126         Suggested by Eric Blake.
26128 2012-02-29  Paul Eggert  <eggert@cs.ucla.edu>
26130         stdnoreturn: port to MSVC better
26131         MSVC standard headers use __declspec(noreturn), so #define noreturn
26132         to empty on that platform.  Reported by Bruno Haible in
26133         <http://lists.gnu.org/r/bug-gnulib/2012-02/msg00152.html>.
26134         * lib/stdnoreturn.in.h (noreturn): Define to empty on MSVC.
26135         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h): Document this.
26137 2012-02-28  Bruno Haible  <bruno@clisp.org>
26139         doc: Mention new glibc headers and functions.
26140         * doc/glibc-headers/uchar.texi: New file.
26141         * doc/glibc-functions/aligned_alloc.texi: New file.
26142         * doc/glibc-functions/c16rtomb.texi: New file.
26143         * doc/glibc-functions/c32rtomb.texi: New file.
26144         * doc/glibc-functions/clock_adjtime.texi: New file.
26145         * doc/glibc-functions/fanotify_init.texi: New file.
26146         * doc/glibc-functions/fanotify_mark.texi: New file.
26147         * doc/glibc-functions/inet6_opt_append.texi: New file.
26148         * doc/glibc-functions/inet6_opt_find.texi: New file.
26149         * doc/glibc-functions/inet6_opt_finish.texi: New file.
26150         * doc/glibc-functions/inet6_opt_get_val.texi: New file.
26151         * doc/glibc-functions/inet6_opt_init.texi: New file.
26152         * doc/glibc-functions/inet6_opt_next.texi: New file.
26153         * doc/glibc-functions/inet6_opt_set_val.texi: New file.
26154         * doc/glibc-functions/inet6_rth_add.texi: New file.
26155         * doc/glibc-functions/inet6_rth_getaddr.texi: New file.
26156         * doc/glibc-functions/inet6_rth_init.texi: New file.
26157         * doc/glibc-functions/inet6_rth_reverse.texi: New file.
26158         * doc/glibc-functions/inet6_rth_segments.texi: New file.
26159         * doc/glibc-functions/inet6_rth_space.texi: New file.
26160         * doc/glibc-functions/login.texi: New file.
26161         * doc/glibc-functions/mbrtoc16.texi: New file.
26162         * doc/glibc-functions/mbrtoc32.texi: New file.
26163         * doc/glibc-functions/name_to_handle_at.texi: New file.
26164         * doc/glibc-functions/ntp_gettimex.texi: New file.
26165         * doc/glibc-functions/open_by_handle_at.texi: New file.
26166         * doc/glibc-functions/prlimit.texi: New file.
26167         * doc/glibc-functions/process_vm_readv.texi: New file.
26168         * doc/glibc-functions/process_vm_writev.texi: New file.
26169         * doc/glibc-functions/recvmmsg.texi: New file.
26170         * doc/glibc-functions/scandirat.texi: New file.
26171         * doc/glibc-functions/sendmmsg.texi: New file.
26172         * doc/glibc-functions/setns.texi: New file.
26173         * doc/glibc-functions/timespec_get.texi: New file.
26174         * doc/gnulib.texi: Include them.
26175         (Glibc sys/fanotify.h, Glibc sys/resource.h, Glibc uchar.h): New
26176         sections.
26177         Reported by Eric Blake.
26179 2012-02-28  Bruno Haible  <bruno@clisp.org>
26181         Avoid compilation errors with MSVC option -fp:strict.
26182         * lib/floor.c: Use MSVC specific pragma fenv_access.
26183         * lib/ceil.c: Likewise.
26184         * lib/trunc.c: Likewise.
26185         * lib/round.c: Likewise.
26186         * lib/rint.c: Likewise.
26187         * lib/fma.c: Likewise.
26188         * lib/integer_length.c: Likewise.
26189         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
26190         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
26191         * tests/test-floor2.c: Likewise.
26192         * tests/test-floorf2.c: Likewise.
26193         * tests/test-ceil2.c: Likewise.
26194         * tests/test-ceilf2.c: Likewise.
26195         * tests/test-trunc2.c: Likewise.
26196         * tests/test-truncf2.c: Likewise.
26197         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
26199 2012-02-27  Bruno Haible  <bruno@clisp.org>
26201         Tests for module 'sqrtl-ieee'.
26202         * modules/sqrtl-ieee-tests: New file.
26203         * tests/test-sqrtl-ieee.c: New file.
26205         New module 'sqrtl-ieee'.
26206         * modules/sqrtl-ieee: New file.
26208         Tests for module 'sqrt-ieee'.
26209         * modules/sqrt-ieee-tests: New file.
26210         * tests/test-sqrt-ieee.c: New file.
26212         New module 'sqrt-ieee'.
26213         * modules/sqrt-ieee: New file.
26215         Tests for module 'sqrtf-ieee'.
26216         * modules/sqrtf-ieee-tests: New file.
26217         * tests/test-sqrtf-ieee.c: New file.
26218         * tests/test-sqrt-ieee.h: New file.
26220         New module 'sqrtf-ieee'.
26221         * modules/sqrtf-ieee: New file.
26223 2012-02-27  Bruno Haible  <bruno@clisp.org>
26225         remainderl-ieee: Work around test failure on OSF/1.
26226         * m4/remainderl-ieee.m4: New file.
26227         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): If gl_FUNC_REMAINDERL_IEEE is
26228         present, test whether remainderl works with a zero second argument.
26229         Replace it if not.
26230         * lib/math.in.h (remainderl): Override if REPLACE_REMAINDERL is 1.
26231         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERL.
26232         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERL.
26233         * modules/remainderl (configure.ac): Consider REPLACE_REMAINDERL.
26234         (Depends-on): Update conditions.
26235         * modules/remainderl-ieee (Files): Add m4/remainderl-ieee.m4.
26236         (Depends-on): Add remainder-ieee.
26237         (configure.ac): Invoke gl_FUNC_REMAINDERL_IEEE.
26238         * doc/posix-functions/remainderl.texi: Mention the remainderl-ieee
26239         module.
26241         remainderf-ieee: Work around test failure on OSF/1.
26242         * m4/remainderf-ieee.m4: New file.
26243         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): If gl_FUNC_REMAINDERF_IEEE is
26244         present, test whether remainderf works with a zero second argument.
26245         Replace it if not.
26246         * lib/math.in.h (remainderf): Override if REPLACE_REMAINDERF is 1.
26247         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERF.
26248         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERF.
26249         * modules/remainderf (configure.ac): Consider REPLACE_REMAINDERF.
26250         (Depends-on): Update conditions.
26251         * modules/remainderf-ieee (Files): Add m4/remainderf-ieee.m4.
26252         (Depends-on): Add remainder-ieee.
26253         (configure.ac): Invoke gl_FUNC_REMAINDERF_IEEE.
26254         * doc/posix-functions/remainderf.texi: Mention the remainderf-ieee
26255         module.
26257         remainder-ieee: Work around test failure on OSF/1.
26258         * m4/remainder-ieee.m4: New file.
26259         * m4/remainder.m4 (gl_FUNC_REMAINDER): If gl_FUNC_REMAINDER_IEEE is
26260         present, test whether remainder works with a zero second argument.
26261         Replace it if not.
26262         * lib/math.in.h (remainder): Override if REPLACE_REMAINDER is 1.
26263         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDER.
26264         * modules/math (Makefile.am): Substitute REPLACE_REMAINDER.
26265         * modules/remainder (configure.ac): Consider REPLACE_REMAINDER.
26266         (Depends-on): Update dependencies.
26267         * modules/remainder-ieee (Files): Add m4/remainder-ieee.m4.
26268         (configure.ac): Invoke gl_FUNC_REMAINDER_IEEE.
26269         * doc/posix-functions/remainder.texi: Mention the remainder-ieee module.
26271         Tests for module 'remainderl-ieee'.
26272         * modules/remainderl-ieee-tests: New file.
26273         * tests/test-remainderl-ieee.c: New file.
26275         New module 'remainderl-ieee'.
26276         * modules/remainderl-ieee: New file.
26278         Tests for module 'remainder-ieee'.
26279         * modules/remainder-ieee-tests: New file.
26280         * tests/test-remainder-ieee.c: New file.
26282         New module 'remainder-ieee'.
26283         * modules/remainder-ieee: New file.
26285         Tests for module 'remainderf-ieee'.
26286         * modules/remainderf-ieee-tests: New file.
26287         * tests/test-remainderf-ieee.c: New file.
26288         * tests/test-remainder-ieee.h: New file.
26290         New module 'remainderf-ieee'.
26291         * modules/remainderf-ieee: New file.
26293 2012-02-27  Bruno Haible  <bruno@clisp.org>
26295         modff, modfl: Fix configure syntax error.
26296         * m4/modff.m4 (gl_FUNC_MODFF): Insert ':' command in 'if'.
26297         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
26299 2012-02-27  Bruno Haible  <bruno@clisp.org>
26301         fmodl-ieee: Work around test failures on OSF/1, MSVC 9.
26302         * m4/fmodl-ieee.m4: New file.
26303         * m4/fmodl.m4 (gl_FUNC_FMODL): If gl_FUNC_FMODL_IEEE is present, test
26304         whether fmodl works with zero arguments. Replace it if not.
26305         * modules/fmodl-ieee (Files): Add m4/fmodl-ieee.m4.
26306         (Depends-on): Add fmod-ieee.
26307         (configure.ac): Invoke gl_FUNC_FMODL_IEEE.
26308         * doc/posix-functions/fmodl.texi: Mention the fmodl-ieee module.
26310         fmodf-ieee: Work around test failure on OSF/1.
26311         * m4/fmodf-ieee.m4: New file.
26312         * m4/fmodf.m4 (gl_FUNC_FMODF): If gl_FUNC_FMODF_IEEE is present, test
26313         whether fmodf works with zero arguments. Replace it if not.
26314         * lib/math.in.h (fmodf): Override if REPLACE_FMODF is 1.
26315         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FMODF.
26316         * modules/math (Makefile.am): Substitute REPLACE_FMODF.
26317         * modules/fmodf (configure.ac): Consider REPLACE_FMODF.
26318         (Depends-on): Update dependencies.
26319         * modules/fmodf-ieee (Files): Add m4/fmodf-ieee.m4.
26320         (configure.ac): Invoke gl_FUNC_FMODF_IEEE.
26321         * doc/posix-functions/fmodf.texi: Mention the problem on OSF/1.
26323         fmodf-ieee: Work around test failure on MSVC 9.
26324         * modules/fmodf-ieee (Depends-on): Add fmod-ieee.
26325         * doc/posix-functions/fmodf.texi: Mention the fmodf-ieee module.
26327         fmod-ieee: Work around test failures on OSF/1, mingw.
26328         * m4/fmod-ieee.m4: New file.
26329         * m4/fmod.m4 (gl_FUNC_FMOD): If gl_FUNC_FMOD_IEEE is present, test
26330         whether fmod works with zero arguments. Replace it if not.
26331         * lib/math.in.h (fmod): New declaration.
26332         * lib/fmod.c: New file.
26333         * m4/math_h.m4 (gl_MATH_H): Test whether fmod is declared.
26334         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMOD, REPLACE_FMOD.
26335         * modules/math (Makefile.am): Substitute GNULIB_FMOD, REPLACE_FMOD.
26336         * modules/fmod (Files): Add lib/fmod.c.
26337         (Depends-on): Add math, isinf, trunc, fma.
26338         (configure.ac): Arrange to compile lib/fmod.c if needed.
26339         * modules/fmod-ieee (Files): Add m4/fmod-ieee.m4, m4/minus-zero.m4,
26340         m4/signbit.m4.
26341         (configure.ac): Invoke gl_FUNC_FMOD_IEEE.
26342         * tests/test-math-c++.cc: Check the declaration of fmod.
26343         * doc/posix-functions/fmod.texi: Mention the fmod-ieee module.
26345         fmodl-ieee: Fix test failures.
26346         * lib/fmodl.c (fmodl): Treat Inf specially.
26347         * modules/fmodl (Depends-on): Add isinf.
26349         Tests for module 'fmodl-ieee'.
26350         * modules/fmodl-ieee-tests: New file.
26351         * tests/test-fmodl-ieee.c: New file.
26353         New module 'fmodl-ieee'.
26354         * modules/fmodl-ieee: New file.
26356         Tests for module 'fmod-ieee'.
26357         * modules/fmod-ieee-tests: New file.
26358         * tests/test-fmod-ieee.c: New file.
26360         New module 'fmod-ieee'.
26361         * modules/fmod-ieee: New file.
26363         Tests for module 'fmodf-ieee'.
26364         * modules/fmodf-ieee-tests: New file.
26365         * tests/test-fmodf-ieee.c: New file.
26366         * tests/test-fmod-ieee.h: New file.
26368         New module 'fmodf-ieee'.
26369         * modules/fmodf-ieee: New file.
26371 2012-02-27  Bruno Haible  <bruno@clisp.org>
26373         Tests for module 'rintl-ieee'.
26374         * modules/rintl-ieee-tests: New file.
26375         * tests/test-rintl-ieee.c: New file.
26377         New module 'rintl-ieee'.
26378         * modules/rintl-ieee: New file.
26380         Tests for module 'rint-ieee'.
26381         * modules/rint-ieee-tests: New file.
26382         * tests/test-rint-ieee.c: New file.
26384         New module 'rint-ieee'.
26385         * modules/rint-ieee: New file.
26387         Tests for module 'rintf-ieee'.
26388         * modules/rintf-ieee-tests: New file.
26389         * tests/test-rintf-ieee.c: New file.
26390         * tests/test-rint-ieee.h: New file.
26392         New module 'rintf-ieee'.
26393         * modules/rintf-ieee: New file.
26395 2012-02-26  Paul Eggert  <eggert@cs.ucla.edu>
26397         regex: re_search etc. should return -2 when memory exhausted
26398         This bug was uncovered when testing 'grep'.  Without the fix,
26399         re_search and friends return -1 when memory is exhausted, but -1
26400         means no match, and this causes grep to falsely report no-match
26401         instead of memory-exhaustion.  See
26402         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=13762>.
26403         * lib/regexec.c (re_search_stub): Return -2 (not -1) if there is
26404         trouble; this can occur if re_search_internal ran out of memory.
26406 2012-02-26  Bruno Haible  <bruno@clisp.org>
26408         modfl-ieee: Work around test failures on IRIX, OSF/1, mingw.
26409         * m4/modfl-ieee.m4: New file.
26410         * m4/modfl.m4 (gl_FUNC_MODFL): If gl_FUNC_MODFL_IEEE is present, test
26411         whether modfl works with Inf. Replace it if not.
26412         * lib/math.in.h (modfl): Override if REPLACE_MODFF is 1.
26413         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFL.
26414         * modules/math (Makefile.am): Substitute REPLACE_MODFL.
26415         * modules/modfl (configure.ac): Consider REPLACE_MODFL.
26416         (Depends-on): Update dependencies.
26417         * modules/modfl-ieee (Files): Add m4/modfl-ieee.m4, m4/minus-zero.m4,
26418         m4/signbit.m4.
26419         (configure.ac): Invoke gl_FUNC_MODFL_IEEE.
26420         * doc/posix-functions/modfl.texi: Mention the modfl-ieee module.
26422         modfl-ieee: Fix dependencies.
26423         * modules/modfl-ieee (Depends-on): Add modf-ieee.
26425         modfl-ieee: Fix test failures.
26426         * lib/modfl.c (modfl): Treat NaN and Inf specially.
26427         * modules/modfl (Depends-on): Add isfinite, isinf.
26429         modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc.
26430         * m4/modff-ieee.m4: New file.
26431         * m4/modff.m4 (gl_FUNC_MODFF): If gl_FUNC_MODFF_IEEE is present, test
26432         whether modff works with NaN and Inf. Replace it if not.
26433         * lib/math.in.h (modff): Override if REPLACE_MODFF is 1.
26434         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFF.
26435         * modules/math (Makefile.am): Substitute REPLACE_MODFF.
26436         * modules/modff (configure.ac): Consider REPLACE_MODFF.
26437         (Depends-on): Update dependencies.
26438         * modules/modff-ieee (Files): Add m4/modff-ieee.m4, m4/minus-zero.m4,
26439         m4/signbit.m4.
26440         (Depends-on): Add modf-ieee.
26441         (configure.ac): Invoke gl_FUNC_MODFF_IEEE.
26442         * doc/posix-functions/modff.texi: Mention the modff-ieee module.
26444         modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
26445         * m4/modf-ieee.m4: New file.
26446         * m4/modf.m4 (gl_FUNC_MODF): If gl_FUNC_MODF_IEEE is present, test
26447         whether modf works with NaN and Inf. Replace it if not.
26448         * lib/math.in.h (modf): New declaration.
26449         * lib/modf.c: New file.
26450         * m4/math_h.m4 (gl_MATH_H): Test whether modf is declared.
26451         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODF, REPLACE_MODF.
26452         * modules/math (Makefile.am): Substitute GNULIB_MODF, REPLACE_MODF.
26453         * modules/modf (Files): Add lib/modf.c.
26454         (Depends-on): Add math, isfinite, trunc, isinf.
26455         (configure.ac): Addrange to compile lib/modf.c if needed.
26456         * modules/modf-ieee (Files): Add m4/modf-ieee.m4, m4/minus-zero.m4,
26457         m4/signbit.m4.
26458         (configure.ac): Invoke gl_FUNC_MODF_IEEE.
26459         * tests/test-math-c++.cc: Check the declaration of modf.
26460         * doc/posix-functions/modf.texi: Mention the modf-ieee module.
26462         Tests for module 'modfl-ieee'.
26463         * modules/modfl-ieee-tests: New file.
26464         * tests/test-modfl-ieee.c: New file.
26466         New module 'modfl-ieee'.
26467         * modules/modfl-ieee: New file.
26469         Tests for module 'modf-ieee'.
26470         * modules/modf-ieee-tests: New file.
26471         * tests/test-modf-ieee.c: New file.
26473         New module 'modf-ieee'.
26474         * modules/modf-ieee: New file.
26476         Tests for module 'modff-ieee'.
26477         * modules/modff-ieee-tests: New file.
26478         * tests/test-modff-ieee.c: New file.
26479         * tests/test-modf-ieee.h: New file.
26481         New module 'modff-ieee'.
26482         * modules/modff-ieee: New file.
26484 2012-02-26  Bruno Haible  <bruno@clisp.org>
26486         Tests for module 'fabsl-ieee'.
26487         * modules/fabsl-ieee-tests: New file.
26488         * tests/test-fabsl-ieee.c: New file.
26490         New module 'fabsl-ieee'.
26491         * modules/fabsl-ieee: New file.
26493         Tests for module 'fabs-ieee'.
26494         * modules/fabs-ieee-tests: New file.
26495         * tests/test-fabs-ieee.c: New file.
26497         New module 'fabs-ieee'.
26498         * modules/fabs-ieee: New file.
26500         Tests for module 'fabsf-ieee'.
26501         * modules/fabsf-ieee-tests: New file.
26502         * tests/test-fabsf-ieee.c: New file.
26503         * tests/test-fabs-ieee.h: New file.
26505         New module 'fabsf-ieee'.
26506         * modules/fabsf-ieee: New file.
26508 2012-02-26  Bruno Haible  <bruno@clisp.org>
26510         Tests for module 'fmal-ieee'.
26511         * modules/fmal-ieee-tests: New file.
26512         * tests/test-fmal-ieee.c: New file.
26514         New module 'fmal-ieee'.
26515         * modules/fmal-ieee: New file.
26517         Tests for module 'fma-ieee'.
26518         * modules/fma-ieee-tests: New file.
26519         * tests/test-fma-ieee.c: New file.
26521         New module 'fma-ieee'.
26522         * modules/fma-ieee: New file.
26524         Tests for module 'fmaf-ieee'.
26525         * modules/fmaf-ieee-tests: New file.
26526         * tests/test-fmaf-ieee.c: New file.
26527         * tests/test-fma-ieee.h: New file.
26529         New module 'fmaf-ieee'.
26530         * modules/fmaf-ieee: New file.
26532 2012-02-26  Bruno Haible  <bruno@clisp.org>
26534         Tests for module 'ldexpl-ieee'.
26535         * modules/ldexpl-ieee-tests: New file.
26536         * tests/test-ldexpl-ieee.c: New file.
26538         New module 'ldexpl-ieee'.
26539         * modules/ldexpl-ieee: New file.
26541         Tests for module 'ldexp-ieee'.
26542         * modules/ldexp-ieee-tests: New file.
26543         * tests/test-ldexp-ieee.c: New file.
26545         New module 'ldexp-ieee'.
26546         * modules/ldexp-ieee: New file.
26548         Tests for module 'ldexpf-ieee'.
26549         * modules/ldexpf-ieee-tests: New file.
26550         * tests/test-ldexpf-ieee.c: New file.
26551         * tests/test-ldexp-ieee.h: New file.
26553         New module 'ldexpf-ieee'.
26554         * modules/ldexpf-ieee: New file.
26556 2012-02-26  Bruno Haible  <bruno@clisp.org>
26558         Refactor frexp*-ieee tests.
26559         * tests/test-frexp-ieee.h: New file.
26560         * tests/test-frexpf-ieee.c: Include test-frexp-ieee.h.
26561         (main): Just call test_function.
26562         * tests/test-frexp-ieee.c: Include test-frexp-ieee.h.
26563         (main): Just call test_function.
26564         * tests/test-frexpl-ieee.c: Include test-frexp-ieee.h.
26565         (main): Just call test_function.
26566         * modules/frexpf-ieee-tests (Files): Add tests/test-frexp-ieee.h.
26567         * modules/frexp-ieee-tests (Files): Likewise.
26568         * modules/frexpl-ieee-tests (Files): Likewise.
26570         Tests for module 'frexpl-ieee'.
26571         * modules/frexpl-ieee-tests: New file.
26572         * tests/test-frexpl-ieee.c: New file.
26574         New module 'frexpl-ieee'.
26575         * modules/frexpl-ieee: New file.
26577         Tests for module 'frexp-ieee'.
26578         * modules/frexp-ieee-tests: New file.
26579         * tests/test-frexp-ieee.c: New file.
26581         New module 'frexp-ieee'.
26582         * modules/frexp-ieee: New file.
26584         Tests for module 'frexpf-ieee'.
26585         * modules/frexpf-ieee-tests: New file.
26586         * tests/test-frexpf-ieee.c: New file.
26588         New module 'frexpf-ieee'.
26589         * modules/frexpf-ieee: New file.
26591 2012-02-26  Bruno Haible  <bruno@clisp.org>
26593         roundl-ieee tests: More tests.
26594         * tests/test-roundl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
26595         (main): Add tests for [MX] shaded specification in POSIX.
26596         * modules/roundl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
26597         (Depends-on): Add isnanl-nolibm.
26599         round-ieee tests: More tests.
26600         * tests/test-round-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
26601         (main): Add tests for [MX] shaded specification in POSIX.
26602         * modules/round-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
26603         (Depends-on): Add isnand-nolibm.
26605         roundf-ieee tests: More tests.
26606         * tests/test-roundf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
26607         (main): Add tests for [MX] shaded specification in POSIX.
26608         * modules/roundf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
26609         (Depends-on): Add isnanf-nolibm.
26611         truncl-ieee tests: More tests.
26612         * tests/test-truncl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
26613         (main): Add tests for [MX] shaded specification in POSIX.
26614         * modules/truncl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
26615         (Depends-on): Add isnanl-nolibm.
26617         trunc-ieee tests: More tests.
26618         * tests/test-trunc-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
26619         (main): Add tests for [MX] shaded specification in POSIX.
26620         * modules/trunc-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
26621         (Depends-on): Add isnand-nolibm.
26623         truncf-ieee tests: More tests.
26624         * tests/test-truncf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
26625         (main): Add tests for [MX] shaded specification in POSIX.
26626         * modules/truncf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
26627         (Depends-on): Add isnanf-nolibm.
26629         ceill-ieee tests: More tests.
26630         * tests/test-ceill-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
26631         (main): Add tests for [MX] shaded specification in POSIX.
26632         * modules/ceill-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
26633         (Depends-on): Add isnanl-nolibm.
26635         ceil-ieee tests: More tests.
26636         * tests/test-ceil-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
26637         (main): Add tests for [MX] shaded specification in POSIX.
26638         * modules/ceil-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
26639         (Depends-on): Add isnand-nolibm.
26641         ceilf-ieee tests: More tests.
26642         * tests/test-ceilf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
26643         (main): Add tests for [MX] shaded specification in POSIX.
26644         * modules/ceilf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
26645         (Depends-on): Add isnanf-nolibm.
26647         floorl-ieee tests: More tests.
26648         * tests/test-floorl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
26649         (main): Add tests for [MX] shaded specification in POSIX.
26650         * modules/floorl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
26651         (Depends-on): Add isnanl-nolibm.
26653         floor-ieee tests: More tests.
26654         * tests/test-floor-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
26655         (main): Add tests for [MX] shaded specification in POSIX.
26656         * modules/floor-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
26657         (Depends-on): Add isnand-nolibm.
26659         floorf-ieee tests: More tests.
26660         * tests/test-floorf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
26661         (main): Add tests for [MX] shaded specification in POSIX.
26662         * modules/floorf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
26663         (Depends-on): Add isnanf-nolibm.
26665 2012-02-26  Bruno Haible  <bruno@clisp.org>
26667         fpieee: More comments.
26668         * m4/fpieee.m4 (gl_FP_IEEE): Add more comments.
26670 2012-02-25  Bruno Haible  <bruno@clisp.org>
26672         Tests for module 'log10l'.
26673         * modules/log10l-tests: New file.
26674         * tests/test-log10l.c: New file.
26675         * tests/test-math-c++.cc: Check the declaration of log10l.
26677         New module 'log10l'.
26678         * lib/math.in.h (log10l): New declaration.
26679         * lib/log10l.c: New file.
26680         * m4/log10l.m4: New file.
26681         * modules/log10l: New file.
26682         * m4/math_h.m4 (gl_MATH_H): Test whether log10l is declared.
26683         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10L, HAVE_LOG10L,
26684         HAVE_DECL_LOG10L.
26685         * modules/math (Makefile.am): Substitute GNULIB_LOG10L, HAVE_LOG10L,
26686         HAVE_DECL_LOG10L.
26687         * doc/posix-functions/log10l.texi: Mention the new module.
26689 2012-02-25  Bruno Haible  <bruno@clisp.org>
26691         fmodl, remainder*: Avoid wrong results due to rounding errors.
26692         * lib/fmodl.c (fmodl): Correct the result if it is not within the
26693         expected bounds.
26694         * lib/remainderf.c (remainderf): Likewise.
26695         * lib/remainder.c (remainder): Likewise.
26696         * lib/remainderl.c (remainderl): Likewise.
26698 2012-02-25  Bruno Haible  <bruno@clisp.org>
26700         Tests for module 'remainderl'.
26701         * modules/remainderl-tests: New file.
26702         * tests/test-remainderl.c: New file.
26703         * tests/test-math-c++.cc: Check the declaration of remainderl.
26705         New module 'remainderl'.
26706         * lib/math.in.h (remainderl): New declaration.
26707         * lib/remainderl.c: New file.
26708         * m4/remainderl.m4: New file.
26709         * modules/remainderl: New file.
26710         * m4/math_h.m4 (gl_MATH_H): Test whether remainderl is declared.
26711         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERL, HAVE_REMAINDERL.
26712         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERL,
26713         HAVE_REMAINDERL.
26714         * doc/posix-functions/remainderl.texi: Mention the new module.
26716 2012-02-25  Bruno Haible  <bruno@clisp.org>
26718         Tests for module 'remainderf'.
26719         * modules/remainderf-tests: New file.
26720         * tests/test-remainderf.c: New file.
26721         * tests/test-math-c++.cc: Check the declaration of remainderf.
26723         New module 'remainderf'.
26724         * lib/math.in.h (remainderf): New declaration.
26725         * lib/remainderf.c: New file.
26726         * m4/remainderf.m4: New file.
26727         * modules/remainderf: New file.
26728         * m4/math_h.m4 (gl_MATH_H): Test whether remainderf is declared.
26729         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERF, HAVE_REMAINDERF.
26730         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERF,
26731         HAVE_REMAINDERF.
26732         * doc/posix-functions/remainderf.texi: Mention the new module.
26734 2012-02-25  Bruno Haible  <bruno@clisp.org>
26736         remainder: Support for MSVC.
26737         * lib/math.in.h (remainder): New declaration.
26738         * lib/remainder.c: New file.
26739         * m4/remainder.m4: New file.
26740         * modules/remainder (Files): Add lib/remainder.c, m4/remainder.m4.
26741         (Depends-on): Add math, round, fma.
26742         (configure.ac): Use results of gl_FUNC_REMAINDER.
26743         * m4/math_h.m4 (gl_MATH_H): Test whether remainder is declared.
26744         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDER, HAVE_REMAINDER,
26745         HAVE_DECL_REMAINDER.
26746         * modules/math (Makefile.am): Substitute GNULIB_REMAINDER,
26747         HAVE_REMAINDER, HAVE_DECL_REMAINDER.
26748         * tests/test-math-c++.cc: Check the declaration of remainder.
26749         * doc/posix-functions/remainder.texi: Mention that the MSVC and IRIX 5
26750         problems are fixed.
26752 2012-02-25  Bruno Haible  <bruno@clisp.org>
26754         Tests for module 'fmodl'.
26755         * modules/fmodl-tests: New file.
26756         * tests/test-fmodl.c: New file.
26757         * tests/test-math-c++.cc: Check the declaration of fmodl.
26759         New module 'fmodl'.
26760         * lib/math.in.h (fmodl): New declaration.
26761         * lib/fmodl.c: New file.
26762         * m4/fmodl.m4: New file.
26763         * m4/math_h.m4 (gl_MATH_H): Test whether fmodl is declared.
26764         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODL, HAVE_FMODL,
26765         REPLACE_FMODL.
26766         * modules/math (Makefile.am): Substitute GNULIB_FMODL, HAVE_FMODL,
26767         REPLACE_FMODL.
26768         * modules/fmodl: New file.
26769         * doc/posix-functions/fmodl.texi: Mention the new module.
26771 2012-02-25  Bruno Haible  <bruno@clisp.org>
26773         Tests for module 'modfl'.
26774         * modules/modfl-tests: New file.
26775         * tests/test-modfl.c: New file.
26776         * tests/test-math-c++.cc: Check the declaration of modfl.
26778         New module 'modfl'.
26779         * lib/math.in.h (modfl): New declaration.
26780         * lib/modfl.c: New file.
26781         * m4/modfl.m4: New file.
26782         * m4/math_h.m4 (gl_MATH_H): Test whether modfl is declared.
26783         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFL, HAVE_MODFL.
26784         * modules/math (Makefile.am): Substitute GNULIB_MODFL, HAVE_MODFL.
26785         * modules/modfl: New file.
26786         * doc/posix-functions/modfl.texi: Mention the new module.
26788 2012-02-25  Bruno Haible  <bruno@clisp.org>
26790         Tests for module 'fabsl'.
26791         * modules/fabsl-tests: New file.
26792         * tests/test-fabsl.c: New file.
26793         * tests/test-math-c++.cc: Check the declaration of fabsl.
26795         New module 'fabsl'.
26796         * lib/math.in.h (fabsl): New declaration.
26797         * lib/fabsl.c: New file.
26798         * m4/fabsl.m4: New file.
26799         * m4/math_h.m4 (gl_MATH_H): Test whether fabsl is declared.
26800         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSL, HAVE_FABSL,
26801         REPLACE_FABSL.
26802         * modules/math (Makefile.am): Substitute GNULIB_FABSL, HAVE_FABSL,
26803         REPLACE_FABSL.
26804         * modules/fabsl: New file.
26805         * doc/posix-functions/fabsl.texi: Mention the new module.
26807 2012-02-25  Bruno Haible  <bruno@clisp.org>
26809         fabs tests: More tests.
26810         * tests/test-fabs.c: Include <string.h>, minus-zero.h.
26811         (zero): New variable.
26812         (main): Add tests for signed zero.
26813         * modules/fabs-tests (Files): Add tests/minus-zero.h.
26815         fabsf tests: More tests.
26816         * tests/test-fabsf.c: Include <string.h>, minus-zero.h.
26817         (zero): New variable.
26818         (main): Add tests for signed zero.
26819         * modules/fabsf-tests (Files): Add tests/minus-zero.h.
26821 2012-02-24  Bruno Haible  <bruno@clisp.org>
26823         atanl: Provide function definition on MSVC.
26824         * m4/atanl.m4 (gl_FUNC_ATANL): Test also whether atanl can be used as a
26825         function pointer.
26826         * lib/math.in.h (atanl): Undefine if it does not exist as a function.
26828 2012-02-24  Bruno Haible  <bruno@clisp.org>
26830         acosl: Provide function definition on MSVC.
26831         * m4/acosl.m4 (gl_FUNC_ACOSL): Test also whether acosl can be used as a
26832         function pointer.
26833         * lib/math.in.h (acosl): Undefine if it does not exist as a function.
26835 2012-02-24  Bruno Haible  <bruno@clisp.org>
26837         asinl: Provide function definition on MSVC.
26838         * m4/asinl.m4 (gl_FUNC_ASINL): Test also whether asinl can be used as a
26839         function pointer.
26840         * lib/math.in.h (asinl): Undefine if it does not exist as a function.
26842 2012-02-24  Bruno Haible  <bruno@clisp.org>
26844         tanl: Provide function definition on MSVC.
26845         * m4/tanl.m4 (gl_FUNC_TANL): Test also whether tanl can be used as a
26846         function pointer.
26847         * lib/math.in.h (tanl): Undefine if it does not exist as a function.
26849 2012-02-24  Bruno Haible  <bruno@clisp.org>
26851         cosl: Provide function definition on MSVC.
26852         * m4/cosl.m4 (gl_FUNC_COSL): Test also whether cosl can be used as a
26853         function pointer.
26854         * lib/math.in.h (cosl): Undefine if it does not exist as a function.
26856 2012-02-24  Bruno Haible  <bruno@clisp.org>
26858         sinl: Provide function definition on MSVC.
26859         * m4/sinl.m4 (gl_FUNC_SINL): Test also whether sinl can be used as a
26860         function pointer.
26861         * lib/math.in.h (sinl): Undefine if it does not exist as a function.
26863 2012-02-24  Bruno Haible  <bruno@clisp.org>
26865         logl: Provide function definition on MSVC.
26866         * m4/logl.m4 (gl_FUNC_LOGL): Test also whether logl can be used as a
26867         function pointer.
26868         * lib/math.in.h (logl): Undefine if it does not exist as a function.
26870 2012-02-24  Bruno Haible  <bruno@clisp.org>
26872         expl: Provide function definition on MSVC.
26873         * m4/expl.m4 (gl_FUNC_EXPL): Test also whether expl can be used as a
26874         function pointer.
26875         * lib/math.in.h (expl): Undefine if it does not exist as a function.
26877 2012-02-24  Bruno Haible  <bruno@clisp.org>
26879         sqrtl: Provide function definition on MSVC.
26880         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Test also whether sqrtl can be used as
26881         a function pointer.
26882         * lib/math.in.h (sqrtl): Undefine if it does not exist as a function.
26884 2012-02-24  Bruno Haible  <bruno@clisp.org>
26886         ceill: Provide function definition on MSVC.
26887         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Test also whether ceill can be
26888         used as a function pointer.
26889         * lib/math.in.h (ceill): Undefine if it is not declared as a function.
26891 2012-02-24  Bruno Haible  <bruno@clisp.org>
26893         floorl: Provide function definition on MSVC.
26894         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Test also whether floorl can be
26895         used as a function pointer.
26896         * lib/math.in.h (floorl): Undefine if it is not declared as a function.
26898 2012-02-24  Bruno Haible  <bruno@clisp.org>
26900         ceilf: Provide function definition on MSVC.
26901         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Test also whether ceilf can be
26902         used as a function pointer.
26903         * lib/math.in.h (ceilf): Undefine if it is not declared as a function.
26905 2012-02-24  Bruno Haible  <bruno@clisp.org>
26907         floorf: Provide function definition on MSVC.
26908         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Test also whether floorf can be
26909         used as a function pointer.
26910         * lib/math.in.h (floorf): Undefine if it is not declared as a function.
26912 2012-02-24  Paul Eggert  <eggert@cs.ucla.edu>
26914         stdnoreturn: new module
26915         This implements a replacement for C11's <stdnoreturn.h>.
26916         * doc/gnulib.texi (Header File Substitutes): Add stdnoreturn.
26917         * doc/posix-headers/stdnoreturn.texi, lib/stdnoreturn.in.h:
26918         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
26919         * tests/test-stdnoreturn.c: New files.
26921 2012-02-24  Stanislav Brabec  <sbrabec@suse.cz>  (tiny change)
26923         regex: fix false multibyte matches in some regular expressions
26924         See <http://sourceware.org/bugzilla/show_bug.cgi?id=13637>
26925         and <http://sourceware.org/ml/libc-alpha/2012-02/msg00521.html>.
26926         * lib/regex_internal.c (re_string_skip_chars):
26927         Fix miscomputation of remain_len that may cause incomplete
26928         multi-byte character and false match.
26930 2012-02-24  Jim Meyering  <meyering@redhat.com>
26932         maint.mk: tell sc_prohibit_strcmp to ding "0 == strcmp (...)", too
26933         * top/maint.mk (sc_prohibit_strcmp): Also prohibit uses of strcmp
26934         uses with "==" *before* the call, e.g., 0 == strcmp (...)
26935         Remove now-unnecessary str''cmp obfuscation.
26936         Suggested by Akim Demaille.
26938 2012-02-24  Bruno Haible  <bruno@clisp.org>
26940         streq: Rename macro.
26941         * lib/streq.h (STREQ_OPT): Renamed from STREQ.
26942         * NEWS: Mention the change.
26943         * lib/mbrtowc.c (mbrtowc): Update.
26944         * lib/uniwidth/cjk.h (is_cjk_encoding): Update.
26945         * lib/wcwidth.c (wcwidth): Update.
26946         Suggested by Akim Demaille and Jim Meyering.
26948 2012-02-20  Paul Eggert  <eggert@cs.ucla.edu>
26950         regex: fix typo in definition of MIN
26951         * lib/regex_internal.h (MIN): Fix typo.  Problem reported by Thomas
26952         Schwinge in <http://sourceware.org/bugzilla/show_bug.cgi?id=11638#c4>.
26954 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
26955             Bruno Haible  <bruno@clisp.org>
26957         acl: Don't use ACL_CNT and similar ops, since they are unreliable.
26958         * lib/file-has-acl.c (file_has_acl) [HP-UX, NonStop Kernel]: Read the
26959         entries into a stack-allocated buffer directly.
26960         * lib/copy-acl.c (qcopy_acl) [HP-UX, NonStop Kernel]: Likewise.
26962 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
26963             Bruno Haible  <bruno@clisp.org>
26965         acl: Don't use GETACLCNT and similar ops, since they are unreliable.
26967          - There were several instances of this pattern:
26969              for (;;) {
26970                n = acl (f, GETACLCNT, 0, NULL);
26971                [ allocate an array A of size N ]
26972                if (acl (f, GETACL, n, a) == n)
26973                  break;
26974              }
26976            This loop might never terminate if some other process is constantly
26977            manipulating the file's ACL.  The loop should be rewritten to
26978            terminate.
26980          - The acl (... GETACLNT ...) call is merely an optimization; its value
26981            is merely a hint as to how big to make the array.  A better
26982            optimization is to avoid the acl (... GETACLNT ...)  call entirely,
26983            and just guess a reasonably-big size, growing the size and trying
26984            again if it's not large enough.  This guarantees termination, and
26985            saves a system call.
26987         * lib/acl-internal.h: Include <limits.h>.
26988         (MIN, SIZE_MAX): New macros.
26989         * lib/file-has-acl.c (file_has_acl) [Solaris]: Read the entries into
26990         a stack-allocated buffer, and use malloc if it does not fit. Don't
26991         use GETACLCNT.
26992         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
26994 2012-02-19  Bruno Haible  <bruno@clisp.org>
26996         acl: Fix endless loop on Solaris with vxfs.
26997         * lib/file-has-acl.c (file_has_acl) [Solaris]: Treat a failing
26998         acl()/facl() call for ACE_GETACL like a failing call for ACE_GETACLCNT.
26999         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
27000         * lib/copy-acl.c (qcopy_acl)[Solaris]: Likewise.
27001         * tests/test-sameacls.c (main)[Solaris]: Likewise.
27002         Reported by Bill Jones in
27003         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10639>, via Paul Eggert.
27005 2012-02-19  Bruno Haible  <bruno@clisp.org>
27007         acl: Fix copy-acl test failure on Solaris 11.0.
27008         * lib/file-has-acl.c (NEW_ACE_WRITEA_DATA): New macro.
27009         (acl_ace_nontrivial): Relax the restrictions on access_masks[] so
27010         that this function returns 0 in some more cases.
27012 2012-02-19  Bruno Haible  <bruno@clisp.org>
27014         acl: Update doc references.
27015         * doc/acl-resources.txt: Update links to Solaris documentation.
27017 2012-02-19  Bruno Haible  <bruno@clisp.org>
27019         Fix test failure in many locales on Solaris 11.
27020         * tests/test-pipe-filter-gi1.c (main): Don't use range expression in
27021         'tr' arguments.
27022         * tests/test-pipe-filter-ii1.c (main): Likewise.
27023         * build-aux/bootstrap (check_versions): Run 'tr' command with range
27024         expressions in the C locale.
27025         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
27026         * m4/host-os.m4 (gl_HOST_OS): Likewise.
27028 2012-02-19  Bruno Haible  <bruno@clisp.org>
27030         gnulib-tool: Improve usage message.
27031         * gnulib-tool (func_usage): Move doc of --help and --version to the
27032         section "Operation modes".
27034 2012-02-18  Reuben Thomas  <rrt@sc3d.org>
27036         README-release: make it easier to execute commands
27037         * top/README-release: break commands out on to separate lines.
27039 2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
27041         GNUmakefile: simplify detection of unconfigured trees
27042         * top/GNUmakefile: Use $(wildcard) instead of $(shell) to determine
27043         whether the tree make is being run from is already configured or
27044         not.  Related simplifications.
27046 2012-02-13  Simon Josefsson  <simon@josefsson.org>
27048         * gnulib-tool (func_usage): Document --help and --version.
27050 2012-02-11  Jim Meyering  <meyering@redhat.com>
27052         bootstrap: don't exit 0 upon gnulib-tool failure
27053         * build-aux/bootstrap (gnulib_tool): If gnulib-tool fails, exit with
27054         its exit status, not 0.
27056 2011-12-19  Reuben Thomas  <rrt@sc3d.org>
27058         README-release: various improvements
27059         * top/README-release: Give a command to push changes for the
27060         release.  Add "distcheck" to list of other pre-release checks.
27061         Fix instance of "make stable" which should be "make TYPE".
27063 2012-02-09  Paul Eggert  <eggert@cs.ucla.edu>
27065         maint: replace FSF snail-mail addresses with URLs
27066         * config/argz.mk, lib/accept4.c, lib/alignof.h, lib/alloca.in.h:
27067         * lib/alphasort.c, lib/arcfour.c, lib/arcfour.h, lib/arctwo.c:
27068         * lib/arctwo.h, lib/argz.c, lib/arpa_inet.in.h, lib/asnprintf.c:
27069         * lib/asprintf.c, lib/assert.in.h, lib/base32.c, lib/base32.h:
27070         * lib/base64.c, lib/base64.h, lib/c-ctype.c, lib/c-ctype.h:
27071         * lib/c-strcase.h, lib/c-strcasecmp.c, lib/c-strncasecmp.c:
27072         * lib/check-version.c, lib/check-version.h, lib/config.charset:
27073         * lib/ctype.in.h, lib/des.c, lib/des.h, lib/dup3.c, lib/errno.in.h:
27074         * lib/float+.h, lib/fnmatch.c, lib/fnmatch.in.h, lib/fnmatch_loop.c:
27075         * lib/fseeko.c, lib/gai_strerror.c, lib/gc-gnulib.c:
27076         * lib/gc-libgcrypt.c, lib/gc-pbkdf2-sha1.c, lib/gc.h:
27077         * lib/getaddrinfo.c, lib/getdelim.c, lib/getfilecon.c, lib/getline.c:
27078         * lib/getlogin_r.c, lib/getpass.c, lib/getpass.h, lib/gettext.h:
27079         * lib/gettimeofday.c, lib/glob.in.h, lib/glthread/cond.c:
27080         * lib/glthread/cond.h, lib/glthread/lock.c, lib/glthread/lock.h:
27081         * lib/glthread/thread.c, lib/glthread/thread.h:
27082         * lib/glthread/threadlib.c, lib/glthread/yield.h, lib/hmac-md5.c:
27083         * lib/hmac-sha1.c, lib/hmac.h, lib/iconv.c, lib/iconv.in.h:
27084         * lib/iconv_close.c, lib/iconv_open.c, lib/inet_ntop.c, lib/isfinite.c:
27085         * lib/isinf.c, lib/iswblank.c, lib/langinfo.in.h, lib/link.c:
27086         * lib/localcharset.c, lib/localcharset.h, lib/lseek.c, lib/malloc.c:
27087         * lib/malloca.c, lib/malloca.h, lib/md2.c, lib/md2.h, lib/md4.c:
27088         * lib/md4.h, lib/md5.c, lib/md5.h, lib/memmem.c, lib/mempcpy.c:
27089         * lib/memset.c, lib/memxor.c, lib/memxor.h, lib/minmax.h, lib/mktime.c:
27090         * lib/msvc-inval.c, lib/msvc-inval.h, lib/msvc-nothrow.c:
27091         * lib/msvc-nothrow.h, lib/netdb.in.h, lib/netinet_in.in.h, lib/nproc.c:
27092         * lib/nproc.h, lib/obstack_printf.c, lib/pathmax.h, lib/pipe.c:
27093         * lib/pipe2.c, lib/poll.c, lib/poll.in.h, lib/printf-args.c:
27094         * lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h:
27095         * lib/pselect.c, lib/pthread.in.h, lib/pty-private.h, lib/pty.in.h:
27096         * lib/read-file.c, lib/read-file.h, lib/ref-add.sin, lib/ref-del.sin:
27097         * lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c:
27098         * lib/regex_internal.h, lib/regexec.c, lib/rijndael-alg-fst.c:
27099         * lib/rijndael-alg-fst.h, lib/rijndael-api-fst.c:
27100         * lib/rijndael-api-fst.h, lib/rint.c, lib/rintf.c, lib/rintl.c:
27101         * lib/round.c, lib/roundf.c, lib/roundl.c, lib/scandir.c, lib/select.c:
27102         * lib/sha1.c, lib/sha1.h, lib/size_max.h, lib/snprintf.c:
27103         * lib/stdalign.in.h, lib/stdarg.in.h, lib/stdbool.in.h:
27104         * lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/str-kmp.h:
27105         * lib/str-two-way.h, lib/strcasecmp.c, lib/strcasestr.c, lib/strdup.c:
27106         * lib/striconv.c, lib/striconv.h, lib/string.in.h, lib/strings.in.h:
27107         * lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, lib/strpbrk.c:
27108         * lib/strptime.c, lib/strsep.c, lib/strstr.c, lib/strverscmp.c:
27109         * lib/sys_file.in.h, lib/sys_ioctl.in.h, lib/sys_select.in.h:
27110         * lib/sys_socket.in.h, lib/sys_stat.in.h, lib/sys_time.in.h:
27111         * lib/sys_times.in.h, lib/sys_types.in.h, lib/sys_uio.in.h:
27112         * lib/sys_utsname.in.h, lib/sys_wait.in.h, lib/tcgetsid.c:
27113         * lib/termios.in.h, lib/time.in.h, lib/time_r.c, lib/timegm.c:
27114         * lib/times.c, lib/unictype/3level.h, lib/unictype/3levelbit.h:
27115         * lib/unistd.in.h, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c:
27116         * lib/vsnprintf.c, lib/waitpid.c, lib/wchar.in.h, lib/wctype.in.h:
27117         * lib/xsize.h, tests/test-closein.c, tests/test-des.c:
27118         * tests/test-fclose.c, tests/test-fgetc.c, tests/test-filevercmp.c:
27119         * tests/test-fputc.c, tests/test-fread.c, tests/test-fwrite.c:
27120         * tests/test-gc-arcfour.c, tests/test-gc-arctwo.c, tests/test-gc-des.c:
27121         * tests/test-gc-hmac-md5.c, tests/test-gc-hmac-sha1.c:
27122         * tests/test-gc-md2.c, tests/test-gc-md4.c, tests/test-gc-md5.c:
27123         * tests/test-gc-pbkdf2-sha1.c, tests/test-gc-rijndael.c:
27124         * tests/test-gc-sha1.c, tests/test-gc.c, tests/test-getdelim.c:
27125         * tests/test-getline.c, tests/test-getndelim2.c, tests/test-md2.c:
27126         * tests/test-md4.c, tests/test-parse-datetime.c, tests/test-perror.c:
27127         * tests/test-perror2.c, tests/test-pipe.c, tests/test-pipe2.c:
27128         * tests/test-poll.c, tests/test-quotearg-simple.c:
27129         * tests/test-quotearg.c, tests/test-quotearg.h:
27130         * tests/test-round-ieee.c, tests/test-round1.c:
27131         * tests/test-roundf-ieee.c, tests/test-roundf1.c:
27132         * tests/test-roundl-ieee.c, tests/test-roundl.c:
27133         * tests/test-safe-alloc.c, tests/test-sigpipe.c:
27134         * tests/test-spawn-pipe-child.c, tests/test-spawn-pipe-main.c:
27135         * tests/test-strerror.c, tests/test-strerror_r.c:
27136         * tests/test-strsignal.c, tests/test-strverscmp.c:
27137         * tests/test-xmemdup0.c:
27138         Replace FSF snail mail addresses with URLs, as per GNU coding
27139         standards.  See glibc bug
27140         <http://sourceware.org/bugzilla/show_bug.cgi?id=13673>.
27142 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
27144         README-release: capitalize a word and split a line
27145         * top/README-release: Fix punctuation and spacing.
27147 2012-02-08  Akim Demaille  <demaille@gostai.com>
27149         fatal-signal: use C prototypes (with explicit void).
27150         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
27151         (init_fatal_signal_set, block_fatal_signals): Fix signatures.
27153 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
27155         regex: spelling fix
27156         * lib/regexec.c: spelling fix
27158         regex: rely on stdint.h for SIZE_MAX
27159         * lib/regex_internal.h (SIZE_MAX): Remove; stdint.h supplies this now.
27161 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
27163         regex: merge glibc changes
27165         * lib/regcomp.c (init_dfa): Tighten overflow checks to test
27166         for IDX_MAX too, since IDX_MAX can be much less than SIZE_MAX.
27167         (init_word_char): Work even if bitset words are not exactly 32 or
27168         64 bits wide.  Don't assume there are no padding bits.
27169         * lib/regex.c [_LIBC]: Do not include <config.h>.
27170         [!_LIBC]: Add pragmas to ignore -Wsuggest-attributes=pure
27171         and -Wtype-limits.
27172         * lib/regex.h (__USE_GNU): Renamed from __USE_GNU_REGEX, to avoid
27173         needless disagreement with glibc.  All uses changed.  Define it to
27174         1 only if _GNU_SOURCE, to match glibc.
27175         (_REG_RM_NAME): Remove; no longer needed, since the names in
27176         question are now all protected by __USE_GNU.
27177         (_REG_RE_NAME): Remove; replaced by glibc's __REPB_PREFIX.
27178         (REG_TRANSLATE_TYPE): Remove; replaced by glibc's __RE_TRANSLATE_TYPE.
27179         * lib/regex_internal.h (MIN): New macro.
27181         2012-01-03 Ulrich Drepper <drepper@gmail.com>
27182         * lib/regcomp.c (init_word_char): Optimize regex a bit.
27184         2011-12-30 Jakub Jelinek <jakub@redhat.com>
27185         * lib/regex_internal.c (re_string_fetch_byte_case):
27186         Fix up regcomp/regexec.  The problem is that parse_bracket_symbol
27187         is miscompiled, and it turns out it is because of an incorrect
27188         attribute on re_string_fetch_byte_case.  Unlike
27189         re_string_peek_byte_case, this one is really not pure, it modifies
27190         memory (increments pstr->cur_idx), and with the pure attribute GCC
27191         assumed it doesn't and it cached the presumed value of
27192         regexp->cur_idx in a variable across the
27193          for (;; ++i)
27194            {
27195              if (i >= BRACKET_NAME_BUF_SIZE)
27196                return REG_EBRACK;
27197              if (token->type == OP_OPEN_CHAR_CLASS)
27198                ch = re_string_fetch_byte_case (regexp);
27199              else
27200                ch = re_string_fetch_byte (regexp);
27201              if (re_string_eoi(regexp))
27202                return REG_EBRACK;
27203              if (ch == delim && re_string_peek_byte (regexp, 0) == ']')
27204                break;
27205              elem->opr.name[i] = ch;
27206            }
27208         2011-11-29 Andreas Schwab <schwab@redhat.com>
27209         * lib/regcomp.c (build_equiv_class):
27210         Fix access after end of search string in regex matcher.
27212         2011-11-12 Ulrich Drepper <drepper@redhat.com>
27213         * lib/regex_internal.c, lib/regex_internal.h: Fix warnings in regex.
27215         2011-10-12 Ulrich Drepper <drepper@redhat.com>
27216         * lib/regcomp.c (parse_branch): One more regex memory leak fixed.
27218         2011-10-11 Ulrich Drepper <drepper@redhat.com>
27219         * lib/regcomp.c (parse_branch, parse_sub_exp):
27220         More regex memory leak fixes and tests.
27221         (parse_sub_exp, parse_bracket_exp):
27222         Fix memory leak for some invalid regular expressions.
27224         2011-05-28 Ulrich Drepper <drepper@gmail.com>
27225         * lib/regex_internal.c, lib/regexec.c:
27226         Fix unnecessary overallocation due to incomplete character.  When
27227         incomplete characters are found at the end of a string the code
27228         ran amok and allocated lots of memory.  Stricter limits are now in
27229         place.
27231         2011-05-20 Reuben Thomas <rrt@sc3d.org>
27232         * lib/regex.h: Update documentation.
27234         2011-05-16 Aharon Robbins <arnold@skeeve.com>
27235         * lib/regex.h: Update RE_SYNTAX*_AWK constants.
27237         2010-05-05 Andreas Schwab <schwab@redhat.com>
27238         * lib/regexec.c (find_collation_sequence_value):
27239         Fix lookup of collation sequence value during regexp matching.
27241         2010-01-22 Ulrich Drepper <drepper@redhat.com>
27242         * lib/regex_internal.c (re_dfa_add_node): Extend overflow detection.
27244         2008-01-16 Ulrich Drepper <drepper@redhat.com>
27245         * lib/regex.h: Cleanup namespace.
27247         2007-11-26 Ulrich Drepper <drepper@redhat.com>
27248         * lib/regex.h (REG_ENOSYS): Define REG_ENOSYS also for __USE_XOPEN2K.
27250         2007-08-26 Ulrich Drepper <drepper@redhat.com>
27251         * lib/regex_internal.h: Prevent some declarations and definitions
27252         to be seen when used in tests.
27254         2005-05-06 Ulrich Drepper <drepper@redhat.com>
27255         * lib/regex_internal.h: Include bits/libc-lock.h or define dummy
27256         __libc_lock_* macros if not _LIBC.
27257         (struct re_dfa_t): Add lock.
27259 2012-02-07  Eric Blake  <eblake@redhat.com>
27261         maint.mk: also prohibit lower-case @var@
27262         * top/maint.mk (sc_makefile_at_at_check): Enhance check to cover
27263         lower case, like @top_srcdir@.
27265 2012-02-04  Eric Blake  <eblake@redhat.com>
27267         canonicalize: avoid uninitialized memory use
27268         * lib/canonicalize-lgpl.c (__realpath): Avoid possibility of
27269         random '/' left in dest.
27270         * lib/canonicalize.c (canonicalize_filename_mode): Likewise.
27272 2012-02-04  Bruno Haible  <bruno@clisp.org>
27274         isatty: Fix test failure of ptsname_r on native Windows.
27275         * lib/isatty.c (_isatty_nothrow): Upon exception, return 0, not -1,
27276         and don't set errno.
27277         (isatty): Test first whether fd is valid. Set errno when returning 0.
27279 2012-02-04  Bruno Haible  <bruno@clisp.org>
27281         spawn-pipe tests: Fix a NULL program name in a diagnostic.
27282         * tests/test-spawn-pipe-main.c: Include progname.h.
27283         (main): Invoke set_program_name.
27284         * modules/spawn-pipe-tests (Depends-on): Add progname.
27286         nonblocking-socket tests: Fix a NULL program name in a diagnostic.
27287         * tests/test-nonblocking-socket-main.c: Include progname.h.
27288         (main): Invoke set_program_name.
27289         * modules/nonblocking-socket-tests (Depends-on): Add progname.
27291         nonblocking-pipe tests: Fix a NULL program name in a diagnostic.
27292         * tests/test-nonblocking-pipe-main.c: Include progname.h.
27293         (main): Invoke set_program_name.
27294         * modules/nonblocking-pipe-tests (Depends-on): Add progname.
27296 2012-02-04  Eric Blake  <eblake@redhat.com>
27298         canonicalize-lgpl: fix // handling
27299         * lib/canonicalize-lgpl.c (__realpath): Don't convert /// to //.
27301         canonicalize: fix // handling
27302         * lib/canonicalize.c (canonicalize_filename_mode): Don't convert
27303         /// to //, since only // is special.
27305 2012-02-04  Bruno Haible  <bruno@clisp.org>
27307         ioctl: Fix test failure on native Windows.
27308         * lib/ioctl.c: Include msvc-nothrow.h.
27309         (primary_ioctl): If fd is not a valid handle, set errno to EBADF.
27311 2012-02-04  Bruno Haible  <bruno@clisp.org>
27313         fsync: Avoid test failure on native Windows.
27314         * lib/fsync.c (fsync) [Windows]: Don't fail if the handle is merely
27315         read-only.
27317 2012-02-04  Bruno Haible  <bruno@clisp.org>
27319         sys_select: Avoid syntax error on OpenBSD 5.0.
27320         * lib/sys_select.in.h [OpenBSD]: When /usr/include/pthread.h is
27321         currently being included, just include the system's <sys/select.h>.
27323 2012-02-04  Bruno Haible  <bruno@clisp.org>
27325         sys_select: Avoid syntax error on OpenBSD 5.0.
27326         * lib/sys_select.in.h: Include <signal.h> only after the include_next
27327         <sys/select.h>, not before.
27328         Reported by Jiri B <jirib@devio.us>.
27330 2012-02-04  Bruno Haible  <bruno@clisp.org>
27332         get-rusage-as, get-rusage-data tests: Avoid test failure with gcc-4.7.
27333         * tests/test-get-rusage-as.c (main): Assign the malloc() results to
27334         global variables.
27335         * tests/test-get-rusage-data.c (main): Likewise.
27336         Reported by Jim Meyering.
27338 2012-02-04  Bruno Haible  <bruno@clisp.org>
27340         stdioext: Fix last commit.
27341         * lib/fwritable.c [EPLAN9]: Include <fcntl.h>.
27343 2012-02-03  Bruno Haible  <bruno@clisp.org>
27345         stdioext: Add tentative support for Plan9.
27346         * lib/stdio-impl.h: Include <errno.h>.
27347         * lib/fseterr.c (fseterr) [EPLAN9]: Add conditional code.
27348         * lib/freadable.c (freadable): Likewise.
27349         * lib/fwritable.c (fwritable): Likewise.
27350         * lib/fbufmode.c (fbufmode): Likewise.
27351         * lib/freading.c (freading): Likewise.
27352         * lib/fwriting.c (fwriting): Likewise.
27353         * lib/freadptr.c (freadptr): Likewise.
27354         * lib/freadseek.c (freadptrinc): Likewise.
27355         * lib/freadahead.c (freadahead): Likewise.
27356         * lib/fpurge.c (fpurge): Likewise.
27357         * lib/fseeko.c (rpl_fseeko): Likewise.
27358         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Plan9.
27359         Reported by Jens Staal <staal1978@gmail.com>.
27361 2012-02-02  Jim Meyering  <meyering@redhat.com>
27363         file-has-acl: suppress a warning from gcc -Wsuggest-attribute=const
27364         * lib/file-has-acl.c (file_has_acl): This function (for some #ifdefs)
27365         would evoke a new gcc warning.  Given all of the #ifdefs, it is better
27366         not even to try to add the attribute.  Instead, add a pragma to suppress
27367         the suggestion/warning.
27369 2012-01-31  Karl Berry  <karl@gnu.org>
27371         setstate doc: typo.
27372         * doc/posix-functions/setstate.texi (setstate): { not (.
27374 2012-01-31  Bruno Haible  <bruno@clisp.org>
27376         popen: Make more robust on Windows.
27377         * lib/popen.c: On native Windows, use the _popen based code even if
27378         HAVE_POPEN is set.
27379         * doc/posix-functions/popen.texi: Mention necessity of COMSPEC
27380         environment variable on native Windows.
27382 2012-01-30  Bruno Haible  <bruno@clisp.org>
27384         pclose: Fix typo.
27385         * lib/stdio.in.h (pclose): Fix typo in warning message.
27387 2012-01-30  Bruno Haible  <bruno@clisp.org>
27389         doc about getlogin_r, setstate.
27390         * doc/posix-functions/getlogin_r.texi: List the incompatible
27391         declaration problem under "not fixed by gnulib".
27392         * doc/posix-functions/setstate.texi: Mention incompatible declaration
27393         problem on Solaris 11 and other platforms.
27395 2012-01-30  Chuanchang Jia  <chuanchang.jia@gmail.com>  (tiny change)
27396             Bruno Haible  <bruno@clisp.org>
27398         poll tests: Make test more robust.
27399         * tests/test-poll.c: Include macros.h.
27400         (test_accept_first, test_pair, test_socket_pair, test_pipe): Verify
27401         return value of various I/O operations.
27402         * modules/poll-tests (Files): Add tests/macros.h.
27404 2012-01-30  Bruno Haible  <bruno@clisp.org>
27406         sys_stat: Fix support for mingw64 and MSVC.
27407         * lib/sys_stat.in.h (stat) [AIX]: Don't redefine 'stat' if the system
27408         header files already do it.
27409         (stat) [mingw, msvc]: Redefine the symbol to which stat is defined, not
27410         stat itself.
27411         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
27413 2012-01-30  Bruno Haible  <bruno@clisp.org>
27415         wcwidth: Work around bug in UTF-8 locale on OpenBSD 5.0.
27416         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test also wcwidth of U+05B0.
27417         * doc/posix-functions/wcwidth.texi: Mention the OpenBSD 5.0 bug.
27419 2012-01-29  Bruno Haible  <bruno@clisp.org>
27421         quotearg: Fix test failure on MacOS X 10.5.
27422         * tests/test-quotearg-simple.c: Include localcharset.h.
27423         (main): If the locale encoding is not ASCII, bypass the tests of
27424         locale_quoting_style and clocale_quoting_style.
27425         * modules/quotearg-tests (Depends-on): Add 'localcharset'.
27427 2012-01-29  Jim Meyering  <meyering@redhat.com>
27429         maint.mk: sc_prohibit_canonicalize_without_use: avoid false positive
27430         * top/maint.mk (sc_prohibit_canonicalize_without_use): Also
27431         detect uses of canonicalize_file_name.
27433 2012-01-28  Bruno Haible  <bruno@clisp.org>
27435         test-framework-sh: Fix test failure with AIX 7.1 diff.
27436         * tests/init.sh (compare_): Don't use 'diff -u' if it inserts a space
27437         in column 1, like 'diff -c' does.
27438         * tests/test-init.sh (test_compare): Don't repeat the test from init.sh
27439         whether 'diff -u' is used. Instead, test whether the output contains
27440         some '@' character.
27442 2012-01-28  Paul Eggert  <eggert@cs.ucla.edu>
27444         strtoimax: eliminate need for stdint.h, inttypes.h checks
27445         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't use
27446         gl_AC_HEADER_STDINT_H or gl_AC_HEADER_INTTYPES_H.  This reduces
27447         the prerequisites for a recently-introduced strtoimax test.
27448         I guess this might cause strtoimax to be replaced when not
27449         strictly necessary on older hosts, but this shouldn't introduce
27450         any bugs and it should make Emacs 'configure' faster on typical
27451         modern hosts.  Problem discovered when importing the latest gnulib
27452         to an Emacs test version.
27453         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4.
27455 2012-01-28  Bruno Haible  <bruno@clisp.org>
27457         sys_time: Override 'struct timeval' on some native Windows platforms.
27458         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Test whether tv_sec
27459         has the right type. Set REPLACE_STRUCT_TIMEVAL if not.
27460         (gl_HEADER_SYS_TIME_H_DEFAULTS): Initialize REPLACE_STRUCT_TIMEVAL.
27461         * lib/sys_time.in.h: Include <winsock2.h> also when 'struct timeval'
27462         needs to be overridden.
27463         (timeval): Override if REPLACE_STRUCT_TIMEVAL is set.
27464         * modules/sys_time (Makefile.am): Substitute REPLACE_STRUCT_TIMEVAL.
27465         * tests/test-sys_select.c: Check that the tv_sec member has the same
27466         size as a 'time_t'.
27467         * tests/test-sys_time.c: Likewise.
27468         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): If REPLACE_STRUCT_TIMEVAL
27469         is set, set also REPLACE_GETTIMEOFDAY.
27470         * lib/gettimeofday.c (gettimeofday): If 'struct timeval' is overridden,
27471         convert the resulting 'struct timeval' before returning.
27472         * lib/select.c: Include <sys/time.h>.
27473         (select, timeval): Undefine at the right place.
27474         * modules/select (Depends-on): Add sys_time.
27475         * doc/posix-headers/sys_time.texi: Mention the problem with tv_sec on
27476         some Windows platforms.
27477         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
27479 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
27481         accept4, fcntl, socket modules: Avoid warnings on x86_64 mingw64.
27482         * lib/accept4.c (accept4): Use intptr_t to convert handle pointer to
27483         an integer.
27484         * lib/fcntl.c (dupfd): Likewise.
27485         * lib/w32sock.h (SOCKET_TO_FD): Likewise.
27487 2012-01-28  Bruno Haible  <bruno@clisp.org>
27489         fcntl: Avoid compilation error on native Windows.
27490         * modules/fcntl (Depends-on): Add 'close'.
27492 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
27494         select, poll, isatty: Avoid warnings on x86_64 mingw64.
27495         * lib/select.c (IsConsoleHandle): Use intptr_t to convert handle
27496         pointer to an integer.
27497         * lib/poll.c (IsConsoleHandle): Likewise.
27498         * lib/isatty.c (IsConsoleHandle): Likewise.
27500 2012-01-28  Jim Meyering  <meyering@redhat.com>
27502         doc: clarify README-release
27503         * top/README-release: Clarify: you should make a point to have
27504         the latest stable versions of build tools in your PATH, and the
27505         reference to buildreq is solely for its list of tool names, not
27506         for its minimal-functional version numbers.
27507         Prompted by discussion with Reuben Thomas and Gary V. Vaughan.
27509         maint.mk: use more readable (yet functionally equivalent) quoting
27510         It is common to quote a single quote in a single quoted string like
27511         this:  '...'\''...'.  Unless you know the idiom, that looks like
27512         gibberish, so prefer to double-quote the string when possible.
27513         Then you can use a more readable, lone single quote: "...'..."
27514         * top/maint.mk (sc_cast_of_argument_to_free): Quoting like this
27515         "don't" is more readable than the equivalent 'don'\''t'.
27516         (sc_cast_of_x_alloc_return_value): Likewise.
27517         (sc_cast_of_alloca_return_value): Likewise.
27518         (sc_makefile_path_separator_check): Similar: use ":" in '...',
27519         rather than '\'':'\''.
27521 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
27523         stdalign: relax _Alignof and tighten _Alignas test
27524         * m4/stdalign.m4 (gl_STDALIGN_H): Relax the _Alignof test,
27525         as it was too strict: alignof must divide offsetof, but it need
27526         not equal offsetof.  Inspired by Joseph S. Myers's comment
27527         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023#c10>.
27528         Conversely, tighten the _Alignas test a bit, as the resulting
27529         alignment must be exactly 8.
27531 2012-01-27  Bruno Haible  <bruno@clisp.org>
27533         stdalign: Document the last change.
27534         * doc/posix-headers/stdalign.texi: Mention GCC bug 52023.
27536 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
27538         stdalign: check that alignof and offsetof are consistent
27539         * m4/stdalign.m4 (gl_STDALIGN_H): Check for GCC bug 52023.
27540         Problem reported for gnulib by Richard W.M. Jones in
27541         <http://lists.gnu.org/r/bug-gnulib/2012-01/msg00340.html>.
27543 2012-01-27  Jim Meyering  <meyering@redhat.com>
27545         update-copyright: accept new option: UPDATE_COPYRIGHT_USE_INTERVALS=2
27546         * build-aux/update-copyright: When UPDATE_COPYRIGHT_USE_INTERVALS=2,
27547         convert a sequence with gaps to the minimal containing range.
27548         For example, convert 2000, 2004-2007, 2009 to 2000-2009.
27549         * tests/test-update-copyright.sh: Test for this.
27550         The FSF confirmed it is ok to do this, assuming there is at
27551         least one significant change per year in the affected range:
27552         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29554/focus=29860
27554 2012-01-26  Bruno Haible  <bruno@clisp.org>
27556         pipe2: refine doc about thread-safety
27557         * doc/glibc-functions/pipe2.texi: Clarify the extent of the
27558         multithread-safety problem.
27559         * doc/glibc-functions/accept4.texi: Likewise.
27561 2012-01-26  Bruno Haible  <bruno@clisp.org>
27563         posix_spawn_file_actions_addopen: Fix 2012-01-08 commit.
27564         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN):
27565         In the test program, include <fcntl.h>, for O_RDONLY.
27567 2012-01-26  Eric Blake  <eblake@redhat.com>
27569         pipe2: document lack of thread-safety in replacement
27570         * doc/glibc-functions/pipe2.texi (pipe2): Mention thread safety
27571         issue in replacement.
27572         * doc/glibc-functions/accept4.texi (accept4): Likewise.
27573         Based on a report by Eric Wong.
27575 2012-01-24  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
27576             Bruno Haible  <bruno@clisp.org>
27578         malloca: Avoid warnings on x86_64 mingw64.
27579         * lib/malloca.c: Include <stdint.h>.
27580         (mmalloca, freea): Use uintptr_t to convert pointers to integers.
27581         * modules/malloca (Depends-on): Add stdint.
27582         * modules/relocatable-prog-wrapper (Depends-on): Likewise.
27584 2012-01-25  Paul Eggert  <eggert@cs.ucla.edu>
27586         obstack: remove __STDC__ conditionals
27587         * lib/obstack.h: Remove __STDC__ conditionals, as suggested by Joseph
27588         S. Myers in <http://cygwin.com/ml/libc-alpha/2012-01/msg00104.html>.
27589         This leaves lib/localcharset.c, m4/iconv.m4, and a confusing comment in
27590         m4/include_next.m4 as the only gnulib-maintained places that still
27591         refer to __STDC__.
27593 2012-01-24  Bruno Haible  <bruno@clisp.org>
27595         havelib: Modern quoting.
27596         * build-aux/config.rpath: Quote 'like this', not `like this', as per
27597         the recent change to the GNU coding standards.
27599 2012-01-24  Bruno Haible  <bruno@clisp.org>
27601         stdint: Improve support for Android.
27602         * lib/stdint.in.h: Test __ANDROID__, not __BIONIC__.
27603         Reported by Simon Josefsson <simon@josefsson.org>.
27605 2012-01-23  Paul Eggert  <eggert@cs.ucla.edu>
27607         doc: omit trailing empty lines from INSTALL etc.
27608         * doc/Makefile (INSTALL): Omit trailing empty lines.
27609         (INSTALL.ISO, INSTALL.UTF-8): Build from INSTALL, so that these also
27610         omit trailing empty lines.  This simplifies the build procedure.
27612 2012-01-23  Jim Meyering  <meyering@redhat.com>
27614         tests: avoid spurious warnings about gl_sockets_startup
27615         Fedora rawhide's gcc version 4.7.0 20120119 with -Wunused-value
27616         would warn about every use of "gl_sockets_startup (SOCKETS_1_1);"
27617         reporting a "statement with no effect".
27618         * tests/test-accept.c (main): Mark as "(void)".
27619         * tests/test-accept4.c (main): Likewise.
27620         * tests/test-bind.c (main): Likewise.
27621         * tests/test-connect.c (main): Likewise.
27622         * tests/test-getpeername.c (main): Likewise.
27623         * tests/test-getsockname.c (main): Likewise.
27624         * tests/test-getsockopt.c (main): Likewise.
27625         * tests/test-listen.c (main): Likewise.
27626         * tests/test-recv.c (main): Likewise.
27627         * tests/test-recvfrom.c (main): Likewise.
27628         * tests/test-send.c (main): Likewise.
27629         * tests/test-sendto.c (main): Likewise.
27630         * tests/test-setsockopt.c (main): Likewise.
27631         * tests/test-shutdown.c (main): Likewise.
27633 2012-01-21  Bruno Haible  <bruno@clisp.org>
27635         locale-fr.m4: Fix for Android.
27636         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Avoid compilation
27637         failure of the test program on Bionic libc.
27639 2012-01-21  Jim Meyering  <meyering@redhat.com>
27641         bootstrap: fail when bootstrap_post_import_hook fails
27642         Otherwise, it's far too easy to miss diagnostics emitted
27643         between gnulib-tool's output and that of running configure.
27644         * build-aux/bootstrap: Fail when bootstrap_post_import_hook fails.
27646 2012-01-17  Jim Meyering  <meyering@redhat.com>
27648         maint: enable sc_trailing_blank
27649         * build-aux/pmccabe.css: Remove trailing blanks.
27650         * doc/acl-cygwin.txt: Likewise.
27651         * doc/gnu-oids.texi: Likewise
27652         * cfg.mk: Enable sc_trailing_blank.
27653         Exempt build-aux/texinfo.tex and doc/Copyright/assign.future.manual.
27655 2012-01-17  Jim Meyering  <meyering@redhat.com>
27657         maint: enable sc_prohibit_openat_without_use
27658         * cfg.mk: Enable sc_prohibit_openat_without_use.
27659         Exempt lib/selinux-at.c.
27661 2012-01-17  Jim Meyering  <meyering@redhat.com>
27663         maint: enable sc_prohibit_cloexec_without_use
27664         * cfg.mk: Enable sc_prohibit_cloexec_without_use.
27665         * lib/dup-safer-flag.c: Don't include "cloexec.h".  Not needed.
27667 2012-01-17  Jim Meyering  <meyering@redhat.com>
27669         maint: enable sc_prohibit_intprops_without_use
27670         * cfg.mk: Enable sc_prohibit_intprops_without_use
27671         * tests/test-nanosleep.c: Don't include "intprops.h".  Not needed.
27673 2012-01-17  Jim Meyering  <meyering@redhat.com>
27675         maint: enable sc_prohibit_hash_pjw_without_use
27676         * cfg.mk: Enable sc_prohibit_hash_pjw_without_use.
27677         * top/maint.mk (sc_prohibit_hash_pjw_without_use): Adjust regexp
27678         to match any use of \<hash_pjw\>, i.e., not necessarily with a
27679         following " (".
27681 2012-01-17  Jim Meyering  <meyering@redhat.com>
27683         maint: enable double-word-prohibiting rule
27684         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_doubled_word.
27685         Exempt three files.
27687 2012-01-17  Jim Meyering  <meyering@redhat.com>
27689         maint: remove empty lines at EOF, but excluding modules/*
27690         Apply syntax rules at home as well as abroad.  Most changes
27691         were induced by running this:
27692           make srcdir=. _build-aux=build-aux -f top/maint.mk \
27693             sc_prohibit_empty_lines_at_EOF | grep -v modules/ \
27694             | xargs perl -pi -0777 -e 's/\n\n+$/\n/'
27695         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_empty_lines_at_EOF.
27696         Exempt modules/* and two binary files.
27697         Also exempt doc/INSTALL*, per request from Bruno Haible.
27698         * doc/regexprops-generic.texi: *Add* a newline at EOF.  There was none.
27699         * doc/Copyright/assign.translation.manual: Remove empty lines at EOF.
27700         * doc/Copyright/request-assign.future: Likewise.
27701         * doc/Copyright/request-disclaim.changes: Likewise.
27702         * doc/INSTALL: Likewise.
27703         * doc/INSTALL.ISO: Likewise.
27704         * doc/INSTALL.UTF-8: Likewise.
27705         * doc/acl-cygwin.txt: Likewise.
27706         * doc/acl-resources.txt: Likewise.
27707         * doc/fdl-1.2.texi: Likewise.
27708         * doc/fdl-1.3.texi: Likewise.
27709         * doc/fdl.texi: Likewise.
27710         * lib/argp-pin.c: Likewise.
27711         * lib/round.c: Likewise.
27712         * lib/unicase/u16-totitle.c: Likewise.
27713         * lib/unictype/block_test.c: Likewise.
27714         * lib/uninorm/canonical-decomposition.c: Likewise.
27715         * m4/README: Likewise.
27716         * m4/relocatable-lib.m4: Likewise.
27717         * tests/test-isnand-nolibm.c: Likewise.
27718         * tests/test-isnand.c: Likewise.
27719         * tests/uninorm/NormalizationTest.txt: Likewise.
27721 2012-01-17  Jim Meyering  <meyering@redhat.com>
27723         maint: add framework to run syntax-check rules against gnulib sources
27724         * cfg.mk: New file, to disable all currently-failing tests.
27725         We'll enable them one by one, as they are made to pass.
27726         * Makefile (sc_maint): New rule.
27728 2012-01-21  Bruno Haible  <bruno@clisp.org>
27730         stdint: Add support for Android.
27731         * lib/stdint.in.h: When included from Bionic <sys/types.h>, just
27732         include the system's <stdint.h>.
27733         Reported by Simon Josefsson <simon@josefsson.org>.
27735 2012-01-19  Jim Meyering  <meyering@redhat.com>
27737         bootstrap: add bootstrap_post_import_hook
27738         Bison does still need something like the gnulib_mk_hook whose
27739         invocation I had to remove along with slurp in commit 767ccd40.
27740         Technically, we could get along without it, but doing so would
27741         have required living with a warning and a mandatory post-bootstrap
27742         automake rerun.
27743         * build-aux/bootstrap (gnulib_mk_hook): Remove definition, too.
27744         (bootstrap_post_import_hook): New function.
27745         Invoke it after gnulib-tool --import and before autoreconf.
27747 2012-01-18  Jim Meyering  <meyering@redhat.com>
27749         gitlog-to-changelog: don't use "no_"-prefixed variable name
27750         * build-aux/gitlog-to-changelog (main): Use getopt's "!" attribute
27751         to enable both --cluster and --no-cluster.  Change variable name,
27752         s/\$no_cluster/$cluster/, and reverse usage to match.
27754         gitlog-to-changelog: use "||", not "or" in expressions
27755         * build-aux/gitlog-to-changelog (main): Use "||", not "or" in
27756         expressions.
27758 2012-01-17  Joel E. Denny  <joeldenny@joeldenny.org>
27760         gitlog-to-changelog: new option --no-cluster
27761         * build-aux/gitlog-to-changelog: New option --no-cluster, disables
27762         clustering of adjacent commit messages.
27764 2012-01-17  Jim Meyering  <meyering@redhat.com>
27766         maint: spell file systems with two words, not one
27767         * m4/ls-mntd-fs.m4 (MOUNTED_INTERIX_STATVFS): Spell file systems with
27768         two words, not one.
27770 2012-01-16  Jim Meyering  <meyering@redhat.com>
27772         bootstrap: add a FIXME comment to ensure we eventually remove the hack
27773         * build-aux/bootstrap (gnulib_tool_options): Add comment.
27775 2012-01-16  Eric Blake  <eblake@redhat.com>
27777         bootstrap: cater to autoconf 2.59
27778         * build-aux/bootstrap (AUTORECONF): Work even when --no-recursive
27779         is not available.
27781         bootstrap: properly check for libtool
27782         * build-aux/bootstrap (libtoolize): Also run libtool when older
27783         usage is detected.
27785 2012-01-15  Bruno Haible  <bruno@clisp.org>
27787         Improve support for MSVC 9.
27788         * lib/unistd.in.h: Include <io.h> when needed to avoid redefinition
27789         clashes on MSVC.
27790         * lib/fcntl.in.h: Likewise.
27791         * lib/stdlib.in.h: Likewise.
27792         * lib/sys_stat.in.h: Likewise.
27794 2011-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
27796         gnupload: we hold the master copy of this script now
27797         For motivation and more information, see:
27798         <http://lists.gnu.org/r/bug-gnulib/2012-01/msg00222.html>
27799         * build-aux/gnupload: Make it clear in the heading comments that the
27800         master copy of this file is maintained by gnulib.  Since we are at
27801         it, bump its copyright year and ...
27802         ($scriptversion): ... the date in its version.
27803         ($usage): Patches and bug reports should be sent to the gnulib list,
27804         not the automake one.
27805         * config/srclist.txt: Don't try to sync 'gnupload' from automake
27806         anymore.
27808 2012-01-15  Bruno Haible  <bruno@clisp.org>
27810         Fix module 'random'.
27811         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether random, srandom,
27812         initstate, setstate are declared.
27814 2012-01-14  Bruno Haible  <bruno@clisp.org>
27816         Tests for module 'random'.
27817         * modules/random-tests: New file.
27818         * tests/test-random.c: New file, based on tests/test-random_r.c.
27820         New module 'random'.
27821         * lib/stdlib.in.h (random, srandom, initstate, setstate): New
27822         declarations.
27823         * lib/random.c: New file, based on glibc/stdlib/random.c.
27824         * m4/random.m4: New file.
27825         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RANDOM,
27826         HAVE_RANDOM.
27827         * modules/stdlib (Makefile.am): Substitute GNULIB_RANDOM, HAVE_RANDOM.
27828         * modules/random: New file.
27829         * config/srclist.txt: Add an entry for random.c.
27830         * doc/posix-functions/random.texi: Mention the 'random' module.
27831         * doc/posix-functions/initstate.texi: Likewise.
27832         * doc/posix-functions/setstate.texi: Likewise.
27833         * doc/posix-functions/srandom.texi: Likewise.
27835 2012-01-12  Bruno Haible  <bruno@clisp.org>
27837         random_r: Use common idioms.
27838         * lib/random_r.c: Include <stdlib.h> first.
27840         random_r: Override incompatible API on AIX, OSF/1.
27841         * lib/stdlib.in.h (random_r, srandom_r, initstate_r, setstate_r):
27842         Override the system function if REPLACE_RANDOM_R is 1.
27843         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Require AC_CANONICAL_HOST. On AIX
27844         and OSF/1, set REPLACE_RANDOM_R.
27845         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_RANDOM_R.
27846         * modules/stdlib (Makefile.am): Substitute REPLACE_RANDOM_R.
27847         * modules/random_r (configure.ac): Test REPLACE_RANDOM_R.
27848         * doc/glibc-functions/initstate_r.texi: Mention the AIX, OSF/1 problem.
27849         * doc/glibc-functions/random_r.texi: Likewise.
27850         * doc/glibc-functions/setstate_r.texi: Likewise.
27852         random_r: Support for MSVC 9.
27853         * lib/random_r.c: Include stdint.h, not inttypes.h.
27855 2012-01-12  Eric Blake  <eblake@redhat.com>
27857         inet_ntop: guard extra work by IF_LINT
27858         * lib/inet_ntop.c (inet_ntop6): Mark spurious initialization, for
27859         better code generation when not checking for warnings.
27860         Suggested by Paul Eggert and Jim Meyering.
27862         strptime: fix regression on mingw
27863         * lib/strptime.c (__strptime_internal) [!_LIBC && !HAVE_TM_GMTOFF]:
27864         Fix regression.  Reported by Bruno Haible.
27866 2012-01-11  Reuben Thomas  <rrt@sc3d.org>
27867             Bruno Haible  <bruno@clisp.org>
27869         copy-file: add error-code-returning variant.
27870         * lib/copy-file.h (GL_COPY_ERR_*): New enumeration items.
27871         (qcopy_file_preserving): New declaration.
27872         * lib/copy-file.c (qcopy_file_preserving): Renamed from
27873         copy_file_preserving. Change return type to 'int'. Don't emit an error
27874         message here.
27875         (copy_file_preserving): New function.
27876         * tests/test-copy-file.c: Include <stdlib.h>.
27877         (main): Test qcopy_file_preserving if the environment variable
27878         NO_STDERR_OUTPUT is set.
27879         * tests/test-copy-file-1.sh: Invoke test-copy-file.sh a second time,
27880         with NO_STDERR_OUTPUT
27881         * tests/test-copy-file-2.sh: Likewise.
27883 2012-01-10  Bruno Haible  <bruno@clisp.org>
27885         copy-file: Use 'quote' module consistently.
27886         * lib/copy-file.c (copy_file_preserving): Use quote().
27888         copy-file: Refactor.
27889         * lib/copy-file.c: Include quote.h.
27890         (copy_file_preserving): Call qcopy_acl instead of copy_acl. Emit error
27891         message here.
27892         * modules/copy-file (Depends-on): Add quote.
27894         acl: Export qcopy_acl.
27895         * lib/acl.h (qcopy_acl): New declaration.
27896         * lib/copy-acl.c (qcopy_acl): Make non-static.
27898         acl: Rename a local variable.
27899         * lib/set-mode-acl.c (set_acl): Use same variable name as in copy_acl.
27901         acl: Align return values of copy_acl and qcopy_acl.
27902         * lib/copy-acl.c (copy_acl): Return the same value as qcopy_acl,
27903         maybe < -1.
27905 2012-01-11  Eric Blake  <eblake@redhat.com>
27907         strptime: silence gcc warnings
27908         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT],
27909         [!_LIBC && !HAVE_TM_GMTOFF]: Avoid unused variables.
27910         Reported by Daniel P. Berrange.
27912         inet_ntop: silence gcc warning
27913         * lib/inet_ntop.c (inet_ntop6): Initialize best.base.
27914         Reported by Daniel P. Berrange.
27916 2012-01-11  Dmitry V. Levin  <ldv@altlinux.org>
27918         getloadavg test: skip the test on GNU/Linux without /proc mounted
27919         GNU libc implements getloadavg(3) on Linux by parsing /proc/loadavg
27920         file.  When /proc is not mounted, it always fails with ENOENT.
27921         * tests/test-getloadavg.c (main): Treat ENOENT return code from
27922         getloadavg(3) the same way as ENOSYS and ENOTSUP.
27924 2012-01-10  Bruno Haible  <bruno@clisp.org>
27926         regex: Avoid link error on MSVC 9.
27927         * modules/regex (Depends-on): Add wctype.
27929 2012-01-10  Bruno Haible  <bruno@clisp.org>
27931         doc: Mention --with-tests option.
27932         * gnulib-tool (func_usage): Suggest --with-tests for --test etc.
27933         * doc/gnulib.texi (Extra tests modules): Mention the need to pass
27934         --with-tests.
27935         Reported by Reuben Thomas.
27937 2012-01-10  Reuben Thomas  <rrt@sc3d.org>
27939         users.txt: order package names lexicographically.
27940         * users.txt: Order package names lexicographically.
27942 2012-01-10  Jim Meyering  <meyering@redhat.com>
27944         maint.mk: fix description in comment
27945         * top/maint.mk (require_exactly_one_NL_at_EOF_): Fix comment.
27947         ignore-value: remove deprecated ignore_ptr function
27948         * lib/ignore-value.h (ignore_ptr): Remove deprecated function.
27949         * NEWS: Note this.
27951 2012-01-09  Jim Meyering  <meyering@redhat.com>
27953         test-init.sh: avoid a subshell
27954         * tests/test-init.sh: Remove protective subshell.
27955         Suggested by Bernhard Voelker.  While a subshell is normally
27956         required to protect against older shells (Solaris, FreeBSD) that
27957         warn about a missing program before performing redirection, the
27958         shell-selection tests performed by init.sh probably exclude any
27959         offending shell.
27961 2012-01-08  Bruno Haible  <bruno@clisp.org>
27963         setlocale tests: Avoid test failure on Solaris 11.0.
27964         * tests/test-setlocale2.sh: Use 'env' to set the LC_ALL environment
27965         variable.
27967 2012-01-08  Bruno Haible  <bruno@clisp.org>
27969         posix_spawn_file_actions_addopen: Work around Solaris 11.0 bug.
27970         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
27971         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
27972         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): New
27973         macro.
27974         * lib/spawn.in.h (posix_spawn_file_actions_addopen): Test
27975         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
27976         * lib/spawn_faction_addopen.c: Add workaround implementation if
27977         HAVE_WORKING_POSIX_SPAWN.
27978         * modules/spawn (Makefile): Substitute
27979         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
27980         * modules/posix_spawn_file_actions_addopen (configure.ac): Invoke
27981         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN. Test
27982         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
27983         (Depends-on): Update conditions.
27984         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
27985         the Solaris 11 bug.
27987 2012-01-08  Bruno Haible  <bruno@clisp.org>
27989         posix_spawn_file_actions_adddup2: Work around Solaris 11.0 bug.
27990         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
27991         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
27992         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): New
27993         macro.
27994         * lib/spawn.in.h (posix_spawn_file_actions_adddup2): Test
27995         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
27996         * lib/spawn_faction_adddup2.c: Add workaround implementation if
27997         HAVE_WORKING_POSIX_SPAWN.
27998         * modules/spawn (Makefile): Substitute
27999         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
28000         * modules/posix_spawn_file_actions_adddup2 (configure.ac): Invoke
28001         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2. Test
28002         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
28003         (Depends-on): Update conditions.
28004         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
28005         the Solaris 11 bug.
28007 2012-01-08  Bruno Haible  <bruno@clisp.org>
28009         posix_spawn_file_actions_addclose: Work around Solaris 11.0 bug.
28010         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
28011         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
28012         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Define
28013         HAVE_WORKING_POSIX_SPAWN.
28014         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): New macro.
28015         * lib/spawn.in.h (posix_spawn_file_actions_addclose): Test
28016         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
28017         * lib/spawn_faction_addclose.c: Add workaround implementation if
28018         HAVE_WORKING_POSIX_SPAWN.
28019         * modules/spawn (Makefile): Substitute
28020         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
28021         * modules/posix_spawn_file_actions_addclose (configure.ac): Invoke
28022         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE. Test
28023         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
28024         (Depends-on): Update conditions.
28025         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
28026         the Solaris 11 bug.
28028 2012-01-08  Bruno Haible  <bruno@clisp.org>
28030         doc: Update for Solaris 11.0.
28031         * doc/*/*.texi: Mention Solaris 11.0 where appropriate.
28032         * m4/printf.m4: Update comments.
28034 2012-01-08  Bruno Haible  <bruno@clisp.org>
28036         mktime: Avoid compilation error on Solaris 11.
28037         * lib/mktime.c (WRAPV): Define to 0 on all non-glibc systems.
28039 2012-01-08  Bruno Haible  <bruno@clisp.org>
28041         doc: Small fix.
28042         * doc/posix-headers/nl_types.texi: Correct platforms list.
28044 2012-01-08  Simon Josefsson  <simon@josefsson.org>
28046         Add lgpl-3.0 module.
28047         * MODULES.html.sh (Support for building documentation): Add
28048         lgpl-3.0.
28049         * modules/lgpl-3.0: New file.
28051 2012-01-08  Jim Meyering  <meyering@redhat.com>
28053         select.c: indent with spaces, not TABs
28054         * lib/select.c (windows_poll_handle): Indent with spaces, not TABs.
28056 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
28058         quotearg: do not use grave accent for left quote
28059         * lib/quotearg.c (gettext_quote): Map "`" to "'" for
28060         locale_quoting_style.
28061         (quotearg_buffer_restyled): Fix example.
28062         * tests/test-quotearg-simple.c (results_g): Adjust test vectors.
28064 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
28066         quotearg: fall back to Unicode single quotes in UTF-8, GB-18030 locales
28067         Most programs do not have translation catalogs for English and much
28068         less separate catalogs for British and American English.  Drop the
28069         suggestion to translators about these two, and provide it
28070         automatically for Unicode locales.  Like most programs, even those
28071         using American English, we use single quotation marks.  This conflicts
28072         with the American typographic convention, but works better when you
28073         cite the entire error message within double quotes.  It also tries not
28074         to clash with established practice and with what non-gnulib programs
28075         will usually do.
28076         * lib/quotearg.c (gettext_quote): Hard-code U+2018 and U+2019 when
28077         using an UTF-8 or GB-18030 locale.  The list of other locales with
28078         quotes was provided by Bruno Haible.
28079         (quotearg_buffer_restyled): Adjust instructions to translators.
28080         * lib/quotearg.h (locale_quoting_style): Do not put an example in the
28081         text, since this would be wrong when using Unicode.
28082         * modules/quotearg: Depend on c-strcaseeq.
28084 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
28086         quotearg: fix Wikipedia link
28087         * lib/quotearg.c (quotearg_buffer_restyled): Fix link to Wikipedia.
28089 2012-01-07  Simon Josefsson  <simon@josefsson.org>
28091         Fix for mingw with MSVC9.
28092         * m4/ld-version-script.m4: Check that compiler rejects version
28093         scripts with syntax errors.  Reported by Bruno Haible
28094         <bruno@clisp.org>.
28096 2012-01-06  Bruno Haible  <bruno@clisp.org>
28098         Talk about "native Windows API", not "Woe32".
28099         * lib/accept4.c: Update comments to mention native Windows.
28100         * lib/execute.c: Likewise.
28101         * lib/fatal-signal.c: Likewise.
28102         * lib/localcharset.c: Likewise.
28103         * lib/nanosleep.c: Likewise.
28104         * lib/nl_langinfo.c: Likewise.
28105         * lib/pclose.c: Likewise.
28106         * lib/pipe-filter-gi.c: Likewise.
28107         * lib/pipe-filter-ii.c: Likewise.
28108         * lib/pipe.c: Likewise.
28109         * lib/pipe2.c: Likewise.
28110         * lib/popen.c: Likewise.
28111         * lib/progreloc.c: Likewise.
28112         * lib/relocatable.c: Likewise.
28113         * lib/sigaction.c: Likewise.
28114         * lib/sigprocmask.c: Likewise.
28115         * lib/spawn-pipe.h: Likewise.
28116         * lib/spawn-pipe.c: Likewise.
28117         * lib/spawni.c: Likewise.
28118         * lib/stat-time.h: Likewise.
28119         * lib/w32spawn.h: Likewise.
28120         * tests/test-isatty.c: Likewise.
28121         * lib/config.charset: More comments.
28122         * doc/gnulib-intro.texi: Mention native Windows.
28123         * doc/posix-functions/_Exit_C99.texi: Likewise.
28124         * doc/posix-headers/fcntl.texi: Likewise.
28126 2012-01-06  Guillem Jover  <guillem@hadrons.org>  (tiny change)
28128         argp: Avoid crash if translator uses % characters in a translation.
28129         * lib/argp-parse.c (argp_version_parser): Use a "%s" format string.
28130         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
28132 2012-01-06  Paul Eggert  <eggert@cs.ucla.edu>
28134         doc: C11 and C++11 are now official
28135         * doc/posix-headers/assert.texi, doc/posix-headers/stdalign.texi:
28136         * doc/verify.texi, stdalign.in.h, verify.h, m4/gnulib-common.m4:
28137         * m4/stdalign.m4, modules/assert-h, modules/snippet/_Noreturn:
28138         * modules/stdalign:
28139         Replace references to draft C1X to C11, and to draft C++0X to C++11.
28141 2012-01-06  Bruno Haible  <bruno@clisp.org>
28143         uc-is-grapheme-break tests: Tweak.
28144         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Fix an error
28145         message.
28147 2012-01-06  Bruno Haible  <bruno@clisp.org>
28149         test-init.sh: correct the test for diff -u
28150         * tests/test-init.sh: Also redirect stdout to /dev/null.
28152 2012-01-05  Paul Eggert  <eggert@cs.ucla.edu>
28154         Use ', not `, for quoting output.
28155         * build-aux/announce-gen (usage, sizes, print_news_deltas)
28156         (print_changelog_deltas, get_tool_versions, main program):
28157         * build-aux/git-version-gen:
28158         * build-aux/gitlog-to-changelog (usage, parse_amend_file):
28159         * build-aux/move-if-change (help):
28160         * build-aux/useless-if-before-free (usage, main program):
28161         * check-module (parse_module_file, usage)
28162         (find_included_lib_files, check_module):
28163         * lib/argmatch.c (main) [TEST]:
28164         * lib/argp-help.c (_help):
28165         * lib/getopt1.c (main) [TEST]:
28166         * lib/git-merge-changelog.c (usage):
28167         * lib/xstrtol-error.c (xstrtol_error):
28168         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
28169         * m4/argz.m4 (gl_FUNC_ARGZ):
28170         * m4/bison.m4 (gl_BISON):
28171         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU):
28172         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
28173         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
28174         * m4/fpending.m4 (gl_PREREQ_FPENDING):
28175         * m4/gc-random.m4 (gl_GC_RANDOM):
28176         * m4/intl.m4 (gt_CHECK_DECL):
28177         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK):
28178         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT)
28179         (AC_TYPE_UNSIGNED_LONG_LONG_INT):
28180         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS):
28181         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
28182         * m4/onceonly.m4 (AC_CHECK_FUNCS_ONCE):
28183         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION):
28184         * tests/test-dirname.c (main):
28185         * tests/test-getpass.c (main):
28186         * tests/test-iconvme.c (main):
28187         * tests/test-parse-datetime.c (LOG):
28188         * tests/test-xstrtoimax.sh:
28189         * tests/test-xstrtol.sh:
28190         * tests/test-xstrtoll.sh:
28191         * tests/test-xstrtoumax.sh:
28192         * tests/unigbrk/test-uc-is-grapheme-break.c (main):
28193         * top/GNUmakefile (abort-due-to-no-makefile):
28194         Quote 'like this', not `like this', as per the recent change to
28195         the GNU coding standards.
28197 2012-01-05  Bruno Haible  <bruno@clisp.org>
28199         strtoimax: Don't force a replacement on systems where intmax_t is int.
28200         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Use a different test if
28201         'intmax_t' is not larger than 'int'.
28202         Reported by Pádraig Brady <P@draigBrady.com>.
28204 2012-01-05  Bruno Haible  <bruno@clisp.org>
28206         doc: Mention NetBSD bugs.
28207         * doc/posix-functions/*printf.texi: Mention a NetBSD 5.1 bug.
28208         * doc/posix-functions/nl_langinfo.texi: Mention another NetBSD 5.1 bug.
28210 2012-01-05  Bruno Haible  <bruno@clisp.org>
28212         strtoumax tests: Enhance tests.
28213         * tests/test-strtoumax.c (main): Add tests for large values.
28215 2012-01-05  Bruno Haible  <bruno@clisp.org>
28217         strtoimax: Work around AIX 5.1 bug.
28218         * lib/inttypes.in.h (strtoimax): Allow overriding the system's
28219         definition.
28220         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Check against the AIX 5.1 bug.
28221         Set HAVE_STRTOIMAX.
28222         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize
28223         REPLACE_STRTOIMAX.
28224         * modules/inttypes-incomplete (Makefile.am): Substitute
28225         REPLACE_STRTOIMAX.
28226         * modules/strtoimax (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
28227         (configure.ac): Test HAVE_STRTOIMAX, REPLACE_STRTOIMAX.
28228         (Depends-on): Update conditions.
28229         * tests/test-strtoimax.c (main): Add tests for large values.
28230         * doc/posix-functions/strtoimax.texi: Mention the AIX 5.1 bug.
28232 2012-01-05  Bruno Haible  <bruno@clisp.org>
28234         inttypes: Modernize.
28235         * lib/inttypes.in.h (strtoimax, strtoumax): Use the C++ safe idioms.
28236         * modules/inttypes-incomplete (Depends-on): Add snippet/c++defs.
28237         (Makefile.am): Update inttypes.h rule.
28239 2012-01-05  Jim Meyering  <meyering@redhat.com>
28241         init.sh: don't waste a subshell just to redirect stderr
28242         * tests/init.sh: In testing for diff -u and diff -c, use a
28243         stderr-redirecting exec inside `...` rather than a subshell.
28245         test-init.sh: avoid failure on HP-UX 11.00
28246         * tests/test-init.sh: Skip "diff -u"-comparing step when compare
28247         resolves to diff -c or cmp.  Reported by Bruno Haible.
28249 2012-01-05  Bruno Haible  <bruno@clisp.org>
28251         Tests for module 'strtoull'.
28252         * modules/strtoull-tests: New file.
28253         * tests/test-strtoull.c: New file, based on tests/test-strtoumax.c.
28255 2012-01-05  Bruno Haible  <bruno@clisp.org>
28257         Tests for module 'strtoll'.
28258         * modules/strtoll-tests: New file.
28259         * tests/test-strtoll.c: New file, based on tests/test-strtoimax.c.
28261 2012-01-05  Bruno Haible  <bruno@clisp.org>
28263         Tests for module 'strtoul'.
28264         * modules/strtoul-tests: New file.
28265         * tests/test-strtoul.c: New file, based on tests/test-strtoumax.c.
28267 2012-01-05  Bruno Haible  <bruno@clisp.org>
28269         Tests for module 'strtol'.
28270         * modules/strtol-tests: New file.
28271         * tests/test-strtol.c: New file, based on tests/test-strtoimax.c.
28273 2012-01-04  Jim Meyering  <meyering@redhat.com>
28275         test-init.sh: accommodate Solaris 5.10's different diff -u output
28276         * tests/test-init.sh: Also exempt @@ lines from the comparison
28277         of diff output, since Solaris 5.10 and GNU diff formats differ.
28278         Reported by Stefano Lattarini.
28280 2012-01-04  Paul Eggert  <eggert@cs.ucla.edu>
28282         test-posixtm: don't assume signed integer wraparound
28283         * tests/test-posixtm.c (main): Don't assume wraparound semantics
28284         after signed integer overflow.  Inspired by (though it may not
28285         fix) Bruno Haible's bug report in
28286         <http://lists.gnu.org/r/bug-gnulib/2012-01/msg00066.html>.
28288         Spell out "Windows 9x" and "Windows XP".
28289         * lib/poll.c, lib/select.c: In comments, replace "Win9x" with
28290         "Windows 9x" and "WinXP" with "Windows XP".
28292 2012-01-04  Jim Meyering  <meyering@redhat.com>
28294         test-vc-list-files-cvs.sh: remove obsolete comment
28295         * tests/test-vc-list-files-cvs.sh: Remove obsolete comment about
28296         double exit.  Now that's all encapsulated via skip_ and Exit.
28298 2012-01-04  Bruno Haible  <bruno@clisp.org>
28300         Talk about "native Windows API", not "Win32".
28301         * lib/classpath.c: Update comments to mention native Windows.
28302         * lib/csharpexec.c: Likewise.
28303         * lib/dup2.c: Likewise.
28304         * lib/error.c: Likewise.
28305         * lib/fcntl.c: Likewise.
28306         * lib/filename.h: Likewise.
28307         * lib/findprog.c: Likewise.
28308         * lib/get-rusage-as.c: Likewise.
28309         * lib/get-rusage-data.c: Likewise.
28310         * lib/getpagesize.c: Likewise.
28311         * lib/javaexec.c: Likewise.
28312         * lib/msvc-inval.c: Likewise.
28313         * lib/msvc-nothrow.c: Likewise.
28314         * lib/nanosleep.c: Likewise.
28315         * lib/nonblocking.c: Likewise.
28316         * lib/printf-parse.c: Likewise.
28317         * lib/setlocale.c: Likewise.
28318         * lib/sigaction.c: Likewise.
28319         * lib/strerror_r.c: Likewise.
28320         * lib/tmpdir.c: Likewise.
28321         * lib/vasnprintf.c: Likewise.
28322         * lib/w32spawn.h: Likewise.
28323         * lib/waitpid.c: Likewise.
28324         * lib/stdio.in.h (fdopen, fopen, freopen): Likewise.
28325         * m4/locale-ar.m4: Likewise.
28326         * m4/locale-fr.m4: Likewise.
28327         * m4/locale-ja.m4: Likewise.
28328         * m4/locale-tr.m4: Likewise.
28329         * m4/locale-zh.m4: Likewise.
28330         * m4/printf.m4: Likewise.
28331         * tests/test-cloexec.c: Likewise.
28332         * tests/test-copy-acl.sh: Likewise.
28333         * tests/test-copy-file.sh: Likewise.
28334         * tests/test-file-has-acl.sh: Likewise.
28335         * tests/test-set-mode-acl.sh: Likewise.
28336         * tests/test-dup-safer.c: Likewise.
28337         * tests/test-dup2.c: Likewise.
28338         * tests/test-dup3.c: Likewise.
28339         * tests/test-fcntl.c: Likewise.
28340         * tests/test-nonblocking-pipe.h: Likewise.
28341         * tests/test-nonblocking-socket.h: Likewise.
28342         * tests/test-pipe.c: Likewise.
28343         * tests/test-pipe2.c: Likewise.
28344         * tests/test-spawn-pipe-child.c: Likewise.
28345         * doc/acl-resources.txt: Likewise.
28346         * lib/getaddrinfo.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
28347         * tests/test-poll.c (WINDOWS_NATIVE): Likewise.
28348         * tests/test-select.h (WINDOWS_NATIVE): Likewise.
28349         * lib/localcharset.c: Update comments to mention native Windows.
28350         (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
28351         * lib/localename.c: Likewise.
28352         * lib/progreloc.c: Likewise.
28353         * lib/relocatable.c: Likewise.
28354         * lib/poll.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
28355         (windows_compute_revents): Renamed from win32_compute_revents.
28356         (windows_compute_revents_socket): Renamed from
28357         win32_compute_revents_socket.
28358         * lib/select.c: Update comments to mention native Windows.
28359         (windows_poll_handle): Renamed from win32_poll_handle.
28360         * m4/threadlib.m4: Update comments to mention native Windows.
28361         (gl_THREADLIB_EARLY_BODY, gl_THREADLIB_BODY): Expect
28362         --enable-threads=windows instead of --enable-threads=win32. Set
28363         USE_WINDOWS_THREADS, not USE_WIN32_THREADS.
28364         * lib/glthread/lock.h: Update comments to mention native Windows.
28365         (USE_WINDOWS_THREADS): Renamed from USE_WIN32_THREADS.
28366         * lib/glthread/lock.c (USE_WINDOWS_THREADS): Renamed from
28367         USE_WIN32_THREADS.
28368         * lib/glthread/cond.h (USE_WINDOWS_THREADS): Likewise.
28369         * lib/glthread/cond.c (USE_WINDOWS_THREADS): Likewise.
28370         * lib/glthread/thread.h (USE_WINDOWS_THREADS): Likewise.
28371         * lib/glthread/thread.c (USE_WINDOWS_THREADS): Likewise.
28372         * lib/glthread/tls.h (USE_WINDOWS_THREADS): Likewise.
28373         * lib/glthread/tls.c (USE_WINDOWS_THREADS): Likewise.
28374         * lib/glthread/yield.h (USE_WINDOWS_THREADS): Likewise.
28375         * tests/test-cond.c (USE_WINDOWS_THREADS): Likewise.
28376         * tests/test-thread_create.c (USE_WINDOWS_THREADS): Likewise.
28377         * tests/test-lock.c (USE_WINDOWS_THREADS): Likewise.
28378         (TEST_WINDOWS_THREADS): Renamed from TEST_WIN32_THREADS.
28379         * tests/test-tls.c: Likewise.
28380         Rationale:
28381         Microsoft renamed the "Win32 API" to "Windows API", as it is available
28382         on both 32-bit and 64-bit Windows systems.
28383         But in gnulib, we treat Cygwin like a Unix platform, therefore the main
28384         line of distinction is between "native Windows" on one side and Unix/
28385         POSIX systems on the other side. More details in
28386         <https://lists.gnu.org/r/bug-gnulib/2012-01/msg00027.html>.
28387         Suggested by Paul Eggert.
28389 2012-01-03  Bruno Haible  <bruno@clisp.org>
28391         isatty: Support for MSVC 9.
28392         * doc/posix-functions/isatty.texi: Mention the MSVC problem.
28393         * lib/isatty.c: Include <errno.h>, msvc-inval.h.
28394         (_isatty_nothrow): New function.
28395         (isatty): Use it instead of _isatty.
28396         (IsConsoleHandle): Add comment, from Paolo Bonzini.
28397         * lib/poll.c (IsConsoleHandle): Likewise.
28398         * lib/select.c (IsConsoleHandle): Likewise.
28399         * m4/isatty.m4 (gl_FUNC_ISATTY): Fix comment. Reported by Eli Zaretskii.
28400         (gl_PREREQ_ISATTY): New macro.
28401         * modules/isatty (Depends-on): Add msvc-inval.
28402         (configure.ac): Invoke gl_PREREQ_ISATTY.
28404 2012-01-03  Jim Meyering  <meyering@redhat.com>
28406         maint.mk: remove temporary transition aid from over 1.5 years ago
28407         * top/maint.mk (_prohibit_regexp): Remove definition whose sole
28408         purpose was to aid in the transition (avoiding silent malfunction)
28409         from that old name to the new _sc_search_regexp.  This shim was
28410         added by commit 219c504b.
28412         init.sh: do not try to accommodate compare arguments starting with "-"
28413         * tests/init.sh (compare_dev_null_): Do not try to accommodate
28414         compare arguments that start with "-".  Besides, we do not worry
28415         about this when invoking diff or cmp; why start now with sed?
28416         Using "--" to separate options from argument would trigger sed
28417         failure in at least Solaris 7, HP-UX 11.00, IRIX 6.5, FreeBSD 6.4,
28418         OpenBSD 4.9 and NetBSD 5.1.  Reported by Bruno Haible.
28420 2012-01-02  Bruno Haible  <bruno@clisp.org>
28422         Enhance tests for module 'isatty'.
28423         * modules/isatty-tests (Depends-on): Add pipe-posix.
28424         * tests/test-isatty.c: Include <fcntl.h>.
28425         (DEV_NULL): New macro.
28426         (main): Test the resut of isatty() also on regular files, pipes, and
28427         /dev/null.
28429         New module 'isatty'.
28430         * lib/unistd.in.h (isatty): New declaration.
28431         * lib/isatty.c: New file, based on an idea of
28432         Bastien Roucariès <roucaries.bastien@gmail.com>.
28433         * m4/isatty.m4: New file.
28434         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether isatty is declared.
28435         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ISATTY, REPLACE_ISATTY.
28436         * modules/unistd (Makefile.am): Substitute GNULIB_ISATTY,
28437         REPLACE_ISATTY.
28438         * modules/isatty: New file.
28439         * doc/posix-functions/isatty.texi: Mention the new module.
28440         Suggested by Paolo Bonzini.
28442 2012-01-02  Bruno Haible  <bruno@clisp.org>
28444         canonicalize: Tweak 2011-12-29 commit.
28445         * lib/canonicalize.c (canonicalize_filename_mode): Fix typo in comment.
28446         * lib/canonicalize.h (canonicalize_filename_mode): Update specification.
28448 2012-01-02  Jim Meyering  <meyering@redhat.com>
28450         gitlog-to-changelog: describe input syntax in --help output
28451         * build-aux/gitlog-to-changelog (usage) [SPECIAL SYNTAX]: New section.
28453         gitlog-to-changelog: fix typo in --help: show backslash before email @
28454         * build-aux/gitlog-to-changelog (usage): An "@" was backslash-escaped
28455         in sources, but not in actual output.
28457 2011-12-30  Jim Meyering  <meyering@redhat.com>
28459         gitlog-to-changelog: don't malfunction when name contains %-directive
28460         * build-aux/gitlog-to-changelog (main): Don't let a %-directive
28461         in a name string cause trouble.  E.g., with a user name of "%s",
28462         gitlog-to-changelog would fail with "Missing argument in sprintf at..."
28464 2011-12-30  Gary V. Vaughan  <gary@gnu.org>
28466         gitlog-to-changelog: Copyright-paperwork-exempt: yes == (tiny change)
28467         * build-aux/gitlog-to-changelog (main): Map the string, at beginning
28468         of line in a git commit log, "Copyright-paperwork-exempt: yes", to
28469         the "  (tiny change)" notation that is appended to the standard
28470         ChangeLog "date  name  email" header line.
28472 2012-01-01  Jim Meyering  <meyering@redhat.com>
28474         test-framework-sh: init.sh: fix "make dist" failure
28475         When using gnulib-tool's --with-tests option and any module that
28476         depends on test-framework-sh, "make dist" would fail due to the
28477         lack of init.sh *in lib/*.  The EXTRA_DIST += init.sh is required
28478         in the gltests directory, and not in the gllib/ directory.
28479         One way to work around that is to move the EXTRA_DIST += init.sh
28480         from the primary module to the -tests one:
28481         * modules/test-framework-sh-tests (EXTRA_DIST): Add init.sh here, ...
28482         * modules/test-framework-sh (Makefile.am): ...not here.
28483         Reported by Tom G. Christensen in
28484         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29519
28486         version-etc: update copyright year reported by --version
28487         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2012.
28489 2011-12-31  Pádraig Brady  <P@draigBrady.com>
28491         canonicalize: only stat() if required
28492         * lib/canonicalize.c (canonicalize_filename_mode):
28493         Avoid calling l?stat() when both CAN_MISSING,
28494         and CAN_NOLINKS are set, as we neither need
28495         to resolve symlinks or test component existence.
28497 2011-12-31  Paul Eggert  <eggert@cs.ucla.edu>
28499         doc: cover st_ino issues once; add OpenVMS etc.
28500         * doc/posix-functions/stat.texi (stat):
28501         * doc/posix-functions/lstat.texi (lstat):
28502         * doc/posix-functions/fstatat.texi (fstatat):
28503         * doc/posix-functions/fstat.texi (fstat):
28504         Move general 'struct stat' stuff to sys_stat.texi,
28505         leaving behind a pointer.
28506         * doc/posix-headers/sys_stat.texi (sys/stat.h):
28507         Merge duplicate info about 'struct stat' problems into here.
28508         Mention issues with OpenVMS, GNU/Linux NFS, NetApp, ClearCase,
28509         and suggest partial workarounds.
28511         same-inode: port to OpenVMS
28512         * lib/same-inode.h (SAME_INODE): Port to OpenVMS by checking all
28513         three st_ino values.
28515 2011-12-30  Pádraig Brady  <P@draigBrady.com>
28517         canonicalize: fix references to stat() and lstat()
28518         * lib/canonicalize.c (canonicalize_filename_mode):
28519         Ensure references always resolve to a replacement
28520         function if required (even via a macro).
28522 2011-12-30  Jim Meyering  <meyering@redhat.com>
28524         gitlog-to-changelog: remove a little duplication
28525         * build-aux/gitlog-to-changelog (main): Grep @lines once,
28526         rather than twice.
28528 2011-12-29  Pádraig Brady  <P@draigBrady.com>
28530         canonicalize: add support for not resolving symlinks
28531         * lib/canonicalize.h: Add the CAN_NOLINKS flag to
28532         indicate we don't want to follow symlinks.  Also
28533         provide CAN_MODE_MASK to aid setting these existing
28534         mutually exclusive values.
28535         * lib/canonicalize.c (canonicalize_filename_mode):
28536         Extract the flags from can_mode parameter, which
28537         are currently just used to select between stat()
28538         and lstat().  Also ensure that mutually exclusive
28539         values are flagged immediately as invalid.
28540         * tests/test-canonicalize.c: Verify symlinks are
28541         not followed, and that invalid flag combinations
28542         are diagnosed.
28544 2011-12-25  Jim Meyering  <meyering@redhat.com>
28546         gitlog-to-changelog: do not clump multi-paragraph entries
28547         Identical header lines (date,name,email+coauthors) are suppressed,
28548         thus putting all entries with those same characteristics under
28549         a single header.  However, when a log entry consists of two or
28550         more paragraphs, it may not be clear where it starts and ends.
28551         This change makes it so that such an entry is always separated
28552         from others by a header line, even when that header would
28553         otherwise be suppressed.
28554         * build-aux/gitlog-to-changelog: Implement the above.
28555         Inspired by a related request from Stefano Lattarini in
28556         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29456
28558 2011-12-25  Paul Eggert  <eggert@cs.ucla.edu>
28560         announce-gen: fix `cmd' typo in diagnostic
28561         * build-aux/announce-gen (print_changelog_deltas): Fix typo in
28562         diagnostic: a missing '$' meant that the command was not output.
28564 2011-12-23  Jim Meyering  <meyering@redhat.com>
28566         test-framework-sh: distribute init.sh
28567         * modules/test-framework-sh (EXTRA_DIST): Append init.sh.
28568         Otherwise, "make -C gnulib-tests check" (at least in grep) would
28569         fail due to the lack of init.sh.
28571         maint: remove explicit Files: tests/init.sh; depend on test-framework-sh
28572         * modules/atexit-tests: Rather than listing tests/init.sh,
28573         now that there's a module for it, simply depend on that new module.
28574         * modules/closein-tests: Likewise.
28575         * modules/exclude-tests: Likewise.
28576         * modules/getcwd-tests: Likewise.
28577         * modules/perror-tests: Likewise.
28578         * modules/pread-tests: Likewise.
28579         * modules/pwrite-tests: Likewise.
28580         * modules/vc-list-files-tests: Likewise.
28581         * modules/verify-tests: Likewise.
28582         * modules/xalloc-die-tests: Likewise.
28583         * modules/xstrtoimax-tests: Likewise.
28584         * modules/xstrtol-tests: Likewise.
28585         * modules/xstrtoll-tests: Likewise.
28586         * modules/xstrtoumax-tests: Likewise.
28587         * modules/yesno-tests: Likewise.
28589 2011-12-22  Jim Meyering  <meyering@redhat.com>
28591         test-framework-sh: add minimal tests of init.sh's compare function
28592         * modules/test-framework-sh-tests: New file.
28593         * tests/test-init.sh: New file.
28595         test-framework-sh: new module
28596         * modules/test-framework-sh: New file.
28597         * MODULES.html.sh (Support for maintaining and releasing projects):
28598         List it.
28600         init.sh: do not emit simulated diff output to stderr
28601         * tests/init.sh (compare_dev_null_): Print to stdout, not stderr.
28603 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
28605         .gitignore: ignore gnulib.dvi and regex.info
28606         * doc/.gitignore:add gnulib.dvi and regex.info
28608 2011-12-22  Jim Meyering  <meyering@redhat.com>
28610         init.sh: correct previous change
28611         * tests/init.sh (compare): My previous change was wrong.
28612         Don't clobber "$?".  Spotted by Stefano Lattarini and Pádraig Brady.
28614         init.sh: avoid unwarranted test failure when using "set -e"
28615         * tests/init.sh (compare): Ignore nonzero exit from compare_dev_null_.
28616         Otherwise, in a test script that uses "set -e" (like many in vc-dwim)
28617         a use like "compare exp out" would get evoke an unconditional failure.
28619 2011-12-21  Alfred M. Szmidt  <ams@gnu.org>
28621         bootstrap: fix it to honor $ACLOCAL_FLAGS once again
28622         The 2011-12-17 change, commit 767ccd40, replaced a manual invocation
28623         of aclocal that used explicit $ACLOCAL_FLAGS with an invocation of
28624         autoreconf that did not.
28625         * build-aux/bootstrap: Use $ACLOCAL_FLAGS when invoking autoreconf.
28626         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
28628 2011-12-17  Jim Meyering  <meyering@redhat.com>
28630         bootstrap: remove some now-unneeded code
28631         This script arose back when gnulib-tool was young.
28632         Since then, it has seen improvements that render much of this
28633         script unnecessary.  In particular, it can now make symlinks
28634         to the files it uses.  Also, I no longer see as much value in
28635         marking files as read-only via comments.
28636         If you relied on the symlink-creation feature of the preceding
28637         version of this script, you can get most of that functionality
28638         by adding the --symlink option to the definition of
28639         gnulib_tool_option_extras in your bootstrap.conf file.
28640         * build-aux/bootstrap (AUTOPOINT, AUTORECONF): Factor out definitions.
28641         Run autopoint and libtoolize *before* gnulib-tool.
28642         After it, run an abbreviated autoreconf, rather than a loop around
28643         all tools.
28644         (slirp, bt_mark_as_generated): Remove functions.
28646 2011-12-18  Paul Eggert  <eggert@cs.ucla.edu>
28648         ftoastr: fix typo
28649         * lib/ftoastr.h: Fix misspelling in comment.
28651 2011-12-18  Reuben Thomas  <rrt@sc3d.org>
28653         * top/README-release: fix punctuation.
28655 2011-12-17  Jim Meyering  <meyering@redhat.com>
28657         bootstrap: correct the recent buildreq change
28658         The 2011-12-07 commit, 39f5f1e4, omitted some '*'s, and thus
28659         had no effect.
28660         * build-aux/bootstrap (buildreq): Bracket each search term with
28661         "*...*", so that the shell "case" statement works as intended.
28662         Add comments.
28664 2011-12-17  Bernhard Voelker  <mail@bernhard-voelker.de>
28666         build: let bootstrap resort to wget when downloading .po files
28667         * build-aux/bootstrap (download_po_files): Fallback to wget when
28668         downloading the .po files via rsync fails.  This is necessary to
28669         bootstrap from behind a strict firewall.
28671 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
28673         stdint: don't assume C++11 when compiling with g++
28674         Problem reported for glibc 2.14 and g++ by Alexander V. Lukyanov in
28675         <http://lists.gnu.org/r/bug-gnulib/2011-12/msg00099.html>.
28676         * m4/stdint.m4 (gl_STDINT_H): Don't go to extra work to make it
28677         work also in C++ before C++11, as that improperly inhibits
28678         generating a substitute stdint.h for that case.
28680 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
28682         alloca: protect comment from gnulib-tool
28683         * lib/alloca.c: Change "GCC version 2" to "GCC 2" in comment, so
28684         that gnulib-tool doesn't think it's a license, and munge it to
28685         say "GCC version 3".
28687 2011-12-15  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
28689         localcharset: Use an absolute path in TESTS_ENVIRONMENT.
28690         * modules/localcharset (LOCALCHARSET_TESTS_ENVIRONMENT): Use
28691         $(abs_top_builddir) instead of $(top_builddir).
28693 2011-12-14  Alex Nelson  <ajnelson@cs.ucsc.edu>  (tiny change)
28695         strftime-tests: also test nanoseconds
28696         * tests/test-strftime.c (T): Add a test of %N.
28698 2011-12-13  Paul Eggert  <eggert@cs.ucla.edu>
28700         inttypes, stdint: add C++11 support
28701         C++11 says there's no need to define __STDC_CONSTANT_MACROS etc.
28702         when including inttypes.h and stdint.h.  Support this change to
28703         the standard.
28704         * doc/posix-headers/inttypes.texi (inttypes.h):
28705         * doc/posix-headers/stdint.texi (stdint.h): Document this.
28706         * lib/inttypes.in.h (__STDC_FORMAT_MACROS) [! __cplusplus]:
28707         Define if not defined already, for the benefit of pre-C++11 hosts.
28708         Define the standard format macros (e.g., PRId8) always.
28709         * lib/stdint.in.h (__STDC_CONSTANT_MACROS, __STDC_LIMIT_MACROS):
28710         Likewise, if __cpluspus.  Define the standard constant and limit
28711         macros (e.g., INT8_C, INT8_MAX) always.
28712         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Do not define
28713         GL_TRIGGER_STDC_LIMIT_MACROS or __STDC_LIMIT_MACROS; no longer needed.
28714         * m4/stdint.m4 (gl_STDINT_H): Update comments about these macros.
28715         * tests/test-inttypes.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS)
28716         (__STDC_FORMAT_MACROS): Do not define, since we assume C++11 API now.
28717         * tests/test-stdint.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS):
28718         Likewise.
28720 2011-12-12  Paul Eggert  <eggert@cs.ucla.edu>
28722         nonblocking tests: Fix test failure on Linux/PPC.
28723         Suggested by Prerna Saxena in
28724         <http://lists.gnu.org/r/bug-gnulib/2011-12/msg00080.html>.
28725         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/PPC64]:
28726         Set to 1100000.
28728 2011-12-12  Jim Meyering  <meyering@redhat.com>
28730         argmatch: don't hard-code `' when listing valid option arguments
28731         * lib/argmatch.c (argmatch_valid): Don't hard-code `%s'.  Instead,
28732         use the quote function to add quotes.  Use fputs rather than
28733         fprintf for the format string with no format directive.
28735 2011-12-07  Eric Blake  <eblake@redhat.com>
28737         bootstrap: detect tools required by gnulib-tool
28738         * build-aux/bootstrap (buildreq): Provide minimum implicit
28739         dependencies.
28740         * DEPENDENCIES: Mention patch as a prereq.
28742 2011-12-04  Bruno Haible  <bruno@clisp.org>
28744         sethostname: Port to Windows platforms.
28745         * lib/sethostname.c: Provide an alternate implementation for Windows
28746         platforms.
28747         * tests/test-sethostname2.c (geteuid): Redefine on Cygwin.
28748         (main): Skip the test if sethostname() fails with EPERM. On Windows
28749         platforms, don't check the result of gethostname().
28751 2011-12-04  Bruno Haible  <bruno@clisp.org>
28752             Jim Meyering  <meyering@redhat.com>
28754         tests: Avoid spurious error message on platforms without mktemp program.
28755         * tests/init.sh (mktempd_): Run mktemp in a subcommand.
28757 2011-12-04  Bruno Haible  <bruno@clisp.org>
28759         sethostname: Fix documentation.
28760         * doc/glibc-functions/sethostname.texi: Move the Solaris problem to the
28761         "not fixed" section.
28763 2011-12-03  Bruno Haible  <bruno@clisp.org>
28765         gnulib-tool: Verify that the License field is present and non-empty.
28766         * gnulib-tool (func_get_license_raw): New function, extracted from
28767         func_get_license.
28768         (func_get_license): Use it. Warn if the module is not a test module and
28769         has no license.
28770         Suggested by Jim Meyering.
28772 2011-12-03  Bruno Haible  <bruno@clisp.org>
28774         sethostname tests: Fix link error on mingw.
28775         * tests/test-sethostname1.c: New file, extracted from
28776         tests/test-sethostname.c.
28777         * tests/test-sethostname2.c: New file, extracted from
28778         tests/test-sethostname.c.
28779         * tests/test-sethostname.c: Remove file.
28780         * modules/sethostname-tests (Files): Add tests/test-sethostname1.c,
28781         tests/test-sethostname2.c. Remove tests/test-sethostname.c.
28782         (Depends-on): Add gethostname.
28783         (Makefile.am): Compile both test-sethostname1 and test-sethostname2.
28784         Link the latter with $(GETHOSTNAME_LIB).
28786         sethostname tests: Fix compilation error on mingw.
28787         * tests/test-sethostname.c: Don't include <sys/types.h>.
28788         (geteuid): Use a dummy value without uid_t.
28789         * modules/sethostname-tests (Depends-on): Remove sys_types.
28791         sethostname tests: Avoid a gcc warning.
28792         * tests/test-sethostname.c (main): Remove an unused variable.
28794         Tweak last commit.
28795         * modules/sethostname-tests (Files): Sort by decreasing importance.
28796         (configure.ac): Check for geteuid.
28797         * tests/test-sethostname.c (main): Emit error messages to stderr. Skip
28798         the test when there's nothing to test. Drop an unnecessary cast.
28799         Improve an error message. Verify that the final sethostname() call
28800         succeeds.
28802 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
28804         Add a test suite for the sethostname module.
28805         * modules/sethostname-tests: New file.  A test program
28806         for the sethostname module.
28807         * tests/test-sethostname.c: Likewise.
28809 2011-12-03  Bruno Haible  <bruno@clisp.org>
28811         Tweak last commit.
28812         * lib/unistd.in.h (sethostname): Keep declarations in alphabetic order.
28813         Fix preprocessor directives indentation. Fix typos.
28814         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Keep alphabetic order.
28815         * modules/unistd (Makefile): Likewise.
28817 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
28819         Integrate the sethostname module into unistd.
28820         * lib/unistd.in.h: Integrate the SETHOSTNAME preprocessor handling
28821         into the unistd.h header.
28822         * m4/unistd_h.m4: Setup the autoconf handling for the SETHOSTNAME
28823         preprocessor directives.
28824         * modules/unistd: Setup the Makefile substitutions of the
28825         SETHOSTNAME preprocessor directives.
28827 2011-12-03  Bruno Haible  <bruno@clisp.org>
28829         Tweak last commit.
28830         * lib/sethostname.c: Don't include <string.h>.
28831         (sethostname): No need to copy the argument string to the stack. Don't
28832         call clearerr. Preserve errno when fprintf failed.
28833         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): Comment about HOST_NAME_MAX.
28834         Don't invoke AC_REPLACE_FUNCS.
28835         * modules/sethostname (Link): Remove empty section.
28836         * doc/glibc-functions/sethostname.texi: Gnulib does not fix the ENOSYS
28837         failure problem.
28839 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
28841         New module 'sethostname'.
28842         * lib/sethostname.c (sethostname): New file.  Provide sethostname
28843         for systems that lack it.
28844         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): New file.  Detection of
28845         sethostname declaration and function.
28846         * modules/sethostname: New file.  Define the sethostname module.
28848 2011-12-03  Bruno Haible  <bruno@clisp.org>
28850         Tweak last commit.
28851         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Trim blank line.
28853 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
28855         Split the HOST_NAME_MAX detection into a separate m4 macro.
28856         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Make this a separate
28857         macro so it can be used by the pending sethostname module.
28859 2011-12-03  Bruno Haible  <bruno@clisp.org>
28861         Fix module descriptions syntax.
28862         * modules/argv-iter (License): Fix syntax.
28863         * modules/di-set (License): Likewise.
28864         * modules/ino-map (License): Likewise.
28865         Reported by Stefano Lattarini <stefano.lattarini@gmail.com>.
28867 2011-12-02  Paul Eggert  <eggert@cs.ucla.edu>
28869         stdalign: port to Clang 3.0
28870         Problem reported by Simon Josefsson in
28871         <http://lists.gnu.org/r/bug-gnulib/2011-12/msg00005.html>.
28872         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Clang 3.0,
28873         which has <stdalign.h> but which does not define alignof.
28874         * m4/stdalign.m4 (gl_STDALIGN_H): Check for Clang 3.0's problem.
28876 2011-12-01  Eric Blake  <eblake@redhat.com>
28878         mktempd: silence dd usage
28879         * build-aux/mktempd (rand_bytes): Silence dd.
28881 2011-11-30  Simon Josefsson  <simon@josefsson.org>
28883         manywarnings: Don't mention gcc version in docstring.
28884         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Doc fix.  Suggested by
28885         Jim Meyering <meyering@redhat.com>.
28887 2011-11-30  Jim Meyering  <meyering@redhat.com>
28889         hash: mark a few floating point constants with "f" suffix
28890         * lib/hash.c (DEFAULT_GROWTH_THRESHOLD, DEFAULT_GROWTH_FACTOR)
28891         (DEFAULT_SHRINK_THRESHOLD, DEFAULT_SHRINK_FACTOR): Mark literal
28892         floating point constants with "f", since they're destined to be
28893         saved/used as "float"s.
28895 2011-11-29  Paolo Bonzini  <bonzini@gnu.org>
28897         float tests: Correct and re-enable assertion about LDBL_MIN_EXP.
28898         * tests/test-float.c (test_long_double): Correct and re-enable the
28899         assertion about LDBL_MIN_EXP that was disabled on 2011-08-31.
28901 2011-11-29  Matthew Wala  <wala1@illinois.edu>  (tiny change)
28903         Avoid subtracting two pointers that don't point into the same block.
28904         * lib/argp-help.c (hol_append): Reorder pointer subtractions so that
28905         only pointers into the same memory block are subtracted. We cannot
28906         assume that sizeof (ptrdiff_t) == sizeof (void *).
28908 2011-11-29  Eric Blake  <eblake@redhat.com>
28910         maint.mk: add syntax check for use of compare from init.sh
28911         * top/maint.mk (sc_prohibit_reversed_compare_failure): New rule,
28912         moved here from coreutils.
28914         manywarnings: drop -Wunsuffixed-float-constants
28915         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): C99 does not allow
28916         '1.0D', which is the only way to silence this warning for 'double'.
28918 2011-11-29  Jim Meyering  <meyering@redhat.com>
28920         hash: mark compute_bucket_size with the pure attribute
28921         * lib/hash.c (compute_bucket_size): Use _GL_ATTRIBUTE_PURE.
28923         quotearg, propername: correct pragma guard expression
28924         * lib/quotearg.c: Enable pragma for gcc-4.6 and newer, not 4.3 and newer.
28925         * lib/propername.c: Likewise.  Reported by Bernhard Voelker.
28927 2011-11-28  Jim Meyering  <meyering@redhat.com>
28929         propername: do not mark proper_name with the const attribute
28930         * lib/propername.h (proper_name): Do *not* mark as _GL_ATTRIBUTE_CONST,
28931         since it examines data pointed to by its parameter.
28932         * lib/propername.c (proper_name): Instead, add a pragma to suppress
28933         the suggestion from -Wsuggest-attribute=const.
28935         propername: mark one more function as const
28936         * lib/propername.h (proper_name): Mark as _GL_ATTRIBUTE_CONST.
28938 2011-11-27  Jim Meyering  <meyering@redhat.com>
28940         mark functions with const and pure attributes
28942         Mark functions per suggestions from gcc-4.6 when using these options:
28943         -Wsuggest-attribute=pure -Wsuggest-attribute=const.
28944         Use gnulib's _GL_ATTRIBUTE_PURE and _GL_ATTRIBUTE_CONST macros.
28945         Follow these guidelines: when possible, apply the attribute to
28946         an extern declaration, not to its definition.  Apply it to the
28947         definition only when the definition is static.
28948         * lib/argmatch.h (argmatch, argmatch_to_argument): Mark.
28949         * lib/argv-iter.h (argv_iter_n_args): Likewise.
28950         * lib/base64.h (isbase64): Likewise.
28951         * lib/basename-lgpl.c (last_component, base_len): Likewise.
28952         * lib/c-ctype.h (c_isascii, c_isalnum, c_isalpha): Likewise.
28953         (c_isblank, c_iscntrl, c_isdigit, c_islower, c_isgraph): Likewise.
28954         (c_isprint, c_ispunct, c_isspace, c_isupper, c_isxdigit): Likewise.
28955         (c_tolower, c_toupper): Likewise.
28956         * lib/c-strcase.h (c_strcasecmp, c_strncasecmp): Likewise.
28957         * lib/chdir-long.c (find_non_slash): Likewise.
28958         * lib/dirname.h (base_len, dir_len, last_component): Likewise.
28959         * lib/exclude.h (fnmatch_pattern_has_wildcards): Likewise.
28960         * lib/file-type.h (file_type): Likewise.
28961         * lib/filenamecat-lgpl.c (longest_relative_suffix): Likewise.
28962         * lib/filevercmp.c (verrevcmp): Likewise.
28963         * lib/freadahead.h (freadahead): Likewise.
28964         * lib/fts.c (fts_maxarglen): Likewise.
28965         * lib/hash-pjw.h (hash_pjw): Likewise.
28966         * lib/hash-triple.h (triple_hash_no_name, triple_compare_ino_str):
28967         * lib/hash.c (is_prime, next_prime): Likewise.
28968         * lib/hash.c (hash_get_n_buckets, hash_get_n_buckets_used): Likewise.
28969         (hash_get_n_entries, hash_get_max_bucket_length): Likewise.
28970         (hash_table_ok, hash_get_first, hash_string): Likewise.
28971         (compute_bucket_size): Likewise.
28972         * lib/i-ring.h (i_ring_empty): Likewise.
28973         * lib/isnan.c (isnanl): Likewise.
28974         * lib/math.h (isnanl, rpl_isnanl): Likewise.
28975         * lib/memcasecmp.h (memcasecmp): Likewise.
28976         * lib/memchr2.h (memchr2): Likewise.
28977         * lib/memcmp2.h (memcmp2): Likewise.
28978         * lib/parse-datetime.y (lookup_zone): Likewise.
28979         * lib/sockets.h (gl_sockets_startup, gl_sockets_cleanup)
28980         [!WINDOWS_SOCKETS]: Likewise.
28981         * lib/strnlen1.h (strnlen1): Likewise.
28982         * lib/uniwidth.in.h (uc_width): Likewise.
28983         * lib/quotearg.c: Add pragma to avoid unwarranted suggestion from
28984         gcc's -Wsuggest-attribute=pure for quoting_options_from_style.
28985         (quoting_options_from_style): Add a comment.
28986         * lib/propername.h (proper_name): Add a comment.
28988 2011-11-27  Bruno Haible  <bruno@clisp.org>
28990         Remove unused macros from !_LIBC code in glibc-borrowed files.
28991         * lib/fnmatch.c (STRCOLL): Remove macro.
28992         * lib/fnmatch_loop.c (STRCOLL): Remove undef.
28993         * lib/glob.c (__stat, __readdir64): Remove macros.
28994         * lib/tempname.c (__open64, __xstat64): Remove macros.
28995         Suggested by Paul Eggert.
28997 2011-11-27  Bruno Haible  <bruno@clisp.org>
28999         getcwd: Fix link error on MSVC 9.
29000         * modules/getcwd (Depends-on): Add readdir, rewinddir.
29002 2011-11-27  Bruno Haible  <bruno@clisp.org>
29004         Don't set REPLACE_FOO to 1 if HAVE_FOO is 0.
29005         * m4/opendir.m4 (gl_FUNC_OPENDIR): Don't set REPLACE_OPENDIR to 1 if
29006         HAVE_OPENDIR is 0.
29007         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Don't set REPLACE_CLOSEDIR to 1 if
29008         HAVE_CLOSEDIR is 0.
29009         * m4/dup2.m4 (gl_FUNC_DUP2): Don't set REPLACE_DUP2 to 1 if HAVE_DUP2
29010         is 0.
29011         * m4/dup3.m4 (gl_FUNC_DUP3): Update comments.
29013 2011-11-27  Bruno Haible  <bruno@clisp.org>
29015         getcwd: Fix bug from 2011-08-17.
29016         * m4/getcwd.m4 (gl_FUNC_GETCWD): Set REPLACE_GETCWD to 1 only on
29017         platforms that need it.
29018         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Consider a return
29019         code of 4 to be a failure, not a success. This ensures that
29020         REPLACE_GETCWD becomes 1 on OpenBSD 4.9 and NetBSD 5.1.
29022 2011-11-27  Bruno Haible  <bruno@clisp.org>
29024         binary-io tests: Avoid test failure on mingw when libtool is used.
29025         * tests/test-binary-io.c (main): Don't remove t-bin-out2.tmp here.
29026         Don't verify the size of t-bin-out1.tmp here.
29027         * tests/test-binary-io.sh: Verify it here.
29028         Reported by Simon Josefsson.
29030 2011-11-26  Bruno Haible  <bruno@clisp.org>
29032         Fix conflict between two instantiations of module 'unistd'.
29033         * gnulib-tool (func_emit_autoconf_snippet): Substitute
29034         ${include_guard_prefix} also in the autoconf snippet.
29035         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Don't set GNULIB_UNISTD_H_GETOPT.
29036         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize
29037         GNULIB_UNISTD_H_GETOPT.
29038         * modules/getopt-posix (configure.ac): Set the
29039         GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT variable.
29040         * modules/getopt-gnu (configure.ac): Likewise.
29041         * modules/unistd (Makefile.am): Change the substitution value of
29042         GNULIB_UNISTD_H_GETOPT to depend on the include guard prefix.
29043         Reported by Simon Josefsson.
29045 2011-11-25  Bruno Haible  <bruno@clisp.org>
29047         pagealign_alloc: Doc and comments.
29048         * doc/posix-functions/posix_memalign.texi: Refer to the pagealign_alloc
29049         module.
29050         * lib/pagealign_alloc.c (pagealign_alloc): Add comment.
29052 2011-11-25  Jim Meyering  <meyering@redhat.com>
29054         test-update-copyright.sh: avoid false-positive failure
29055         * tests/test-update-copyright.sh: Use $TMP.? (not $TMP.*), to work
29056         around false positive failure on Cygwin/Windows.  The latter was
29057         matching erroneously-created files with names like
29058         update-copyright.test-ex.4.bak.  Reported by Simon Josefsson.
29060 2011-11-25  Simon Josefsson  <simon@josefsson.org>
29062         valgrind-tests.m4: Avoid breakage if valgrind on bash fails.
29063         * m4/valgrind-tests.m4: Check that the parameters that will be
29064         used works, not just a subset of them.  Reported by Bruno Haible
29065         <bruno@clisp.org>.
29067 2011-11-24  Jim Meyering  <meyering@redhat.com>
29069         test-stdalign.c: comment out long double tests
29070         * tests/test-stdalign.c: Don't try to reduce alignment of long double
29071         variables.  That provokes errors like this from gcc-4.7.0 20111124:
29072         error: '_Alignas' specifiers cannot reduce alignment of \
29073         'static_longdouble_alignas'.
29075 2011-11-22  Jim Meyering  <meyering@redhat.com>
29077         init.sh: make "compare /dev/null FILE" output more readable
29078         * tests/init.sh (compare_): Document the preferred order of arguments.
29079         (emit_diff_u_header_): New function.
29080         (compare_dev_null_): Emit a simulated diff, rather than just the
29081         contents of the unexpected file.  Suggestion from Bruno Haible.
29083 2011-11-21  Jim Meyering  <meyering@redhat.com>
29084             Eric Blake  <eblake@redhat.com>
29086         init.sh: work around OSF/1 5.1's mishandling of /dev/null
29087         * tests/init.sh: Make our compare function slightly more portable.
29088         Reported by Bruno Haible in
29089         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020
29091 2011-11-21  Simon Josefsson  <simon@josefsson.org>
29093         * m4/gnulib-common.m4 (_Noreturn): Check that _MSC_VER is defined
29094         before using it, in code that ends up in config.h.
29096 2011-11-20  Bruno Haible  <bruno@clisp.org>
29098         getcwd: Work around getcwd bug on AIX 5..7.
29099         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Require
29100         AC_CANONICAL_HOST. Assign exit code 31 to the bug seen on AIX 5.1..7.1.
29101         Use a different value for gl_cv_func_getcwd_path_max. Move the
29102         definition of HAVE_PARTLY_WORKING_GETCWD from here...
29103         * m4/getcwd.m4 (gl_FUNC_GETCWD): ... to here. Invoke
29104         gl_FUNC_GETCWD_PATH_MAX also when $gl_cv_func_getcwd_null is 'no'.
29105         Define HAVE_MINIMALLY_WORKING_GETCWD.
29106         * lib/getcwd.c (__getcwd): Don't use the system's getcwd on platforms
29107         where it is not even minimally working, that is, on AIX.
29108         * tests/test-getcwd.c (test_long_name): Distinguish the same cases as
29109         m4/getcwd-path-max.m4.
29110         (main): Update exit code computation.
29111         * doc/posix-functions/getcwd.texi: Mention list of platforms where
29112         getcwd does not handle long file names.
29114 2011-11-20  Bruno Haible  <bruno@clisp.org>
29116         getcwd: Fix bug from 2009-09-10.
29117         * m4/getcwd.m4 (gl_FUNC_GETCWD): Treat "guessing yes" like "yes", not
29118         like "no".
29120 2011-11-20  Simon Josefsson  <simon@josefsson.org>
29122         * m4/manywarnings.m4: Add more warnings from gcc 4.6.2.
29124 2011-11-20  Bruno Haible  <bruno@clisp.org>
29126         fma tests: Avoid shadowing local variables.
29127         * tests/test-fma2.h (test_function): Reduce scope of x, y, z, result,
29128         expected.
29130 2011-11-20  Bruno Haible  <bruno@clisp.org>
29132         copysignf tests: Fix.
29133         * tests/test-copysignf.c: Fix signature check.
29135 2011-11-20  Bruno Haible  <bruno@clisp.org>
29137         fma: Remove unused code.
29138         * lib/fma.c (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): Remove
29139         unused macros.
29141 2011-11-20  Bruno Haible  <bruno@clisp.org>
29143         sethostname: Fix doc about AIX.
29144         * doc/glibc-functions/sethostname.texi: Drop mention that AIX 5.1 lacks
29145         sethostname; it has it.
29147         sethostname: Mention more portability problems.
29148         * doc/glibc-functions/sethostname.texi: Mention the missing declaration
29149         problem.
29150         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
29152 2011-11-19  Bruno Haible  <bruno@clisp.org>
29154         Depend on module fcntl-h when AT_FDCWD is used.
29155         * modules/utimens (Depends-on): Add fcntl-h.
29156         * modules/areadlinkat (Depends-on): Likewise.
29157         * modules/areadlinkat-with-size (Depends-on): Likewise.
29158         * modules/faccessat (Depends-on): Likewise.
29159         * modules/fchmodat (Depends-on): Likewise.
29160         * modules/fchownat (Depends-on): Likewise.
29161         * modules/getcwd (Depends-on): Likewise.
29162         * modules/mkdirat (Depends-on): Likewise.
29163         * modules/mkfifoat (Depends-on): Likewise.
29164         * modules/readlinkat (Depends-on): Likewise.
29165         * modules/symlinkat (Depends-on): Likewise.
29166         * modules/dup2-tests (Depends-on): Likewise.
29167         * modules/fdutimensat-tests (Depends-on): Likewise.
29168         * modules/futimens-tests (Depends-on): Likewise.
29170 2011-11-19  Bruno Haible  <bruno@clisp.org>
29172         euidaccess: Update a comment.
29173         * lib/euidaccess.c: Update comment about platforms with faccessat.
29175 2011-11-19  Bruno Haible  <bruno@clisp.org>
29177         openat: Fix file list.
29178         * modules/openat (Files): Remove lib/at-func.c.
29180 2011-11-19  Bruno Haible  <bruno@clisp.org>
29182         fstatat: Simplify.
29183         * lib/fstatat.c (AT_FUNC_NAME): Define as fstatat. On platforms where
29184         gnulib should define rpl_fstatat, there is a
29185         "#define fstatat rpl_fstatat" in <sys/stat.h>.
29187 2011-11-19  Bruno Haible  <bruno@clisp.org>
29189         Ensure 'inline' can be used in tests/test-utimens-common.h.
29190         * modules/fdutimensat-tests (configure.ac): Require AC_C_INLINE.
29191         * modules/futimens-tests (configure.ac): Likewise.
29192         * modules/utimens-tests (configure.ac): Likewise.
29193         * modules/utimensat-tests (configure.ac): Likewise.
29195 2011-11-19  Simon Josefsson  <simon@josefsson.org>
29197         * lib/hash.c (hash_insert): Use hash_insert_if_absent,
29198         not hash_insert0.
29199         (hash_insert_if_absent): Doc fix.
29201 2011-11-19  Simon Josefsson  <simon@josefsson.org>
29203         * m4/readline.m4 (gl_FUNC_READLINE): Check for readline/history.h.
29205 2011-11-18  Paul Eggert  <eggert@cs.ucla.edu>
29207         test-getcwd: disambiguate exit status
29208         * tests/test-getcwd.c (test_long_name): Return 0..7.
29209         (main): Exit with an unambiguous exit status.  The old
29210         code yielded a mysterious mixture of two failure codes.
29212         fstatat: fix configuration bug on mingw, OpenBSD 4, Solaris 8
29213         * lib/fstatat.c (AT_FUNC_NAME): Use HAVE_FSTAT, not
29214         HAVE_WORKING_FSTATAT_ZERO_FLAG, to decide whether to define
29215         rpl_fstatat or fstatat.  This should fix the other problem
29216         reported by Kai Habel in
29217         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00237.html>.
29218         A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson
29219         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00239.html>
29220         and I reproduced it on a Solaris 8 host we still have in production.
29222 2011-11-18  Jim Meyering  <meyering@redhat.com>
29224         hash: deprecate poorly-named hash_insert0: use hash_insert_if_absent
29225         * lib/hash.c (hash_insert_if_absent): Rename from hash_insert0.
29226         Add a sentence to the comment.
29227         (hash_insert0): New function that simply calls hash_insert_if_absent.
29228         * lib/hash.h (hash_insert_if_absent): Declare it.
29229         (hash_insert0): Add deprecation attribute.
29230         (_GL_ATTRIBUTE_DEPRECATED): Define.
29231         * lib/di-set.c (di_set_insert): Use hash_insert_if_absent,
29232         not hash_insert0.
29233         * NEWS: Mention it, even though it's not really an incompatible change.
29235 2011-11-18  Dagobert Michelsen  <dam@opencsw.org>  (tiny change)
29237         openat: avoid compilation failure due to lack of <errno.h> inclusion
29238         * lib/openat.c: Include <errno.h>.
29240 2011-11-17  Paul Eggert  <eggert@cs.ucla.edu>
29242         * modules/getcwd (Depends-on): Add fdopendir.
29243         This fixes one of the two problems reported by Kai Habel in
29244         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00237.html>.
29246         modules/crypto/gc-*: simplify dependencies and fix stdalign.h bug
29247         stdalign problem reported by Ian Beckwith in
29248         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00238.html>.
29249         * modules/crypto/gc-arcfour (Depends-on):
29250         Depend conditionally on crypto/arcfour.
29251         * modules/crypto/gc-arctwo (Depends-on):
29252         Depend conditionally on crypto/arctwo.
29253         * modules/crypto/gc-des (Depends-on):
29254         Depend conditionally on crypto/des.
29255         * modules/crypto/gc-hmac-md5 (Depends-on):
29256         Depend conditionally on crypto/hmac-md5.
29257         * modules/crypto/gc-hmac-sha1 (Depends-on):
29258         Depend conditionally on crypto/hmac-sha1.
29259         * modules/crypto/gc-md2 (Depends-on): Remove stdint, minmax.
29260         * modules/crypto/gc-md4 (Depends-on):
29261         Depend conditionally on crypto/md4.
29262         * modules/crypto/gc-md5 (Depends-on):
29263         Depend conditionally on crypto/md5.
29264         * modules/crypto/gc-rijndael (Depends-on):
29265         Depend conditionally on crypto/rijndael.
29266         * modules/crypto/gc-sha1 (Depends-on):
29267         Depend conditionally on crypto/sha1.
29268         * modules/crypto/gc-arcfour:
29269         * modules/crypto/gc-arctwo:
29270         * modules/crypto/gc-des:
29271         * modules/crypto/gc-hmac-md5:
29272         * modules/crypto/gc-hmac-sha1:
29273         * modules/crypto/gc-md2:
29274         * modules/crypto/gc-md4:
29275         * modules/crypto/gc-md5:
29276         * modules/crypto/gc-rijndael:
29277         * modules/crypto/gc-sha1:
29278         (Files, Depends-on, configure.ac): Remove now-unnecessary stuff,
29279         now that the conditional dependencies do the work for us.
29281 2011-11-17  Jim Meyering  <meyering@redhat.com>
29283         tests: factor st_ctime-comparison out of two headers
29284         * tests/test-utimens-common.h (ctime_compare): Define.
29285         * tests/test-futimens.h (test_futimens): Replace open-coded equivalent.
29286         * tests/test-lutimens.h (test_lutimens): Likewise.
29287         * tests/test-utimens.h (test_utimens): Likewise.
29289         test-getcwd: don't leave behind a confdir3/ directory upon interrupt
29290         Invoke the test program via an init.sh-using wrapper.
29291         * tests/test-getcwd.sh: New file.
29292         * modules/getcwd-tests (Files): Add it.
29293         (Makefile.am) [TESTS]: Invoke the shell script wrapper.
29295 2011-11-01  Gary V. Vaughan  <gary@gnu.org>
29297         gitlog-to-changelog: support multi-author commits.
29298         The FSF cares about keeping track of all authors of patches to its
29299         projects, but Git doesn't provide obvious support for multi-author
29300         changesets. Consensus seems to be forming around the use of extra
29301         Signed-off-by inspired lines in the log message formatted as
29302         `Co-authored-by: A U Thor <email@example.com>' for round-tripping
29303         multi-author commits between version control systems.
29304         * gitlog-to-changelog: Extract `Co-authored-by:' lines from the git
29305         log message and output in standard ChangeLog multi-author format.
29306         Reported by Peter Rosin <peda@lysator.liu.se>
29308 2011-11-15  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
29309             Bruno Haible  <bruno@clisp.org>
29311         Fix some modules' file list.
29312         * modules/fstatat (Files): Add m4/lstat.m4.
29313         * modules/openat (Files): Likewise.
29314         * modules/unlinkat (Files): Likewise.
29316 2011-11-15  Gary V. Vaughan  <gary@gnu.org>
29318         maint.mk: fix tight-scope.mk generation in VPATH builds.
29319         * top/maint.mk (tight-scope.mk): Make sure to prefix file
29320         reference with $(srcdir) so that the file is found correctly even
29321         when running `make syntax-check' in a VPATH build.
29323 2011-11-13  Bruno Haible  <bruno@clisp.org>
29324             Jim Meyering  <meyering@redhat.com>
29326         Silence successful tests that use 'compare' on AIX, HP-UX, Solaris.
29327         * tests/init.sh (compare): Remove "No differences encountered" or
29328         synonymous output from the 'diff' program.
29330 2011-11-13  Bruno Haible  <bruno@clisp.org>
29332         Makefile: Tweak indentation.
29333         * Makefile: Use tab as first character in every line that contains rule
29334         commands.
29336 2011-11-13  Bruno Haible  <bruno@clisp.org>
29338         Syntax check for copyright statements.
29339         * check-copyright: New file.
29340         * Makefile (sc_check_copyright): New rule.
29342 2011-11-13  Simon Josefsson  <simon@josefsson.org>
29344         * build-aux/git-version-gen: Add --prefix to configure the tag
29345         match string.
29347 2011-11-13  Simon Josefsson  <simon@josefsson.org>
29349         * build-aux/git-version-gen: Add --help and --version.
29351 2011-11-12  Jim Meyering  <meyering@redhat.com>
29353         revamp the other test-exclude?.sh scripts to use init.sh, too
29354         * tests/test-exclude1.sh: Use init.sh.
29355         * tests/test-exclude2.sh: Likewise.
29356         * tests/test-exclude3.sh: Likewise.
29357         * tests/test-exclude4.sh: Likewise.
29358         * tests/test-exclude5.sh: Likewise.
29359         * tests/test-exclude6.sh: Likewise.
29360         * tests/test-exclude7.sh: Likewise.
29361         * tests/test-exclude8.sh: Likewise.
29362         * modules/exclude-tests (Files): List init.sh.
29364         test-exclude2.sh, test-exclude5.sh: fail if test-exclude fails
29365         These shell scripts ignored failure of the binary test-exclude,
29366         so making the latter return 77 didn't cause them to be skipped.
29367         * tests/test-exclude5.sh: Exit with test-exclude's error status
29368         when that program fails.  Revamp to use init.sh.
29369         * tests/test-exclude2.sh: Likewise.
29371         test-exclude: fix a typo
29372         * tests/test-exclude.c (main): Test for "leading_dir", not "leading-dir".
29374 2011-11-11  Bruno Haible  <bruno@clisp.org>
29376         obstack: Fix compilation error on MSVC 9.
29377         * lib/obstack.c (print_and_abort): Declare with _Noreturn specifier.
29379 2011-11-11  Jim Meyering  <meyering@redhat.com>
29381         test-exclude: skip tests rather than failing on deficient systems
29382         * tests/test-exclude.c (main): Skip tests that use FNM_CASEFOLD
29383         and FNM_LEADING_DIR on systems that lack the definitions.  This affects
29384         at least Solaris 9.  Reported and diagnosed by Dagobert Michelsen in
29385         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/3947/focus=3950
29387 2011-11-10  Bruno Haible  <bruno@clisp.org>
29389         ptsname_r test: Avoid gcc warning on glibc systems.
29390         * tests/test-ptsname_r.c (null_ptr): New function.
29391         (test_errors): Use it.
29393 2011-11-10  Bruno Haible  <bruno@clisp.org>
29395         ptsname_r: Avoid compilation error on OSF/1 5.1.
29396         * lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1.
29397         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R.
29398         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the
29399         function is not declared or incompatibly declared.
29400         * modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R.
29401         * modules/ptsname_r (Depends-on, configure.ac): Update.
29402         * doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems.
29404 2011-11-10  Bruno Haible  <bruno@clisp.org>
29406         fstatat: Make cross-compilation guess succeed everywhere except on AIX.
29407         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST.
29408         When cross-compiling, guess yes on all platforms except AIX.
29409         Reported by Ludovic Courtès <ludo@gnu.org>.
29411 2011-11-09  Bruno Haible  <bruno@clisp.org>
29413         ptsname_r tests: Fix bugs.
29414         * tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
29415         Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.
29417 2011-11-09  Paul Eggert  <eggert@cs.ucla.edu>
29419         fstatat: work with cross-compilation
29420         Problem reported by Ludovic Courtès in
29421         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00136.html>.
29422         * m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report
29423         "cross-compiling" and assume the bug is present.  Replace
29424         FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with
29425         an inverted sense, to be more conservative about our assumptions.
29426         * lib/fstatat.c (rpl_fstatat): Adjust to renamed macro.
29428 2011-11-09  Bruno Haible  <bruno@clisp.org>
29430         Improve MODULES.html output.
29431         * modules/mkfifoat (Description): Use the word "function".
29432         * modules/readlinkat (Description): Likewise.
29433         * modules/symlinkat (Description): Likewise.
29435 2011-11-09  Eric Blake  <eblake@redhat.com>
29437         ptsname_r-tests: new test module
29438         * modules/ptsname_r-tests: New module.
29439         * tests/test-ptsname_r.c: New file.
29441         ptsname_r: new module
29442         * modules/ptsname_r: New module.
29443         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file.
29444         * lib/ptsname.c (__ptsname_r): Split...
29445         * lib/ptsname_r.c: ...into new file.
29446         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
29447         (gl_STDLIB_H_DEFAULTS): Set witness defaults.
29448         * modules/stdlib (Makefile.am): Substitute witnesses.
29449         * lib/stdlib.in.h (ptsname_r): Declare it.
29450         * doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it.
29451         * MODULES.html.sh (Misc): Likewise.
29452         * modules/ptsname (Depends-on): Alter dependency.
29453         * doc/posix-functions/ptsname.texi (ptsname): Mention new module.
29455 2011-11-09  Jim Meyering  <meyering@redhat.com>
29457         announce-gen: be more concise when there's only one URL+tarball
29458         * build-aux/announce-gen (get_tool_versions): When you distribute
29459         only one type of tarball, combine the first two "Here are..."
29460         sections and make the key-checking grammar independent of
29461         how many tarballs there are.
29463 2011-11-09  Eric Blake  <eblake@redhat.com>
29465         openpty: provide a stub on mingw
29466         * lib/pty.in.h (includes): Provide forward declarations.
29467         * lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub.
29469         raise: fix mingw handling of SIGPIPE
29470         * lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value.
29472 2011-11-08  Bruno Haible  <bruno@clisp.org>
29474         More conditional dependencies.
29475         * modules/faccessat (Depends-on): Add conditions.
29476         * modules/fchmodat (Depends-on): Likewise.
29477         * modules/fchownat (Depends-on): Likewise.
29478         * modules/fstatat (Depends-on): Likewise.
29479         * modules/mkfifoat (Depends-on): Likewise.
29480         * modules/readlinkat (Depends-on): Likewise.
29481         * modules/symlinkat (Depends-on): Likewise.
29482         * modules/unlinkat (Depends-on): Likewise.
29483         * modules/utimensat (Depends-on): Likewise.
29484         * modules/mkdirat (Depends-on): Add sys_stat. Add conditions.
29485         * modules/linkat (Depends-on): Refine the conditions.
29486         * modules/renameat (Depends-on): Likewise.
29488 2011-11-08  Bruno Haible  <bruno@clisp.org>
29490         faccessat: Move AC_LIBOBJ invocation to module description.
29491         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro.
29492         (gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ
29493         invocation from here...
29494         * modules/faccessat (configure.ac): ... to here. Invoke
29495         gl_PREREQ_FACCESSAT.
29497 2011-11-08  Bruno Haible  <bruno@clisp.org>
29499         faccessat: Simplify autoconf macro.
29500         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
29501         gl_FUNC_EUIDACCESS.
29503 2011-11-08  Bruno Haible  <bruno@clisp.org>
29505         renameat: Fix dependencies.
29506         * modules/renameat (Depends-on): Add stdbool.
29508 2011-11-08  Bruno Haible  <bruno@clisp.org>
29510         mkfifoat: Fix module description.
29511         * modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
29512         not gl_UNISTD_MODULE_INDICATOR.
29514 2011-11-08  Bruno Haible  <bruno@clisp.org>
29516         fstatat: Remove unused dependency.
29517         * modules/fstatat (Depends-on): Remove fstat.
29519 2011-11-08  Simon Josefsson  <simon@josefsson.org>
29521         GNUmakefile: behave when Makefile is missing.
29522         * top/GNUmakefile: Always initialize _build-aux and _autoreconf.
29524 2011-11-08  Bruno Haible  <bruno@clisp.org>
29526         openat: Conditionalize dependencies.
29527         * lib/openat.c: Reduce the scope of some #includes.
29528         * modules/openat (Depends-on): Add conditions.
29530 2011-11-07  Jim Meyering  <meyering@redhat.com>
29532         maint.mk: extract GPG key ID without using a temporary file
29533         * top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but
29534         without using a temporary file.  Based on a suggestion from Werner Koch
29535         in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496
29537 2011-11-07  Eric Blake  <eblake@redhat.com>
29539         grantpt: fix typo
29540         * lib/stdlib.in.h (grantpt): Check correct function.
29542         maint.mk: silence new syntax check
29543         * top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.
29545 2011-11-06  Bruno Haible  <bruno@clisp.org>
29547         Doc about floating-point and math API.
29548         * doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
29549         * doc/posix-headers/math.texi: Mention problem with math_errhandling.
29551 2011-11-06  Bruno Haible  <bruno@clisp.org>
29553         stdalign tests: Skip the test when compiled by Sun C.
29554         * tests/test-stdalign.c (main): Skip the test on Sun C.
29556 2011-11-06  Bruno Haible  <bruno@clisp.org>
29558         ansi-c++-opt: Complete the 2011-06-05 change.
29559         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
29560         does not support namespaces, set the variable to "no", not to ":".
29562 2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
29564         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
29566 2011-11-06  Bruno Haible  <bruno@clisp.org>
29568         copysignl: Fix result for zero argument on HP-UX 11 with HP C.
29569         * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
29570         (minus_zerol) [HP-UX]: New macro.
29571         (unary_minus) [HP-UX]: New function.
29572         (copysignl) [HP-UX]: Use unary_minus function.
29574 2011-11-06  Bruno Haible  <bruno@clisp.org>
29576         ldexp, ldexpf, ldexpl: Enhance tests.
29577         * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
29578         and tests/test-ldexpl.c.
29579         * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
29580         LDEXP, MIN_EXP, MAX_EXP): New macros.
29581         Include test-ldexp.h.
29582         (main): Just call test_function.
29583         * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
29584         infinity.h, nan.h.
29585         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
29586         MAX_EXP): New macros.
29587         Include test-ldexp.h.
29588         (x, y): Remove variables.
29589         (main): Just call test_function.
29590         * tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
29591         infinity.h, nan.h.
29592         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
29593         MAX_EXP): New macros.
29594         Include test-ldexp.h.
29595         (x, y): Remove variables.
29596         (main): Just call test_function.
29597         * modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
29598         * modules/ldexp-tests (Files): Add tests/test-ldexp.h,
29599         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
29600         (Depends-on): Add isnand-nolibm, signbit, float.
29601         * modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
29602         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
29603         (Depends-on): Add isnanf-nolibm, signbit, float.
29605 2011-11-06  Bruno Haible  <bruno@clisp.org>
29607         math tests: Cosmetics.
29608         * tests/test-math-c++.cc: Reorder declarations.
29610 2011-11-05  Bruno Haible  <bruno@clisp.org>
29612         fma*: Simplify test.
29613         * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
29614         (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
29616         Tests for module 'fmal'.
29617         * modules/fmal-tests: New file.
29618         * tests/test-fmal1.c: New file.
29619         * tests/test-fmal2.c: New file.
29621         New module 'fmal'.
29622         * lib/math.in.h (fmal): New declaration.
29623         * lib/fmal.c: New file.
29624         * m4/fmal.m4: New file.
29625         * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
29626         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
29627         * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
29628         REPLACE_FMAL.
29629         * modules/fmal: New file.
29630         * doc/posix-functions/fmal.texi: Mention the new module and the various
29631         bugs.
29633         Tests for module 'fmaf'.
29634         * modules/fmaf-tests: New file.
29635         * tests/test-fmaf1.c: New file.
29636         * tests/test-fmaf2.c: New file.
29638         New module 'fmaf'.
29639         * lib/math.in.h (fmaf): New declaration.
29640         * lib/fmaf.c: New file.
29641         * m4/fmaf.m4: New file.
29642         * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
29643         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
29644         * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
29645         REPLACE_FMAF.
29646         * modules/fmaf: New file.
29647         * doc/posix-functions/fmaf.texi: Mention the new module and the various
29648         bugs.
29650         Tests for module 'fma'.
29651         * modules/fma-tests: New file.
29652         * tests/test-fma1.c: New file.
29653         * tests/test-fma1.h: New file.
29654         * tests/test-fma2.c: New file.
29655         * tests/test-fma2.h: New file.
29657         New module 'fma'.
29658         * lib/math.in.h (fma): New declaration.
29659         * lib/fma.c: New file.
29660         * m4/fma.m4: New file.
29661         * m4/fegetround.m4: New file.
29662         * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
29663         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
29664         * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
29665         REPLACE_FMA.
29666         * modules/fma: New file.
29667         * doc/posix-functions/fma.texi: Mention the new module and the various
29668         bugs.
29670         Extend gl_MATHFUNC.
29671         * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
29672         Support 'void' as argument type.
29673         * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
29675 2011-11-05  Jim Meyering  <meyering@redhat.com>
29677         maint.mk: also prohibit inclusion of dirent.h without use
29678         * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
29680 2011-11-05  Bruno Haible  <bruno@clisp.org>
29682         ldexpl tests: Avoid test failure on MSVC 9.
29683         * tests/test-ldexpl.c (main): Use a temporary variable for the expected
29684         value. Needed in order to enforce the conversion from a value greater
29685         than LDBL_MAX to Infinity.
29687 2011-11-05  Bruno Haible  <bruno@clisp.org>
29689         New modules 'at-internal', 'openat-h', split off from module 'openat'.
29690         * modules/at-internal: New file, extracted from modules/openat.
29691         * modules/openat-h: New file.
29692         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
29693         invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
29694         * modules/openat (Description): Add reference to POSIX function.
29695         (Files): Remove lib/openat.h, lib/openat-proc.c.
29696         (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
29697         intprops, unistd.
29698         (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
29699         gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
29700         gl_FCNTL_MODULE_INDICATOR.
29701         (Include): Remove unistd.h, openat.h.
29702         * modules/areadlinkat (Files): Add lib/at-func.c.
29703         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
29704         openat-die, openat-h, save-cwd.
29705         * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
29706         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
29707         openat-die, openat-h, save-cwd, unistd.
29708         * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
29709         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
29710         openat-h, save-cwd. Remove fcntl-h, openat.
29711         * modules/fchmodat (Files): Remove lib/openat.h.
29712         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
29713         openat, stdbool, unistd.
29714         * modules/fchownat (Files): Remove lib/openat.h.
29715         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
29716         openat, stdbool, sys_stat.
29717         * modules/fdopendir (Files): Remove lib/openat-priv.h,
29718         lib/openat-proc.c.
29719         (Depends-on): Add at-internal.
29720         (condigure.ac): Remove AC_LIBOBJ of openat-proc.
29721         * modules/fstatat (Files): Remove lib/openat.h.
29722         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
29723         stdbool, unistd.
29724         * modules/fts (Depends-on): Add openat-h.
29725         * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
29726         openat.
29727         * modules/mkdirat (Files): Remove lib/openat.h.
29728         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
29729         openat, stdbool, sys_stat.
29730         * modules/mkfifoat (Files): Add lib/at-func.c.
29731         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
29732         openat-h, save-cwd. Remove fcntl-h, openat.
29733         * modules/openat-die (Depends-on): Add openat-h. Remove openat.
29734         * modules/readlinkat (Files): Add lib/at-func.c.
29735         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
29736         openat-h, save-cwd. Remove fcntl-h, openat.
29737         * modules/renameat (Depends-on): Add at-internal, openat-h. Remove
29738         openat.
29739         * modules/selinux-at (Files): Add lib/at-func.c.
29740         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
29741         fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
29742         * modules/symlinkat (Files): Add lib/at-func.c.
29743         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
29744         openat-h, save-cwd. Remove fcntl-h, openat.
29745         * modules/unlinkat (Files): Remove lib/openat.h.
29746         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
29747         stdbool.
29748         * modules/utimensat (Files): Add lib/at-func.c.
29749         (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
29750         openat-die, openat-h, save-cwd.
29751         * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
29752         * modules/fdutimensat-tests (Depends-on): Add openat.
29753         * modules/fstatat-tests (Depends-on): Add openat-h.
29754         * modules/readlinkat-tests (Depends-on): Add openat.
29755         * modules/symlinkat-tests (Depends-on): Add openat.
29757 2011-11-05  Bruno Haible  <bruno@clisp.org>
29759         openat: Include <stdbool.h>.
29760         * lib/openat.c: Include <stdbool.h>.
29762 2011-11-04  Bruno Haible  <bruno@clisp.org>
29764         fchownat, renameat, unlinkat: Fix dependencies.
29765         * modules/fchownat (Depends-on): Add fstatat.
29766         * modules/renameat (Depends-on): Likewise.
29767         * modules/unlinkat (Depends-on): Likewise.
29769 2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>
29771         openat: remove direct dependency on dirent
29772         * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
29773         and hasn't been needed ever since fdopendir was split into its own
29774         module on 2009-08-31.
29775         * modules/openat (Depends-on): Remove dirent.
29777 2011-11-04  Bruno Haible  <bruno@clisp.org>
29779         renameat: Optimize code size.
29780         * modules/renameat (configure.ac): Don't compile at-func2.c if
29781         REPLACE_RENAMEAT is 1.
29783 2011-11-04  Bruno Haible  <bruno@clisp.org>
29785         openat tests: Fix file list.
29786         * modules/openat-tests (Files): Add tests/test-open.h.
29788 2011-11-04  Bruno Haible  <bruno@clisp.org>
29790         openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
29791         * modules/fchmodat (Depends-on): Add openat-die.
29792         * modules/fchownat (Depends-on): Likewise.
29793         * modules/linkat (Depends-on): Likewise.
29794         * modules/renameat (Depends-on): Likewise.
29795         * modules/openat (Depends-on): Add dirent.
29797 2011-11-04  Jim Meyering  <meyering@redhat.com>
29799         at-func*.c: fix comments
29800         * lib/at-func2.c: Correct/improve first-line comment.
29801         * lib/at-func.c: Correct grammar in first-line comment.
29803 2011-11-04  Bruno Haible  <bruno@clisp.org>
29805         New module 'mkdirat', split off from module 'openat'.
29806         * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
29807         * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
29808         Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
29809         * modules/mkdirat: New file, extracted from modules/openat.
29810         * modules/openat (Files): Remove lib/mkdirat.c.
29811         (Depends-on): Remove mkdir.
29812         (configure.ac): Remove AC_LIBOBJ of mkdirat.
29813         (Include): Remove <sys/stat.h>.
29814         * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
29815         * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
29816         tests/test-mkdir.h.
29817         (Depends-on): Remove ignore-value.
29818         (Makefile.am): Remove rules for test-mkdirat.
29819         * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
29820         of module 'openat'.
29821         * NEWS: Mention the change.
29823 2011-11-04  Bruno Haible  <bruno@clisp.org>
29825         closedir: Avoid warning on mingw.
29826         * lib/closedir.c: Include <unistd.h>.
29828 2011-11-04  Bruno Haible  <bruno@clisp.org>
29830         New module 'fstatat', split off from module 'openat'.
29831         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
29832         defined.
29833         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
29834         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
29835         gl_FUNC_FSTATAT.
29836         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
29837         * modules/fstatat: New file, extracted from modules/openat.
29838         * modules/openat (Files): Remove lib/fstatat.c.
29839         (Depends-on): Remove lstat.
29840         (configure.ac): Remove AC_LIBOBJ of fstatat.
29841         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
29842         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
29843         tests/test-lstat.h, tests/test-stat.h.
29844         (Depends-on): Remove getcwd-lgpl.
29845         (Makefile.am): Remove rules for test-fstatat.
29846         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
29847         of module 'openat'.
29848         * NEWS: Mention the change.
29849         * modules/getcwd (Depends-on): Add fstatat.
29850         * modules/linkat (Depends-on): Likewise.
29851         * modules/mkfifoat-tests (Depends-on): Likewise.
29852         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
29854 2011-11-03  Bruno Haible  <bruno@clisp.org>
29856         New module 'unlinkat', split off from module 'openat'.
29857         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
29858         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
29859         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
29860         * modules/unlinkat: New file, extracted from modules/openat. Correct
29861         the dependency conditions.
29862         * modules/openat (Files): Remove lib/unlinkat.c.
29863         (Depends-on): Remove rmdir, unlink.
29864         (configure.ac): Remove AC_LIBOBJ of unlinkat.
29865         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
29866         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
29867         tests/test-rmdir.h, tests/test-unlink.h.
29868         (Depends-on): Remove unlinkdir.
29869         (Makefile.am): Remove rules for test-unlinkat.
29870         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
29871         of module 'openat'.
29872         * NEWS: Mention the change.
29873         * modules/linkat-tests (Depends-on): Add unlinkat.
29874         * modules/mkfifoat-tests (Depends-on): Likewise.
29875         * modules/readlinkat-tests (Depends-on): Likewise.
29877 2011-11-02  Bruno Haible  <bruno@clisp.org>
29879         New module 'fchmodat', split off from module 'openat'.
29880         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
29881         defined.
29882         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
29883         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
29884         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
29885         * modules/fchmodat: New file, extracted from modules/openat.
29886         * modules/openat (Files): Remove lib/fchmodat.c.
29887         (configure.ac): Remove AC_LIBOBJ of fchmodat.
29888         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
29889         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
29890         (Makefile.am): Remove rules for test-fchmodat.
29891         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
29892         of module 'openat'.
29893         * NEWS: Mention the change.
29895 2011-11-02  Jim Meyering  <meyering@redhat.com>
29897         putenv: indent #definition of "environ" to placate cppi
29898         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
29900         gitlog-to-changelog: provide a ChangeLog-repair mechanism
29901         Git logs are often treated as immutable, because editing them
29902         changes the SHA1 checksums of all descendants.  Thus, errors in
29903         git logs tend to stay there forever.  However, when we generate
29904         a ChangeLog file -- typically for distribution -- from that git log,
29905         we can actually make corrections in the generated file.  The key
29906         lies in recording in machine-readable/applicable form the desired
29907         corrections.  See --help for description and an example.
29908         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
29909         (usage): Describe it; alphabetize option descriptions.
29910         (main): Honor the new option, carefully.
29912 2011-11-01  Jim Meyering  <meyering@redhat.com>
29914         gitlog-to-changelog: avoid an infloop
29915         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
29916         that ends up being empty.
29918 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
29920         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
29921         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
29922         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
29923         contains (possibly-quoted) backslashes.  This should avoid
29924         all-too-common shell bugs if COMPLICATED contains backslashes in
29925         the "wrong" places.  Reported by David Evans in
29926         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00013.html>.
29927         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
29928         because we want ASCII ranges.  Is there some reason we don't use
29929         the C locale everywhere in this script?
29930         (func_module, top level): Avoid unwanted pathname expansion when
29931         $repo_url_prefix or $repo_url_suffix_repl contain shell
29932         metacharacters like '?' and '*'.
29934 2011-11-01  Bruno Haible  <bruno@clisp.org>
29936         fchownat: Improve description.
29937         * modules/fchownat (Description): Add link to function.
29939 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
29941         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
29942         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
29943         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00006.html>.
29944         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
29946 2011-11-01  Bruno Haible  <bruno@clisp.org>
29948         alignof: Avoid collision with stdalign module.
29949         * lib/alignof.h (alignof): Remove macro.
29950         * NEWS: Mention the change.
29951         Reported by Paul Eggert.
29953 2011-11-01  Bruno Haible  <bruno@clisp.org>
29955         New module 'fchownat', split off from module 'openat'.
29956         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
29957         defined.
29958         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
29959         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
29960         invoke gl_FUNC_FCHOWNAT.
29961         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
29962         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
29963         * modules/fchownat: New file, extracted from modules/openat.
29964         * modules/openat (Files): Remove lib/fchownat.c.
29965         (Depends-on): Remove lchown.
29966         (configure.ac): Remove AC_LIBOBJ of fchownat.
29967         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
29968         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
29969         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
29970         (Depends-on): Remove mgetgroups, usleep, stat-time.
29971         (configure.ac): Remove test for getegid.
29972         (Makefile.am): Remove rules for test-fchownat.
29973         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
29974         of module 'openat'.
29975         * NEWS: Mention the change.
29977 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
29979         stdalign: port better to MSVC and to Sun C 5.11
29980         This fixes some of the problems reported by Bruno Haible in
29981         <http://lists.gnu.org/r/bug-gnulib/2011-10/msg00300.html>.
29982         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
29983         shortcomings of MSVC and of Sun C 5.11.
29984         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
29985         around __declspec arg.
29986         * modules/stdalign-tests (Files): Add tests/macros.h.
29987         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
29988         Include macros.h, for ASSERT.
29989         (DECLARE_ALIGNED): Remove.
29990         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
29991         to catch bug), and to 1 if not (simplifies the rest of the code).
29992         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
29993         (CHECK_AUTO): Remove.
29994         (CHECK_ALIGNED): Check only the alignment of the static vars,
29995         since auto var alignment isn't supported by Sun C 5.11.
29996         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
29997         ASSERT failures are easier to diagnose.
29999 2011-10-31  Bruno Haible  <bruno@clisp.org>
30001         doc about some IRIX 5.3 problems.
30002         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
30003         on IRIX 5.3.
30004         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
30005         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
30006         5.3.
30007         * doc/posix-functions/grantpt.texi: Likewise.
30008         * doc/posix-functions/unlockpt.texi: Likewise.
30009         * doc/posix-functions/lgamma.texi: Likewise.
30010         * doc/posix-functions/nextafter.texi: Likewise.
30011         * doc/posix-functions/remainder.texi: Likewise.
30012         * doc/posix-functions/select.texi: Mention misplaced declaration on
30013         IRIX 5.3.
30014         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
30016 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
30018         gitlog-to-changelog: fix git-log invocation.
30019         git-log mishandles date strings before 1970-01-01 UTC, and there is
30020         no use to specify --since=1970-01-01 by default anyway.
30021         * build-aux/gitlog-to-changelog: By default, when no --since option
30022         was given, do not specify explicit --since option to git-log.
30024 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
30026         gitlog-to-changelog: new option --append-dot.
30027         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
30028         first non-blank line of each commit message terminated with a dot.
30030 2011-10-30  Bruno Haible  <bruno@clisp.org>
30032         ffsl, ffsll: Avoid compilation error due to 'restrict'.
30033         * lib/ffsl.h: Include <config.h>.
30034         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
30036 2011-10-30  Jim Meyering  <meyering@redhat.com>
30038         GNUmakefile: reenable "make syntax-check" for most projects
30039         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
30040         build-aux variable", "syntax-check" would do nothing but succeed with
30041         the "No version control files detected..." diagnostic (unless you
30042         happened to override _build-aux via cfg.mk).
30043         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
30044         to precede inclusion of maint.mk.  Otherwise, these variables would
30045         be used undefined in any project that does not override the default.
30047 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
30049         gitlog-to-changelog: treat a message with only blank lines as empty.
30050         * build-aux/gitlog-to-changelog: Move the code that removes leading and
30051         trailing blank lines before the code that issues a warning about an
30052         empty commit message.
30054 2011-10-30  Jim Meyering  <meyering@redhat.com>
30056         test-parse-datetime.c: avoid new DST-related false positive test failure
30057         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
30058         based on the time/date we'll convert, not the current time.
30059         Otherwise, the moment we cross a DST boundary like today's in
30060         Europe, (CEST to CET), that offset ends up being one hour off.
30062 2011-10-27  Bruno Haible  <bruno@clisp.org>
30064         fstat: Tweak documentation.
30065         * modules/fstat (Description): More precise description.
30067 2011-10-27  Bruno Haible  <bruno@clisp.org>
30069         Update documentation regarding 'largefile' module.
30070         * doc/posix-functions/fstat.texi: Tweak wording.
30071         * doc/posix-functions/opendir.texi: Mention that the module fixes the
30072         problems with huge directories and/or small ino_t types.
30073         * doc/posix-functions/readdir.texi: Likewise.
30074         * doc/posix-functions/rewinddir.texi: Likewise.
30076 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
30078         maint.mk: don't maintain a second build-aux variable.
30079         * maint.mk (build_aux): Removed.  The maintainer-makefile module
30080         depends on GNUmakefile, which already maintains a cfg.mk
30081         overridable $(_build-aux) for projects with a non-standard
30082         build-aux directory location, although without the $(srcdir)
30083         prefix.  Use that variable consistently instead of introducing a
30084         second one.  Adjust all call sites.
30086 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
30088         Add stdalign module and use it in other modules.
30089         This is based on a previous proposal by Bruno Haible
30090         <https://lists.gnu.org/r/bug-gnulib/2011-07/msg00226.html>.
30092         stdalign: new module
30093         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
30094         * modules/stdalign: New files.
30095         * MODULES.html.sh (c1x_core_properties): Add stdalign.
30096         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
30098         stdalign-tests: new module
30099         * modules/stdalign-tests, tests/test-stdalign.c: New files.
30101         argp: use stdalign
30102         * lib/argp-parse.c: Include <stdalign.h>.
30103         (alignof): Remove.
30104         * modules/argp (Depends-on): Add stdalign.
30106         crypto libraries: use stdalign
30107         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
30108         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
30109         Do not include <stdlib.h> twice, in md4.c.
30110         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
30111         because we are accessing a pointer's bit-pattern, not a size.
30112         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
30113         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
30114         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
30115         * modules/crypto/sha512: Likewise.
30117         sys_socket: use stdalign, not alignof
30118         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
30119         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
30121 2011-10-27  Bruno Haible  <bruno@clisp.org>
30123         raise test: Avoid a test failure on Linux/MIPS.
30124         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
30125         because 99 is a valid signal on Linux/MIPS.
30127 2011-10-27  Bruno Haible  <bruno@clisp.org>
30129         nonblocking tests: Fix test failure on Linux/MIPS.
30130         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
30131         Set to 270000.
30133 2011-10-27  Bruno Haible  <bruno@clisp.org>
30135         utimensat: Work around problem on Linux/hppa.
30136         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
30137         values.
30138         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
30140 2011-10-25  Jim Meyering  <meyering@redhat.com>
30142         maint.mk: fix a bug in sc_prohibit_stddef_without_use
30143         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
30144         after symbols like NULL, size_t, etc.
30145         Reported by Alfred M. Szmidt.
30147         maint.mk: exempt ENODATA from a syntax-check rule
30148         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
30149         from the sc_prohibit_always-defined_macros syntax-check rule.
30150         Add a comment.  See this for more details:
30151         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
30153 2011-10-23  Jim Meyering  <meyering@redhat.com>
30155         fts: close parent dir FD before returning from post-traversal fts_read
30156         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
30157         unlink A, even though an FD open on A remained.  This is suboptimal
30158         (holding a file descriptor open longer than needed), but otherwise not
30159         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
30160         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
30161         that represents a real problem: it causes the removal of A to fail
30162         with e.g., "rm: cannot remove `A': Device or resource busy"
30164         fts visits each directory twice and keeps a cache (fts_fd_ring) of
30165         directory file descriptors.  After completing the final, FTS_DP,
30166         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
30167         cache, but then proceeded to add a new FD to it via the subsequent
30168         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
30169         final file descriptor would be closed only via fts_close's call to
30170         fd_ring_clear.  Now, it is usually closed earlier, via the final
30171         FTS_DP-returning fts_read call.
30172         * lib/fts.c (restore_initial_cwd): New function, converted from
30173         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
30174         Update callers.
30175         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
30176         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
30178 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
30179             Bruno Haible  <bruno@clisp.org>
30180             Jim Meyering  <jim@meyering.net>
30182         readme-release: improve safety of release prep instructions.
30183         * README-release: Don't git pull all branches when only master
30184         is needed for the release process.
30185         Run make maintainer-clean before changing trees and merging.
30186         Don't try to run ./configure right after git pull in case files
30187         that influence the bootstrap process have changed, move the
30188         ./configure step to after running ./bootstrap.
30189         Don't bootstrap "one last time"... it's the first time!
30191 2011-10-22  Bruno Haible  <bruno@clisp.org>
30193         errno, strerror-override: Support for MSVC 10.
30194         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
30195         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
30196         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
30197         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
30198         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
30199         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
30200         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
30201         Assign values compatible with MSVC 10.
30202         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
30203         New macros.
30204         (GNULIB_defined_EWINSOCK): New macro.
30205         * lib/strerror-override.c (strerror_override): Update accordingly.
30206         * lib/strerror-override.h: Likewise.
30207         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
30208         longer equal to the corresponding errno value.
30209         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
30211 2011-10-22  Bruno Haible  <bruno@clisp.org>
30213         perror: Recognize when test program crashes.
30214         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
30215         strerror, set gl_cv_func_perror_works to no.
30216         Reported by Daniel Richard G. <skunk@iskunk.org>.
30218         perror: Fix indentation.
30219         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
30221 2011-10-22  Bruno Haible  <bruno@clisp.org>
30223         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
30224         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
30225         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
30226         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
30227         functions, not as a macro.
30228         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
30229         macros.
30230         (isfinite, isinf, isnan, signbit): Check overloaded functions and
30231         absence of macro.
30232         Suggested by Eric Blake.
30233         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
30235 2011-10-21  Bruno Haible  <bruno@clisp.org>
30237         relocatable-prog-wrapper: Don't leave object files behind.
30238         * build-aux/install-reloc: Re-synchronize list of .o files to be
30239         removed with list of compilation units.
30241 2011-10-20  Bruno Haible  <bruno@clisp.org>
30243         openpty, posix_openpt: Remove code duplication.
30244         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
30245         * lib/openpty.c: Include <stdlib.h>.
30246         (openpty): Use posix_openpt on all platforms except IRIX.
30247         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
30249 2011-10-20  Bruno Haible  <bruno@clisp.org>
30251         unlockpt: Detect invalid argument.
30252         * lib/unlockpt.c: Include <fcntl.h>.
30253         (unlockpt): Check whether fd is valid, using fcntl().
30254         * modules/unlockpt (Depends-on): Add fcntl-h.
30256 2011-10-20  Bruno Haible  <bruno@clisp.org>
30258         openpty: Avoid compilation error on AIX 6.1.
30259         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
30261 2011-10-20  Bruno Haible  <bruno@clisp.org>
30263         posix_openpt: Support for OpenBSD.
30264         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
30265         (posix_openpt) [OpenBSD]: New code.
30266         * lib/grantpt.c: Include <fcntl.h>.
30267         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
30268         * modules/grantpt (Depends-on): Add fcntl-h.
30270 2011-10-20  Bruno Haible  <bruno@clisp.org>
30272         posix_openpt test: Coding style.
30273         * tests/test-posix_openpt.c: Use GNU coding style.
30275 2011-10-20  Bruno Haible  <bruno@clisp.org>
30277         grantpt: Support --avoid=pt_chown.
30278         * modules/grantpt (Files): Add lib/pty-private.h.
30280 2011-10-20  Bruno Haible  <bruno@clisp.org>
30282         posix_openpt: Fix autoconf macro.
30283         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
30284         unneeded check for _getpty.
30286 2011-10-20  Bruno Haible  <bruno@clisp.org>
30288         openpty: Update comments.
30289         * lib/openpty.c: Add comments about Minix.
30291 2011-10-19  Eric Blake  <eblake@redhat.com>
30293         openpty: relax license
30294         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
30296         pt_chown: use configmake to simplify build
30297         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
30299         ptsname and others: relax license
30300         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
30301         * modules/unlockpt (License): Likewise.
30302         * modules/pt_chown (License): Likewise.
30303         * modules/ptsname (License): Likewise.
30304         * modules/ttyname_r (License): Likewise.
30306 2011-10-19  Jim Meyering  <meyering@redhat.com>
30308         posix_openpt: remove spurious #endif
30309         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
30311 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
30313         maint.mk: Respect $(build_aux) in web-manual rule.
30314         * top/maint.mk (web-manual): Find gen-announce script in user's
30315         $(build_aux) directory instead of hard-coding 'build-aux'.
30317 2011-10-19  Bruno Haible  <bruno@clisp.org>
30319         posix_openpt: Fix compilation error.
30320         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
30321         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
30322         Mention the openpty module as an alternative.
30324 2011-10-19  Bruno Haible  <bruno@clisp.org>
30326         Support for old NeXTstep 3.3 frexp().
30327         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
30328         execution time of the test to 5 seconds.
30329         Reported by Daniel Richard G. <skunk@iskunk.org>.
30331 2011-10-19  Bruno Haible  <bruno@clisp.org>
30333         Support for old NeXTstep 3.3 sed.
30334         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
30335         part, use /.../, not \|...|. Escape periods in the header file name.
30336         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
30337         Reported by Daniel Richard G. <skunk@iskunk.org>.
30339 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
30341         Support for old NeXTstep 3.3 gcc.
30342         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
30343         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
30344         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
30345         * lib/spawn.in.h (_Restrict_arr_): Likewise.
30346         * lib/regex.h (_Restrict_arr_): Likewise.
30347         * lib/regex_internal.h (re_token_t): Likewise.
30348         * lib/regexec.c (check_node_accept_bytes): Likewise.
30349         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
30351 2011-10-18  Eric Blake  <eblake@redhat.com>
30353         posix_openpt: new module
30354         * modules/posix_openpt: New module.
30355         * m4/posix_openpt.m4: New file.
30356         * lib/posix_openpt.c: Likewise.
30357         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
30358         (gl_STDLIB_H_DEFAULTS): Set defaults.
30359         * modules/stdlib (Makefile.am): Substitute macros.
30360         * lib/stdlib.in.h (posix_openpt): Declare.
30361         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
30362         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
30363         * modules/posix_openpt-tests: New test module.
30364         * tests/test-posix_openpt.c: New test.
30366 2011-10-15  Bruno Haible  <bruno@clisp.org>
30368         xstrtoll: Fix compilation failure.
30369         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
30370         from lib/strtol.c.
30371         * doc/posix-headers/limits.texi: Mention missing numerical limits on
30372         some platforms.
30373         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
30375 2011-10-15  Bruno Haible  <bruno@clisp.org>
30377         vasnprintf: Optimize bit search operation.
30378         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
30379         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
30380         gl_DOUBLE_EXPONENT_LOCATION.
30381         * modules/vasnprintf (Files): Add m4/exponentd.m4.
30382         * modules/unistdio/u8-vasnprintf (Files): Likewise.
30383         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
30384         * modules/unistdio/u16-vasnprintf (Files): Likewise.
30385         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
30386         * modules/unistdio/u32-vasnprintf (Files): Likewise.
30387         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
30388         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
30389         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
30391 2011-10-15  Bruno Haible  <bruno@clisp.org>
30393         vasnprintf: Fix comments.
30394         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
30396 2011-10-14  Bruno Haible  <bruno@clisp.org>
30398         Tests for module 'integer_length_ll'.
30399         * modules/integer_length_ll-tests: New file.
30400         * tests/test-integer_length_ll.c: New file.
30402         New module 'integer_length_ll'.
30403         * lib/integer_length_ll.c: New file.
30404         * modules/integer_length_ll: New file.
30406 2011-10-14  Bruno Haible  <bruno@clisp.org>
30408         Tests for module 'integer_length_l'.
30409         * modules/integer_length_l-tests: New file.
30410         * tests/test-integer_length_l.c: New file.
30412         New module 'integer_length_l'.
30413         * lib/integer_length_l.c: New file.
30414         * modules/integer_length_l: New file.
30416 2011-10-14  Bruno Haible  <bruno@clisp.org>
30418         Tests for module 'integer_length'.
30419         * modules/integer_length-tests: New file.
30420         * tests/test-integer_length.c: New file.
30422         New module 'integer_length'.
30423         * lib/integer_length.h: New file.
30424         * lib/integer_length.c: New file.
30425         * modules/integer_length: New file.
30427 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
30429         popen: Fix dependency conditions.
30430         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
30432 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
30434         perror: Fix autoconf test.
30435         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
30436         <stdlib.h> and <string.h>.
30438 2011-10-14  Bruno Haible  <bruno@clisp.org>
30440         ffsl: Optimize on 64-bit platforms.
30441         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
30442         unrolling.
30444 2011-10-13  Bruno Haible  <bruno@clisp.org>
30446         ffsl: Optimize on 32-bit platforms.
30447         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
30448         use ffs() without a loop.
30450         ffsl, ffsll: Optimize for GCC.
30451         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
30452         * lib/ffsl.c (GCC_BUILTIN): New macro.
30453         * lib/ffsll.c (GCC_BUILTIN): Likewise.
30455 2011-10-13  Bruno Haible  <bruno@clisp.org>
30457         ffs, bcopy, memset: Support symbol renaming via config.h.
30458         * lib/ffs.c: Include <config.h>.
30459         * lib/bcopy.c: Likewise.
30460         * lib/memset.c: Likewise.
30462 2011-10-10  Bruno Haible  <bruno@clisp.org>
30464         atanl: Simplify for platforms where 'long double' == 'double'.
30465         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
30466         alternative implementation.
30467         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
30468         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
30469         * modules/atanl (Depends-on): Add atan. Update conditions.
30471 2011-10-10  Bruno Haible  <bruno@clisp.org>
30473         acosl: Simplify for platforms where 'long double' == 'double'.
30474         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
30475         alternative implementation.
30476         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
30477         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
30478         * modules/acosl (Depends-on): Add acos. Update conditions.
30480 2011-10-10  Bruno Haible  <bruno@clisp.org>
30482         asinl: Simplify for platforms where 'long double' == 'double'.
30483         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
30484         alternative implementation.
30485         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
30486         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
30487         * modules/asinl (Depends-on): Add asin. Update conditions.
30489 2011-10-10  Bruno Haible  <bruno@clisp.org>
30491         tanl: Simplify for platforms where 'long double' == 'double'.
30492         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
30493         implementation.
30494         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
30495         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
30496         * modules/tanl (Depends-on): Add tan. Update conditions.
30497         (configure.ac): Don't compile trigl.c if
30498         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
30500 2011-10-10  Bruno Haible  <bruno@clisp.org>
30502         cosl: Simplify for platforms where 'long double' == 'double'.
30503         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
30504         implementation.
30505         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
30506         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
30507         * modules/cosl (Depends-on): Add cos. Update conditions.
30508         (configure.ac): Don't compile sincosl.c and trigl.c if
30509         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
30511 2011-10-10  Bruno Haible  <bruno@clisp.org>
30513         sinl: Simplify for platforms where 'long double' == 'double'.
30514         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
30515         implementation.
30516         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
30517         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
30518         * modules/sinl (Depends-on): Add sin. Update conditions.
30519         (configure.ac): Don't compile sincosl.c and trigl.c if
30520         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
30522 2011-10-10  Bruno Haible  <bruno@clisp.org>
30524         logl: Simplify for platforms where 'long double' == 'double'.
30525         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
30526         implementation.
30527         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
30528         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
30529         * modules/logl (Depends-on): Add log. Update conditions.
30531 2011-10-10  Bruno Haible  <bruno@clisp.org>
30533         expl: Simplify for platforms where 'long double' == 'double'.
30534         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
30535         implementation.
30536         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
30537         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
30538         * modules/expl (Depends-on): Add exp. Update conditions.
30540 2011-10-10  Bruno Haible  <bruno@clisp.org>
30542         sqrtl: Simplify for platforms where 'long double' == 'double'.
30543         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
30544         alternative implementation.
30545         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
30546         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
30547         * modules/sqrtl (Depends-on): Update conditions.
30549 2011-10-10  Bruno Haible  <bruno@clisp.org>
30551         ldexpl: Simplify for platforms where 'long double' == 'double'.
30552         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
30553         alternative implementation.
30554         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
30555         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
30556         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
30558 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
30560         ffsll: set correct witness
30561         * modules/ffsll (configure.ac): Fix typo.
30563 2011-10-10  Bruno Haible  <bruno@clisp.org>
30565         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
30566         * lib/printf-frexpl.c: Include <config.h>.
30567         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
30568         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
30569         second time.
30570         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
30571         gl_LONG_DOUBLE_VS_DOUBLE.
30572         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
30573         conditions.
30575 2011-10-10  Bruno Haible  <bruno@clisp.org>
30577         frexpl: Simplify for platforms where 'long double' == 'double'.
30578         * lib/frexpl.c: Include <config.h>.
30579         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
30580         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
30581         time.
30582         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
30583         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
30584         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
30585         * modules/frexpl (Depends-on): Add frexp. Update conditions.
30586         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
30587         conditions.
30589 2011-10-10  Jim Meyering  <meyering@redhat.com>
30591         test-renameat: don't leave behind a temporary file
30592         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
30593           ERROR: files left in build directory after distclean:
30594           ./gltests/test-renameat.too
30595           make[1]: *** [distcleancheck] Error 1
30596         Reported by Tom G. Christensen.
30598 2011-10-09  Bruno Haible  <bruno@clisp.org>
30600         rint: Determine RINT_LIBM correctly on AIX 7.
30601         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
30602         directly, not only through a function pointer. Also accept an optional
30603         4th argument with extra code.
30604         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
30605         rintf() call by gcc when optimizing.
30607         mathfunc.m4: Refactor.
30608         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
30609         m4 variable.
30611 2011-10-09  Bruno Haible  <bruno@clisp.org>
30613         rintl: Simplify for platforms where 'long double' == 'double'.
30614         * lib/rintl.c: Include <config.h>.
30615         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
30616         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
30617         time.
30618         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
30619         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
30620         * modules/rintl (Depends-on): Add rint. Update conditions.
30622 2011-10-09  Bruno Haible  <bruno@clisp.org>
30624         roundl: Simplify for platforms where 'long double' == 'double'.
30625         * lib/roundl.c: Include <config.h>.
30626         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
30627         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
30628         time.
30629         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
30630         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
30631         * modules/roundl (Depends-on): Add round. Update conditions.
30633 2011-10-09  Bruno Haible  <bruno@clisp.org>
30635         truncl: Simplify for platforms where 'long double' == 'double'.
30636         * lib/truncl.c: Include <config.h>.
30637         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
30638         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
30639         time.
30640         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
30641         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
30642         * modules/truncl (Depends-on): Add trunc. Update conditions.
30644 2011-10-09  Bruno Haible  <bruno@clisp.org>
30646         ceill: Simplify for platforms where 'long double' == 'double'.
30647         * lib/ceill.c: Include <config.h>.
30648         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
30649         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
30650         time.
30651         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
30652         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
30653         * modules/ceill (Depends-on): Add ceil. Update conditions.
30655 2011-10-09  Bruno Haible  <bruno@clisp.org>
30657         floorl: Simplify for platforms where 'long double' == 'double'.
30658         * lib/floorl.c: Include <config.h>.
30659         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
30660         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
30661         time.
30662         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
30663         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
30664         * modules/floorl (Depends-on): Add floor. Update conditions.
30666 2011-10-09  Bruno Haible  <bruno@clisp.org>
30668         rint: Fix ordering constraints.
30669         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
30670         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
30671         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
30673 2011-10-09  Bruno Haible  <bruno@clisp.org>
30675         copysignl: Simplify for platforms where 'long double' == 'double'.
30676         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
30677         alternative.
30678         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
30679         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
30680         * modules/copysignl (Depends-on): Add copysign. Update conditions.
30682 2011-10-09  Bruno Haible  <bruno@clisp.org>
30684         Tests for module 'rintl'.
30685         * modules/rintl-tests: New file.
30686         * tests/test-rintl.c: New file.
30688         New module 'rintl'.
30689         * lib/math.in.h (rintl): New declaration.
30690         * lib/rintl.c: New file.
30691         * m4/rintl.m4: New file.
30692         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
30693         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
30694         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
30695         * modules/rintl: New file.
30696         * tests/test-math-c++.cc: Check the declaration of rintl.
30697         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
30698         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
30699         * doc/posix-functions/rintl.texi: Mention the new module.
30701 2011-10-09  Bruno Haible  <bruno@clisp.org>
30703         Tests for module 'rintf'.
30704         * modules/rintf-tests: New file.
30705         * tests/test-rintf.c: New file.
30707         New module 'rintf'.
30708         * lib/math.in.h (rintf): New declaration.
30709         * lib/rintf.c: New file.
30710         * m4/rintf.m4: New file.
30711         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
30712         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
30713         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
30714         * modules/rintf: New file.
30715         * tests/test-math-c++.cc: Check the declaration of rintf.
30716         * doc/posix-functions/rintf.texi: Mention the new module.
30718 2011-10-09  Bruno Haible  <bruno@clisp.org>
30720         rint: Support for MSVC.
30721         * lib/math.in.h (rint): New declaration.
30722         * lib/rint.c: New file.
30723         * m4/rint.m4: New file.
30724         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
30725         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
30726         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
30727         * modules/rint (Description): Fix.
30728         (Files): Add lib/rint.c, m4/rint.m4.
30729         (Depends-on): Add math.
30730         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
30731         gl_MATH_MODULE_INDICATOR.
30732         * tests/test-math-c++.cc: Check the declaration of rint.
30733         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
30734         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
30735         * doc/posix-functions/rint.texi: Mention the replacement provided by
30736         the module.
30738         rint tests: More tests.
30739         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
30740         minus-zero.h, infinity.h, nan.h.
30741         (main): Skip the test if the current rounding mode is not standard. Add
30742         tests for negative numbers, minus zero, infinity, NaN.
30743         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
30744         tests/nan.h.
30745         (Depends-on): Add isnand-nolibm.
30747 2011-10-09  Bruno Haible  <bruno@clisp.org>
30749         Tests for module 'copysignl'.
30750         * modules/copysignl-tests: New file.
30751         * tests/test-copysignl.c: New file.
30753         New module 'copysignl'.
30754         * lib/math.in.h (copysignl): New declaration.
30755         * lib/copysignl.c: New file.
30756         * m4/copysignl.m4: New file.
30757         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
30758         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
30759         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
30760         HAVE_COPYSIGNL.
30761         * modules/copysignl: New file.
30762         * tests/test-math-c++.cc: Check the declaration of copysignl.
30763         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
30764         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
30765         * doc/posix-functions/copysignl.texi: Mention the new module.
30767 2011-10-09  Bruno Haible  <bruno@clisp.org>
30769         Tests for module 'copysignf'.
30770         * modules/copysignf-tests: New file.
30771         * tests/test-copysignf.c: New file.
30773         New module 'copysignf'.
30774         * lib/math.in.h (copysignf): New declaration.
30775         * lib/copysignf.c: New file.
30776         * m4/copysignf.m4: New file.
30777         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
30778         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
30779         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
30780         HAVE_COPYSIGNF.
30781         * modules/copysignf: New file.
30782         * tests/test-math-c++.cc: Check the declaration of copysignf.
30783         * doc/posix-functions/copysignf.texi: Mention the new module.
30785 2011-10-09  Bruno Haible  <bruno@clisp.org>
30787         Ensure that HAVE_* variables are set to 1 before they are set to 0.
30788         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
30789         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
30790         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
30791         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
30792         gl_SIGNAL_H_DEFAULTS.
30794 2011-10-09  Bruno Haible  <bruno@clisp.org>
30796         poll: Make macro safer.
30797         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
30798         ac_cv_header_poll_h is not set.
30800 2011-10-09  Bruno Haible  <bruno@clisp.org>
30802         copysign: Provide replacement.
30803         * lib/math.in.h (copysign): New declaration.
30804         * lib/copysign.c: New file.
30805         * m4/copysign.m4: New file.
30806         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
30807         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
30808         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
30809         HAVE_COPYSIGN.
30810         * modules/copysign (Description): Clarify.
30811         (Files): Add lib/copysign.c, m4/copysign.m4.
30812         (Depends-on): Add math, signbit.
30813         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
30814         gl_MATH_MODULE_INDICATOR.
30815         * tests/test-math-c++.cc: Check the declaration of copysign.
30816         * doc/posix-functions/copysign.texi: Mention the effects of the module
30817         on Minix and MSVC.
30819 2011-10-09  Bruno Haible  <bruno@clisp.org>
30821         isinf: Ensure macro on AIX 5.1.
30822         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
30823         macro.
30824         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
30826 2011-10-09  Bruno Haible  <bruno@clisp.org>
30828         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
30829         * modules/snprintf-posix-tests (configure.ac): Require
30830         gl_LONG_DOUBLE_VS_DOUBLE.
30831         * modules/sprintf-posix-tests (configure.ac): Likewise.
30832         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
30833         * modules/vasprintf-posix-tests (configure.ac): Likewise.
30834         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
30835         * modules/vsprintf-posix-tests (configure.ac): Likewise.
30836         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
30837         tests on platforms where 'long double' is the same as 'double'.
30838         * tests/test-sprintf-posix.h (test_function): Likewise.
30839         * tests/test-vasnprintf-posix.c (test_function): Likewise.
30840         * tests/test-vasprintf-posix.c (test_function): Likewise.
30842         *printf: Fix for platforms where 'long double' == 'double'.
30843         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
30844         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
30845         * modules/dprintf-posix (Files): Add m4/math_h.m4.
30846         * modules/fprintf-posix (Files): Likewise.
30847         * modules/obstack-printf-posix (Files): Likewise.
30848         * modules/snprintf-posix (Files): Likewise.
30849         * modules/sprintf-posix (Files): Likewise.
30850         * modules/vasnprintf (Files): Likewise.
30851         * modules/vasnprintf-posix (Files): Likewise.
30852         * modules/vasprintf-posix (Files): Likewise.
30853         * modules/vdprintf-posix (Files): Likewise.
30854         * modules/vfprintf-posix (Files): Likewise.
30855         * modules/vsnprintf-posix (Files): Likewise.
30856         * modules/vsprintf-posix (Files): Likewise.
30857         * modules/unistdio/u8-vasnprintf (Files): Likewise.
30858         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
30859         * modules/unistdio/u16-vasnprintf (Files): Likewise.
30860         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
30861         * modules/unistdio/u32-vasnprintf (Files): Likewise.
30862         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
30863         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
30865         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
30866         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
30867         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
30868         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
30869         'long double'.
30870         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
30872         isinf: Fix for platforms where 'long double' == 'double'.
30873         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
30874         Don't blindly assume 80-bit 'long double'.
30876         isfinite: Fix for platforms where 'long double' == 'double'.
30877         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
30878         Don't blindly assume 80-bit 'long double'.
30880         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
30881         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
30882         * modules/isfinite-tests (configure.ac): Require
30883         gl_LONG_DOUBLE_VS_DOUBLE.
30884         * modules/isinf-tests (configure.ac): Likewise.
30885         * modules/isnan-tests (configure.ac): Likewise.
30886         * modules/isnanl-tests (configure.ac): Likewise.
30887         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
30888         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
30889         tests on platforms where 'long double' is the same as 'double'.
30890         * tests/test-isinf.c (test_isinfl): Likewise.
30891         * tests/test-isnan.c (test_long_double): Likewise.
30892         * tests/test-isnanl.h (main): Likewise.
30894 2011-10-08  Bruno Haible  <bruno@clisp.org>
30896         Tests for module 'tanhf'.
30897         * modules/tanhf-tests: New file.
30898         * tests/test-tanhf.c: New file.
30900         New module 'tanhf'.
30901         * lib/math.in.h (tanhf): New declaration.
30902         * lib/tanhf.c: New file.
30903         * m4/tanhf.m4: New file.
30904         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
30905         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
30906         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
30907         * modules/tanhf: New file.
30908         * tests/test-math-c++.cc: Check the declaration of tanhf.
30909         * doc/posix-functions/tanhf.texi: Mention the new module.
30911         tanh: Use a .m4 file.
30912         * m4/tanh.m4: New file.
30913         * modules/tanh (Files): Add it.
30914         (configure.ac): Just invoke gl_FUNC_TANH.
30916 2011-10-08  Bruno Haible  <bruno@clisp.org>
30918         Tests for module 'coshf'.
30919         * modules/coshf-tests: New file.
30920         * tests/test-coshf.c: New file.
30922         New module 'coshf'.
30923         * lib/math.in.h (coshf): New declaration.
30924         * lib/coshf.c: New file.
30925         * m4/coshf.m4: New file.
30926         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
30927         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
30928         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
30929         * modules/coshf: New file.
30930         * tests/test-math-c++.cc: Check the declaration of coshf.
30931         * doc/posix-functions/coshf.texi: Mention the new module.
30933         cosh: Use a .m4 file.
30934         * m4/cosh.m4: New file.
30935         * modules/cosh (Files): Add it.
30936         (configure.ac): Just invoke gl_FUNC_COSH.
30938 2011-10-08  Bruno Haible  <bruno@clisp.org>
30940         Tests for module 'sinhf'.
30941         * modules/sinhf-tests: New file.
30942         * tests/test-sinhf.c: New file.
30944         New module 'sinhf'.
30945         * lib/math.in.h (sinhf): New declaration.
30946         * lib/sinhf.c: New file.
30947         * m4/sinhf.m4: New file.
30948         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
30949         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
30950         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
30951         * modules/sinhf: New file.
30952         * tests/test-math-c++.cc: Check the declaration of sinhf.
30953         * doc/posix-functions/sinhf.texi: Mention the new module.
30955         sinh: Use a .m4 file.
30956         * m4/sinh.m4: New file.
30957         * modules/sinh (Files): Add it.
30958         (configure.ac): Just invoke gl_FUNC_SINH.
30960 2011-10-08  Bruno Haible  <bruno@clisp.org>
30962         Tests for module 'atan2f'.
30963         * modules/atan2f-tests: New file.
30964         * tests/test-atan2f.c: New file.
30966         New module 'atan2f'.
30967         * lib/math.in.h (atan2f): New declaration.
30968         * lib/atan2f.c: New file.
30969         * m4/atan2f.m4: New file.
30970         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
30971         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
30972         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
30973         * modules/atan2f: New file.
30974         * tests/test-math-c++.cc: Check the declaration of atan2f.
30975         * doc/posix-functions/atan2f.texi: Mention the new module.
30977         atan2: Use a .m4 file.
30978         * m4/atan2.m4: New file.
30979         * modules/atan2 (Files): Add it.
30980         (configure.ac): Just invoke gl_FUNC_ATAN2.
30982 2011-10-08  Bruno Haible  <bruno@clisp.org>
30984         Tests for module 'atanf'.
30985         * modules/atanf-tests: New file.
30986         * tests/test-atanf.c: New file.
30988         New module 'atanf'.
30989         * lib/math.in.h (atanf): New declaration.
30990         * lib/atanf.c: New file.
30991         * m4/atanf.m4: New file.
30992         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
30993         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
30994         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
30995         * modules/atanf: New file.
30996         * tests/test-math-c++.cc: Check the declaration of atanf.
30997         * doc/posix-functions/atanf.texi: Mention the new module.
30999         atan: Use a .m4 file.
31000         * m4/atan.m4: New file.
31001         * modules/atan (Files): Add it.
31002         (configure.ac): Just invoke gl_FUNC_ATAN.
31004 2011-10-08  Bruno Haible  <bruno@clisp.org>
31006         Tests for module 'acosf'.
31007         * modules/acosf-tests: New file.
31008         * tests/test-acosf.c: New file.
31010         New module 'acosf'.
31011         * lib/math.in.h (acosf): New declaration.
31012         * lib/acosf.c: New file.
31013         * m4/acosf.m4: New file.
31014         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
31015         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
31016         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
31017         * modules/acosf: New file.
31018         * tests/test-math-c++.cc: Check the declaration of acosf.
31019         * doc/posix-functions/acosf.texi: Mention the new module.
31021         acos: Use a .m4 file.
31022         * m4/acos.m4: New file.
31023         * modules/acos (Files): Add it.
31024         (configure.ac): Just invoke gl_FUNC_ACOS.
31026 2011-10-08  Bruno Haible  <bruno@clisp.org>
31028         Tests for module 'asinf'.
31029         * modules/asinf-tests: New file.
31030         * tests/test-asinf.c: New file.
31032         New module 'asinf'.
31033         * lib/math.in.h (asinf): New declaration.
31034         * lib/asinf.c: New file.
31035         * m4/asinf.m4: New file.
31036         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
31037         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
31038         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
31039         * modules/asinf: New file.
31040         * tests/test-math-c++.cc: Check the declaration of asinf.
31041         * doc/posix-functions/asinf.texi: Mention the new module.
31043         asin: Use a .m4 file.
31044         * m4/asin.m4: New file.
31045         * modules/asin (Files): Add it.
31046         (configure.ac): Just invoke gl_FUNC_ASIN.
31048 2011-10-08  Bruno Haible  <bruno@clisp.org>
31050         Tests for module 'tanf'.
31051         * modules/tanf-tests: New file.
31052         * tests/test-tanf.c: New file.
31054         New module 'tanf'.
31055         * lib/math.in.h (tanf): New declaration.
31056         * lib/tanf.c: New file.
31057         * m4/tanf.m4: New file.
31058         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
31059         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
31060         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
31061         * modules/tanf: New file.
31062         * tests/test-math-c++.cc: Check the declaration of tanf.
31063         * doc/posix-functions/tanf.texi: Mention the new module.
31065         tan: Use a .m4 file.
31066         * m4/tan.m4: New file.
31067         * modules/tan (Files): Add it.
31068         (configure.ac): Just invoke gl_FUNC_TAN.
31070 2011-10-08  Bruno Haible  <bruno@clisp.org>
31072         Tests for module 'cosf'.
31073         * modules/cosf-tests: New file.
31074         * tests/test-cosf.c: New file.
31076         New module 'cosf'.
31077         * lib/math.in.h (cosf): New declaration.
31078         * lib/cosf.c: New file.
31079         * m4/cosf.m4: New file.
31080         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
31081         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
31082         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
31083         * modules/cosf: New file.
31084         * tests/test-math-c++.cc: Check the declaration of cosf.
31085         * doc/posix-functions/cosf.texi: Mention the new module.
31087         cos: Use a .m4 file.
31088         * m4/cos.m4: New file.
31089         * modules/cos (Files): Add it.
31090         (configure.ac): Just invoke gl_FUNC_COS.
31092 2011-10-08  Bruno Haible  <bruno@clisp.org>
31094         Tests for module 'sinf'.
31095         * modules/sinf-tests: New file.
31096         * tests/test-sinf.c: New file.
31098         New module 'sinf'.
31099         * lib/math.in.h (sinf): New declaration.
31100         * lib/sinf.c: New file.
31101         * m4/sinf.m4: New file.
31102         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
31103         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
31104         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
31105         * modules/sinf: New file.
31106         * tests/test-math-c++.cc: Check the declaration of sinf.
31107         * doc/posix-functions/sinf.texi: Mention the new module.
31109         sin: Use a .m4 file.
31110         * m4/sin.m4: New file.
31111         * modules/sin (Files): Add it.
31112         (configure.ac): Just invoke gl_FUNC_SIN.
31114 2011-10-08  Bruno Haible  <bruno@clisp.org>
31116         Tests for module 'powf'.
31117         * modules/powf-tests: New file.
31118         * tests/test-powf.c: New file.
31120         New module 'powf'.
31121         * lib/math.in.h (powf): New declaration.
31122         * lib/powf.c: New file.
31123         * m4/powf.m4: New file.
31124         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
31125         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
31126         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
31127         * modules/powf: New file.
31128         * tests/test-math-c++.cc: Check the declaration of powf.
31129         * doc/posix-functions/powf.texi: Mention the new module.
31131         pow: Use a .m4 file.
31132         * m4/pow.m4: New file.
31133         * modules/pow (Files): Add it.
31134         (configure.ac): Just invoke gl_FUNC_POW.
31136 2011-10-08  Bruno Haible  <bruno@clisp.org>
31138         Tests for module 'log10f'.
31139         * modules/log10f-tests: New file.
31140         * tests/test-log10f.c: New file.
31142         New module 'log10f'.
31143         * lib/math.in.h (log10f): New declaration.
31144         * lib/log10f.c: New file.
31145         * m4/log10f.m4: New file.
31146         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
31147         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
31148         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
31149         * modules/log10f: New file.
31150         * tests/test-math-c++.cc: Check the declaration of log10f.
31151         * doc/posix-functions/log10f.texi: Mention the new module.
31153         log10: Use a .m4 file.
31154         * m4/log10.m4: New file.
31155         * modules/log10 (Files): Add it.
31156         (configure.ac): Just invoke gl_FUNC_LOG10.
31158 2011-10-08  Bruno Haible  <bruno@clisp.org>
31160         Tests for module 'logf'.
31161         * modules/logf-tests: New file.
31162         * tests/test-logf.c: New file.
31164         New module 'logf'.
31165         * lib/math.in.h (logf): New declaration.
31166         * lib/logf.c: New file.
31167         * m4/logf.m4: New file.
31168         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
31169         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
31170         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
31171         * modules/logf: New file.
31172         * tests/test-math-c++.cc: Check the declaration of logf.
31173         * doc/posix-functions/logf.texi: Mention the new module.
31175         log: Use a .m4 file.
31176         * m4/log.m4: New file.
31177         * modules/log (Files): Add it.
31178         (configure.ac): Just invoke gl_FUNC_LOG.
31180 2011-10-08  Bruno Haible  <bruno@clisp.org>
31182         Tests for module 'expf'.
31183         * modules/expf-tests: New file.
31184         * tests/test-expf.c: New file.
31186         New module 'expf'.
31187         * lib/math.in.h (expf): New declaration.
31188         * lib/expf.c: New file.
31189         * m4/expf.m4: New file.
31190         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
31191         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
31192         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
31193         * modules/expf: New file.
31194         * tests/test-math-c++.cc: Check the declaration of expf.
31195         * doc/posix-functions/expf.texi: Mention the new module.
31197         exp: Use a .m4 file.
31198         * m4/exp.m4: New file.
31199         * modules/exp (Files): Add it.
31200         (configure.ac): Just invoke gl_FUNC_EXP.
31202 2011-10-08  Bruno Haible  <bruno@clisp.org>
31204         Tests for module 'sqrtf'.
31205         * modules/sqrtf-tests: New file.
31206         * tests/test-sqrtf.c: New file.
31208         New module 'sqrtf'.
31209         * lib/math.in.h (sqrtf): New declaration.
31210         * lib/sqrtf.c: New file.
31211         * m4/sqrtf.m4: New file.
31212         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
31213         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
31214         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
31215         * modules/sqrtf: New file.
31216         * tests/test-math-c++.cc: Check the declaration of sqrtf.
31217         * doc/posix-functions/sqrtf.texi: Mention the new module.
31219 2011-10-08  Bruno Haible  <bruno@clisp.org>
31221         Tests: Avoid link failures w.r.t. libintl.
31222         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
31223         $(LIBINTL).
31224         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
31225         $(LIBINTL).
31226         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
31227         against $(LIBINTL).
31228         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
31229         $(LIBINTL).
31230         * modules/openat-tests (Makefile.am): Link test-fchmodat against
31231         $(LIBINTL).
31232         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
31234 2011-10-08  Bruno Haible  <bruno@clisp.org>
31236         pow tests: Defeat compiler optimizations.
31237         * tests/test-pow.c (main): Assign arguments to x and y before use.
31239 2011-10-08  Bruno Haible  <bruno@clisp.org>
31241         gnulib-tool: Improve last commit.
31242         * gnulib-tool (func_modules_transitive_closure): Simplify code.
31243         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
31244         ignore dependencies that are not among the modules list.
31246 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
31248         gnulib-tool: don't follow dependencies to avoided modules
31249         This fixes a bug that is related to the previous one.
31250         * gnulib-tool (func_modules_transitive_closure)
31251         (func_emit_autoconf_snippets):
31252         Check whether a dependency is acceptable before using it.
31253         (--extract-dependencies): Report an error if --avoid is also used,
31254         since this combination of options is not yet supported.
31256         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
31257         Problem reported by Peter Dyballa in
31258         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
31259         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
31260         when echoing "$condition".
31262 2011-10-07  Bruno Haible  <bruno@clisp.org>
31264         Fix documentation about math functions on MacOS X.
31265         * doc/posix-functions/exp2.texi: Don't say the function is missing on
31266         MacOS X 10.5.
31267         * doc/posix-functions/fdim.texi: Likewise.
31268         * doc/posix-functions/feclearexcept.texi: Likewise.
31269         * doc/posix-functions/fegetenv.texi: Likewise.
31270         * doc/posix-functions/fegetround.texi: Likewise.
31271         * doc/posix-functions/feholdexcept.texi: Likewise.
31272         * doc/posix-functions/feraiseexcept.texi: Likewise.
31273         * doc/posix-functions/fesetenv.texi: Likewise.
31274         * doc/posix-functions/fesetround.texi: Likewise.
31275         * doc/posix-functions/fetestexcept.texi: Likewise.
31276         * doc/posix-functions/feupdateenv.texi: Likewise.
31277         * doc/posix-functions/fmax.texi: Likewise.
31278         * doc/posix-functions/fmin.texi: Likewise.
31279         * doc/posix-functions/log2.texi: Likewise.
31280         * doc/posix-functions/modff.texi: Likewise.
31281         * doc/posix-functions/nan.texi: Likewise.
31282         * doc/posix-functions/nanf.texi: Likewise.
31283         * doc/posix-functions/nextafterf.texi: Likewise.
31284         * doc/posix-functions/remquo.texi: Likewise.
31286 2011-10-07  Bruno Haible  <bruno@clisp.org>
31288         modff: Drop assumption about library that defines modff.
31289         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
31290         AC_CHECK_FUNCS.
31291         * modules/modff (Files): Add m4/mathfunc.m4.
31293 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
31295         raise tests: Avoid a GCC warning.
31296         * tests/test-raise.c (handler): Use _Noreturn.
31298 2011-10-07  Bruno Haible  <bruno@clisp.org>
31300         Tests for module 'ldexpf'.
31301         * modules/ldexpf-tests: New file.
31302         * tests/test-ldexpf.c: New file.
31304         New module 'ldexpf'.
31305         * lib/math.in.h (ldexpf): New declaration.
31306         * lib/ldexpf.c: New file.
31307         * m4/ldexpf.m4: New file.
31308         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
31309         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
31310         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
31311         * modules/ldexpf: New file.
31312         * tests/test-math-c++.cc: Check the declaration of ldexpf.
31313         * doc/posix-functions/ldexpf.texi: Mention the new module.
31315 2011-10-06  Bruno Haible  <bruno@clisp.org>
31317         frexpf: Work around problems on IRIX and mingw.
31318         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
31319         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
31320         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
31321         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
31322         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
31323         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
31324         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
31326 2011-10-06  Bruno Haible  <bruno@clisp.org>
31328         fabsf: Drop assumption about library that defines fabsf.
31329         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
31330         AC_CHECK_FUNCS.
31331         * modules/fabsf (Files): Add m4/mathfunc.m4.
31333 2011-10-06  Bruno Haible  <bruno@clisp.org>
31335         frexpf: Drop assumption about library that defines frexpf.
31336         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
31337         'int *', 'float *', 'long double *', 'float', 'long double'.
31338         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
31339         AC_CHECK_FUNCS.
31340         * modules/frexpf (Files): Add m4/mathfunc.m4.
31342         Tests for module 'frexpf'.
31343         * modules/frexpf-tests: New file.
31344         * tests/test-frexpf.c: New file.
31346         New module 'frexpf'.
31347         * lib/math.in.h (frexpf): New declaration.
31348         * lib/frexpf.c: New file.
31349         * m4/frexpf.m4: New file.
31350         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
31351         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
31352         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
31353         * modules/frexpf: New file.
31354         * tests/test-math-c++.cc: Check the declaration of frexpf.
31355         * doc/posix-functions/frexpf.texi: Mention the new module.
31357 2011-10-06  Bruno Haible  <bruno@clisp.org>
31359         math: Sort function declarations of math.in.h.
31360         * lib/math.in.h (frexp, logb): Move declarations.
31362 2011-10-05  Bruno Haible  <bruno@clisp.org>
31364         Tests for module 'modff'.
31365         * modules/modff-tests: New file.
31366         * tests/test-modff.c: New file.
31368         New module 'modff'.
31369         * lib/math.in.h (modff): New declaration.
31370         * lib/modff.c: New file.
31371         * m4/modff.m4: New file.
31372         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
31373         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
31374         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
31375         * modules/modff: New file.
31376         * tests/test-math-c++.cc: Check the declaration of modff.
31377         * doc/posix-functions/modff.texi: Mention the new module.
31379         modf tests: Make test sharper.
31380         * tests/test-modf.c (main): Strengthen upper bound.
31382         modf: Use a .m4 file.
31383         * m4/modf.m4: New file.
31384         * modules/modf (Files): Add it.
31385         (configure.ac): Just invoke gl_FUNC_MODF.
31387 2011-10-05  Bruno Haible  <bruno@clisp.org>
31389         Tests for module 'fmodf'.
31390         * modules/fmodf-tests: New file.
31391         * tests/test-fmodf.c: New file.
31393         New module 'fmodf'.
31394         * lib/math.in.h (fmodf): New declaration.
31395         * lib/fmodf.c: New file.
31396         * m4/fmodf.m4: New file.
31397         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
31398         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
31399         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
31400         * modules/fmodf: New file.
31401         * tests/test-math-c++.cc: Check the declaration of fmodf.
31402         * doc/posix-functions/fmodf.texi: Mention the new module.
31404         fmod: Use a .m4 file.
31405         * m4/fmod.m4: New file.
31406         * modules/fmod (Files): Add it.
31407         (configure.ac): Just invoke gl_FUNC_FMOD.
31409 2011-10-05  Bruno Haible  <bruno@clisp.org>
31411         Tests for module 'fabsf'.
31412         * modules/fabsf-tests: New file.
31413         * tests/test-fabsf.c: New file.
31415         New module 'fabsf'.
31416         * lib/math.in.h (fabsf): New declaration.
31417         * lib/fabsf.c: New file.
31418         * m4/fabsf.m4: New file.
31419         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
31420         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
31421         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
31422         * modules/fabsf: New file.
31423         * tests/test-math-c++.cc: Check the declaration of fabsf.
31424         * doc/posix-functions/fabsf.texi: Mention the new module.
31426         fabs: Use a .m4 file.
31427         * m4/fabs.m4: New file.
31428         * modules/fabs (Files): Add it.
31429         (configure.ac): Just invoke gl_FUNC_FABS.
31431 2011-10-05  Jim Meyering  <meyering@redhat.com>
31433         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
31434         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
31435         ls -lL regression introduced in coreutils-8.12, it does so at the
31436         cost of an additional stat call in the common case.  Besides, now
31437         that the kernel change that prompted commit 95f7c57f has been reverted
31438         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
31439         we have no use for commit 95f7c57f, "file-has-acl: use
31440         acl_extended_file_nofollow if available".
31442 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
31444         file-has-acl: revert unintended change in behavior of ls -L
31445         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
31446         derived from...
31447         (file_has_acl): ...code here.  Call it.
31448         This problem was introduced with 2011-07-22 commit 95f7c57f,
31449         "file-has-acl: use acl_extended_file_nofollow if available".
31450         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
31452 2011-10-03  Bruno Haible  <bruno@clisp.org>
31454         poll: Avoid link errors on MSVC.
31455         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
31456         * modules/poll (Depends-on): Add sockets.
31457         (Link): New section.
31458         * NEWS: Mention the change.
31459         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
31460         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
31461         $(LIB_POLL) instead of $(LIBSOCKET).
31463 2011-10-03  Bruno Haible  <bruno@clisp.org>
31465         sys_select tests: Fix link error on MSVC 9.
31466         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
31467         with $(LIB_SELECT) instead of $(LIBSOCKET).
31469 2011-10-03  Bruno Haible  <bruno@clisp.org>
31471         sys_select: Fix compilation error on mingw.
31472         * lib/sys_select.in.h: On native Windows, include <io.h>.
31474 2011-10-03  Bruno Haible  <bruno@clisp.org>
31476         wmemset: Support for MSVC.
31477         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
31478         whether wmemset() exists.
31480 2011-10-03  Bruno Haible  <bruno@clisp.org>
31482         wmemmove: Support for MSVC.
31483         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
31484         whether wmemmove() exists.
31486 2011-10-03  Bruno Haible  <bruno@clisp.org>
31488         wmemcpy: Support for MSVC.
31489         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
31490         whether wmemcpy() exists.
31492 2011-10-03  Bruno Haible  <bruno@clisp.org>
31494         wmemcmp: Support for MSVC.
31495         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
31496         whether wmemcmp() exists.
31498 2011-10-03  Bruno Haible  <bruno@clisp.org>
31500         wmemchr: Support for MSVC.
31501         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
31502         whether wmemchr() exists.
31504 2011-10-03  Bruno Haible  <bruno@clisp.org>
31506         glthread/*, strsignal: Support for MSVC.
31507         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
31508         including <winsock.h> on MSVC 9.
31509         * lib/glthread/lock.h: Likewise.
31510         * lib/glthread/thread.h: Likewise.
31511         * lib/glthread/tls.h: Likewise.
31512         * lib/glthread/yield.h: Likewise.
31513         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
31514         if HAVE_UNISTD_H is false.
31515         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
31517 2011-10-03  Bruno Haible  <bruno@clisp.org>
31519         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
31520         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
31521         Set to 100000.
31523 2011-10-03  Bruno Haible  <bruno@clisp.org>
31525         acl: Fix specification.
31526         * lib/file-has-acl.c (file_has_acl): Fix specification.
31528 2011-10-03  Bruno Haible  <bruno@clisp.org>
31530         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
31531         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
31532         (compute_curr_prefix, shared_library_fullname,
31533         find_shared_library_fullname, get_shared_library_fullname, relocate):
31534         Use it together with PIC && INSTALLDIR.
31535         Reported by <jojelino@gmail.com>
31536         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
31538 2011-10-01  Jim Meyering  <meyering@redhat.com>
31540         maint.mk: adjust a release-related rule not to require use of gzip
31541         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
31542         Instead, check each file in $(DIST_ARCHIVES).  This is better for
31543         projects that build only .tar.xz files.  Also fix an erroneous test.
31545         test-linkat: don't leave behind a temporary file
31546         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
31547         Otherwise, coreutils' "make distcheck" would fail with this:
31548           Only in /c/cu/tests/torture/coreutils/test/\
31549             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
31550           make[2]: *** [my-distcheck] Error 1
31552         float, math: add omitted file
31553         * lib/itold.c: Add file, required for yesterday's float change.
31555 2011-10-01  Bruno Haible  <bruno@clisp.org>
31557         isinf: Fix for OpenBSD/x86.
31558         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
31559         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
31560         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
31562 2011-10-01  Bruno Haible  <bruno@clisp.org>
31564         isfinite: Fix syntax error in configure test.
31565         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
31567         isfinite: Fix typo.
31568         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
31569         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
31571 2011-10-01  Bruno Haible  <bruno@clisp.org>
31573         nonblocking tests: Fix test failure on Linux/IA-64.
31574         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
31575         Set to 270000.
31577 2011-10-01  Bruno Haible  <bruno@clisp.org>
31579         mkfifoat tests: Fix a test failure on mingw.
31580         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
31581         with error ENOSYS.
31583 2011-09-30  Bruno Haible  <bruno@clisp.org>
31585         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
31586         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
31587         'long double'. Set REPLACE_ITOLD.
31588         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
31589         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
31590         * lib/itold.c: New file.
31591         * modules/float (Files): Add lib/itold.c.
31592         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
31593         (Makefile.am): Substitute REPLACE_ITOLD.
31594         * modules/math (Depends-on): Add float.
31595         (Makefile.am): Substitute REPLACE_ITOLD.
31596         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
31597         * doc/posix-headers/math.texi: Likewise.
31598         * doc/posix-functions/logl.texi: Likewise.
31600 2011-09-30  Bruno Haible  <bruno@clisp.org>
31602         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
31603         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
31604         Set to 140000.
31606 2011-09-30  Bruno Haible  <bruno@clisp.org>
31608         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
31609         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
31610         invocation, say "right after AC_PROG_CC_STDC", not "right after
31611         AC_PROG_CC".
31612         Reported by Gary V. Vaughan <gary@gnu.org>.
31614 2011-09-30  Bruno Haible  <bruno@clisp.org>
31616         Centralize C99 requirement.
31617         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
31618         * modules/stdarg (configure.ac-early): Invoke it instead of
31619         AC_PROG_CC_STDC.
31620         Reported by Gary V. Vaughan and Paul Eggert.
31622 2011-09-29  Bruno Haible  <bruno@clisp.org>
31624         float: Fix LDBL_MAX value on Linux/PowerPC.
31625         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
31626         on Linux/PowerPC.
31627         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
31628         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
31629         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
31630         platform.
31631         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
31633 2011-09-29  Bruno Haible  <bruno@clisp.org>
31635         doc: Improve doc about gl_EARLY.
31636         * doc/gnulib-tool.texi (Initial import): Mention where to place an
31637         AC_PROG_CC_STDC invocation.
31638         Reported by Gary V. Vaughan <gary@gnu.org>.
31640 2011-09-28  Bruno Haible  <bruno@clisp.org>
31642         fgetc, fputc, fread, fwrite tests: Fix link error.
31643         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
31644         on non-MSVC platforms.
31645         * tests/test-fputc.c (main): Likewise.
31646         * tests/test-fread.c (main): Likewise.
31647         * tests/test-fwrite.c (main): Likewise.
31648         Reported by Jim Meyering.
31650 2011-09-27  Bruno Haible  <bruno@clisp.org>
31652         fputc, fwrite tests: Avoid test failure on MSVC.
31653         * tests/test-fgetc.c: Include msvc-inval.h.
31654         (main): Invoke gl_msvc_inval_ensure_handler.
31655         * tests/test-fputc.c: Include msvc-inval.h.
31656         (main): Invoke gl_msvc_inval_ensure_handler.
31657         * tests/test-fread.c: Include msvc-inval.h.
31658         (main): Invoke gl_msvc_inval_ensure_handler.
31659         * tests/test-fwrite.c: Include msvc-inval.h.
31660         (main): Invoke gl_msvc_inval_ensure_handler.
31661         * modules/fgetc-tests (Depends-on): Add msvc-inval.
31662         * modules/fputc-tests (Depends-on): Likewise.
31663         * modules/fread-tests (Depends-on): Likewise.
31664         * modules/fwrite-tests (Depends-on): Likewise.
31666 2011-09-27  Bruno Haible  <bruno@clisp.org>
31668         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
31669         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
31670         (raise): Remove older, duplicated declaration.
31671         (_gl_raise_SIGPIPE): New declaration.
31672         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
31673         (rpl_raise): Remove function.
31674         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
31675         a gnulib-defined SIGPIPE here.
31676         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
31677         'sigprocmask' has detected missing signal-blocking and the module
31678         'sigpipe' is enabled.
31679         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
31681 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
31683         base64-tests: avoid memory leak
31684         * tests/test-base64.c (main): Plug memory leak.
31686         base32: new module
31687         * modules/base32: New module.
31688         * lib/base32.c: New file.
31689         * lib/base32.h: Likewise.
31690         * m4/base32.m4: Likewise.
31691         * modules/base32-tests: New test.
31692         * tests/test-base32.c: Likewise.
31693         * MODULES.html.sh (Misc): Mention it.
31695 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
31697         gnulib: use more-standard license notice wording
31698         * gnulib-tool (func_emit_copyright_notice): When emitting a
31699         license notice into a file, use the standard wording as suggested
31700         by the current information for GNU maintainers, except say "file"
31701         rather than "program".  The new wording gives a license version
31702         number, which addresses an issue raised by Glenn Morris in
31703         <http://lists.gnu.org/r/bug-gnulib/2011-09/msg00397.html>.
31704         * m4/onceonly.m4: Use that same wording here, too.
31706         dup2: minor simplification
31707         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
31708         as lib/dup2.c no longer uses 'inline'.
31710 2011-09-25  Bruno Haible  <bruno@clisp.org>
31712         strings: Fix compilation error on MSVC.
31713         * lib/strings.in.h: Include <stddef.h> for size_t.
31715 2011-09-25  Bruno Haible  <bruno@clisp.org>
31717         fflush et al.: Document limitation on MSVC.
31718         * doc/posix-functions/fflush.texi: Document possible crash in handling
31719         mode other than DEFAULT_HANDLING.
31720         * doc/posix-functions/fgetc.texi: Likewise.
31721         * doc/posix-functions/fputc.texi: Likewise.
31722         * doc/posix-functions/fread.texi: Likewise.
31723         * doc/posix-functions/fwrite.texi: Likewise.
31725 2011-09-25  Bruno Haible  <bruno@clisp.org>
31727         msvc-inval: Allow three invalid parameter handling modes.
31728         * lib/msvc-inval.h: Don't include <stdlib.h> here.
31729         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
31730         macros.
31731         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
31732         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
31733         SANE_LIBRARY_HANDLING as a no-op.
31734         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
31735         <stdlib.h>.
31736         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
31738 2011-09-25  Bruno Haible  <bruno@clisp.org>
31740         msvc-inval: Make handler multithread-safe.
31741         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
31742         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
31743         declarations.
31744         (gl_msvc_inval_current): New declaration.
31745         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
31746         Operate on the structure returned by gl_msvc_inval_current().
31747         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
31748         Remove varaiables.
31749         (tls_index, tls_initialized): New variables.
31750         (not_per_thread): New variable.
31751         (gl_msvc_inval_current): New function.
31752         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
31753         returned by gl_msvc_inval_current().
31755 2011-09-25  Bruno Haible  <bruno@clisp.org>
31757         msvc-inval: Install handler globally.
31758         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
31759         !_MSC_VER.
31760         (gl_msvc_invalid_parameter_handler): Remove declaration.
31761         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
31762         declarations.
31763         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
31764         Install the handler globally, don't uninstall it.
31765         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
31766         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
31767         currently valid, call RaiseException instead.
31768         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
31769         for !_MSC_VER.
31771 2011-09-25  Bruno Haible  <bruno@clisp.org>
31773         strerror_r-posix: Fix for MSVC 9.
31774         * lib/strerror_r.c (local_snprintf): New function.
31775         (snprintf): Define to local_snprintf, not to _snprintf.
31777 2011-09-25  Bruno Haible  <bruno@clisp.org>
31779         ftruncate: Support for MSVC 9.
31780         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
31781         (chsize_nothrow): New function.
31782         (chsize): Redefine as a macro.
31783         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
31784         * modules/ftruncate (Depends-on): Add msvc-inval.
31786 2011-09-25  Bruno Haible  <bruno@clisp.org>
31788         New module 'fstat'.
31789         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
31790         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
31791         * lib/fchdir.c (rpl_fstat): Remove function.
31792         * m4/fstat.m4: New file.
31793         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
31794         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
31795         declared.
31796         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
31797         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
31798         * modules/fstat: New file.
31799         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
31800         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
31801         is set.
31802         * doc/posix-functions/fstat.texi: Mention the new module and the
31803         problem on MSVC.
31804         * NEWS: Mention the change.
31805         * modules/acl (Depends-on): Add fstat.
31806         * modules/chdir-safer (Depends-on): Likewise.
31807         * modules/chown (Depends-on): Likewise.
31808         * modules/copy-file (Depends-on): Likewise.
31809         * modules/fchdir (Depends-on): Likewise.
31810         * modules/fdopendir (Depends-on): Likewise.
31811         * modules/fopen (Depends-on): Likewise.
31812         * modules/fts (Depends-on): Likewise.
31813         * modules/getcwd (Depends-on): Likewise.
31814         * modules/isapipe (Depends-on): Likewise.
31815         * modules/linkat (Depends-on): Likewise.
31816         * modules/lseek (Depends-on): Likewise.
31817         * modules/mkdir-p (Depends-on): Likewise.
31818         * modules/open (Depends-on): Likewise.
31819         * modules/openat (Depends-on): Likewise.
31820         * modules/read-file (Depends-on): Likewise.
31821         * modules/renameat (Depends-on): Likewise.
31822         * modules/utimens (Depends-on): Likewise.
31824 2011-09-25  Bruno Haible  <bruno@clisp.org>
31826         linkat: Fix compilation on MSVC 9.
31827         * lib/linkat.c: Don't include <stdint.h>.
31829 2011-09-25  Bruno Haible  <bruno@clisp.org>
31831         fclose: Support for MSVC 9.
31832         * lib/fclose.c: Include msvc-inval.h.
31833         (fclose_nothrow): New function.
31834         (rpl_fclose): Use it.
31835         * modules/fclose (Depends-on): Add msvc-inval.
31836         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
31838 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
31840         dup2: minor simplifications
31841         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
31842         that it's a performance win.
31843         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
31844         ! defined __CYGWIN__)" to "ifdef F_GETFL".
31846 2011-09-24  Jim Meyering  <meyering@redhat.com>
31848         test-futimens: avoid a warning from gcc -Wshadow
31849         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
31850         to avoid a shadowing warning.
31852 2011-09-24  Bruno Haible  <bruno@clisp.org>
31854         fdopen: Support for MSVC 9.
31855         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
31856         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
31857         * lib/fdopen.c: Include msvc-inval.h.
31858         (fdopen_nothrow): New function.
31859         (rpl_fdopen): Use it.
31860         * modules/fdopen (Depends-on): Add msvc-inval.
31861         * modules/fclose-tests (Depends-on): Add fdopen.
31862         * modules/fflush-tests (Depends-on): Likewise.
31863         * modules/fgetc-tests (Depends-on): Likewise.
31864         * modules/fputc-tests (Depends-on): Likewise.
31865         * modules/fread-tests (Depends-on): Likewise.
31866         * modules/freopen-tests (Depends-on): Likewise.
31867         * modules/fseeko-tests (Depends-on): Likewise.
31868         * modules/ftello-tests (Depends-on): Likewise.
31869         * modules/fwrite-tests  (Depends-on): Likewise.
31870         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
31872 2011-09-24  Bruno Haible  <bruno@clisp.org>
31874         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
31875         * modules/fgetc-tests (Depends-on): Add unistd.
31876         * modules/fputc-tests (Depends-on): Likewise.
31877         * modules/fread-tests (Depends-on): Likewise.
31878         * modules/fwrite-tests (Depends-on): Likewise.
31880 2011-09-24  Bruno Haible  <bruno@clisp.org>
31882         dup: Simplify autoconf test.
31883         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
31884         on gl_MSVC_INVAL's result.
31886 2011-09-24  Bruno Haible  <bruno@clisp.org>
31888         Tests for function fwrite().
31889         * modules/fwrite-tests: New file.
31890         * tests/test-fwrite.c: New file.
31891         * modules/stdio-tests (Depends-on): Add fwrite-tests.
31893         Tests for function fread().
31894         * modules/fread-tests: New file.
31895         * tests/test-fread.c: New file.
31896         * modules/stdio-tests (Depends-on): Add fread-tests.
31898         Activate fputc tests.
31899         * modules/stdio-tests (Depends-on): Add fputc-tests.
31901         Enhance fgetc, fputc tests.
31902         * tests/test-fgetc.c (main): Also test the stream's error indicator.
31903         * tests/test-fputc.c (main): Likewise.
31905 2011-09-24  Bruno Haible  <bruno@clisp.org>
31907         write: Support for MSVC 9.
31908         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
31909         is not 1.
31910         * lib/write.c (write_nothrow): New function.
31911         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
31912         not 1. Use write_nothrow.
31913         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
31914         invalid parameter handler.
31915         (gl_PREREQ_WRITE): New macro.
31916         * modules/write (Depends-on): Add msvc-inval.
31917         (configure.ac): Invoke gl_PREREQ_WRITE.
31918         * doc/posix-functions/write.texi: Mention the problem on MSVC.
31920 2011-09-24  Bruno Haible  <bruno@clisp.org>
31922         read: Fix last commit.
31923         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
31925 2011-09-24  Bruno Haible  <bruno@clisp.org>
31927         dup2: Fix last commit.
31928         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
31929         (rpl_dup2): Disable fcntl workaround on native Windows.
31931         sigprocmask: Make code safer.
31932         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
31933         section that changes macro definitions for this compilation unit.
31935 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
31937         dup2: clarify by coalescing Windows-specific material
31938         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
31939         "msvc-nothrow.h"' to the Windows-specific section, so that the
31940         Emacs source need not contain these include files.
31941         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
31942         Windows-specific fixes into this function rather than just the
31943         nothrow fix, as this shortens and clarifies the code.  Always
31944         define as a function, as that's a bit cleaner than having it be
31945         sometimes a function and sometimes a macro.
31946         (rpl_dup2): Move the Windows-specific stuff out of here and into
31947         ms_windows_dup2.  Don't protect the Haiku-related fix with
31948         "#if !defined __linux__", as the same code also works around
31949         a Linux kernel bug, and it doesn't add any system calls on any
31950         platform.  Add comment about FreeBSD 6.1.
31952         sigprocmask: move #include directive
31953         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
31954         Windows-specific section, so that the Emacs source need not
31955         contain msvc-inval.h.
31957 2011-09-23  Bruno Haible  <bruno@clisp.org>
31959         read: Support for MSVC 9.
31960         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
31961         is not 1.
31962         * lib/read.c (read_nothrow): New function.
31963         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
31964         read_nothrow.
31965         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
31966         invalid parameter handler.
31967         (gl_PREREQ_READ): New macro.
31968         * modules/read (Depends-on): Add msvc-inval.
31969         (configure.ac): Invoke gl_PREREQ_READ.
31970         * doc/posix-functions/read.texi: Mention the problem on MSVC.
31972 2011-09-23  Bruno Haible  <bruno@clisp.org>
31974         close: Support for MSVC 9.
31975         * lib/close.c: Include <errno.h>, msvc-inval.h.
31976         (close_nothrow): New function.
31977         (rpl_close): Use it.
31978         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
31979         invalid parameter handler.
31980         * modules/close (Depends-on): Add msvc-inval.
31981         * modules/dup2-tests (Depends-on): Add close.
31982         * modules/dup3-tests (Depends-on): Likewise.
31983         * modules/fcntl-tests (Depends-on): Likewise.
31984         * modules/spawn-pipe-tests (Depends-on): Likewise.
31985         * modules/unistd-safer-tests (Depends-on): Likewise.
31986         * doc/posix-functions/close.texi: Mention the problem on MSVC.
31988 2011-09-23  Bruno Haible  <bruno@clisp.org>
31990         New module 'dup'.
31991         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
31992         Allow replacement.
31993         * lib/dup.c: New file.
31994         * lib/fchdir.c (rpl_dup): Remove function.
31995         * m4/dup.m4: New file.
31996         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
31997         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
31998         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
31999         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
32000         * modules/dup: New file.
32001         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
32002         'dup' module is in use.
32003         * modules/fdopendir (Depends-on): Add dup.
32004         * modules/fdutimensat-tests (Depends-on): Likewise.
32005         * modules/fts (Depends-on): Likewise.
32006         * modules/futimens-tests (Depends-on): Likewise.
32007         * modules/posix_spawnp-tests (Depends-on): Likewise.
32008         * modules/unistd-safer-tests (Depends-on): Likewise.
32009         * modules/utimens-tests (Depends-on): Likewise.
32010         * doc/posix-functions/dup.texi: Mention the new module and the problem
32011         on MSVC.
32013 2011-09-23  Bruno Haible  <bruno@clisp.org>
32015         getdtablesize: Support for MSVC 9.
32016         * lib/getdtablesize.c: Include msvc-inval.h.
32017         (_setmaxstdio_nothrow): New function.
32018         (_setmaxstdio): Redefine it.
32019         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
32020         * modules/getdtablesize (Depends-on): Add msvc-inval.
32021         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
32023 2011-09-23  Bruno Haible  <bruno@clisp.org>
32025         signal-h: Rename from signal.
32026         * modules/signal-h: Renamed from modules/signal.
32027         * modules/pthread_sigmask (Depends-on): Update.
32028         * modules/raise (Depends-on): Likewise.
32029         * modules/sigaction (Depends-on): Likewise.
32030         * modules/sigpipe (Depends-on): Likewise.
32031         * modules/sigprocmask (Depends-on): Likewise.
32032         * modules/sys_select (Depends-on): Likewise.
32033         * modules/signal-h-tests: Renamed from modules/signal-tests.
32034         (Files, Depends-on, Makefile.am): Update.
32035         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
32036         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
32037         (Files, Makefile.am): Update.
32038         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
32039         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
32040         * modules/signal: New placeholder file.
32041         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
32042         * doc/posix-headers/signal.texi: Update.
32043         * NEWS: Mention the change.
32045 2011-09-23  Bruno Haible  <bruno@clisp.org>
32047         sigprocmask: Avoid crashes through signal() on MSVC 9.
32048         * lib/sigprocmask.c: Include msvc-inval.h.
32049         (signal_nothrow): New function.
32050         (signal): Redefine it.
32051         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
32052         * modules/sigprocmask (Depends-on): Add msvc-inval.
32053         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
32055 2011-09-23  Bruno Haible  <bruno@clisp.org>
32057         Tests for module 'raise'.
32058         * modules/raise-tests: New file.
32059         * tests/test-raise.c: New file.
32061         raise: Support for MSVC.
32062         * lib/signal.in.h (raise): New declaration.
32063         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
32064         for native Windows platforms.
32065         * m4/raise.m4: New file.
32066         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
32067         HAVE_RAISE, REPLACE_RAISE.
32068         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
32069         REPLACE_RAISE.
32070         * modules/raise (Status, Notice): Remove fields.
32071         (Files): Add m4/raise.m4.
32072         (Depends-on): Add signal, msvc-inval.
32073         (configure.ac): Use the common idioms.
32074         (Maintainer): Add me.
32075         * tests/test-signal-c++.cc: Check the signature of raise.
32076         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
32078 2011-09-23  Bruno Haible  <bruno@clisp.org>
32080         pipe2: Fix compilation on pre-C99 compilers.
32081         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
32083 2011-09-23  Bruno Haible  <bruno@clisp.org>
32085         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
32086         * lib/msvc-nothrow.h: New file.
32087         * lib/msvc-nothrow.c: New file.
32088         * m4/msvc-nothrow.m4: New file.
32089         * modules/msvc-nothrow: New file.
32090         * lib/dup2.c: Include msvc-nothrow.h.
32091         (rpl_dup2): No need to protect _get_osfhandle call here.
32092         * lib/accept4.c: Include msvc-nothrow.h.
32093         * lib/error.c: Likewise.
32094         * lib/fcntl.c: Likewise.
32095         * lib/lseek.c: Likewise.
32096         * lib/nonblocking.c: Likewise.
32097         * lib/poll.c: Likewise.
32098         * lib/read.c: Likewise.
32099         * lib/select.c: Likewise.
32100         * lib/sockets.h: Likewise.
32101         * lib/sockets.c: Likewise.
32102         * lib/stdio-read.c: Likewise.
32103         * lib/stdio-write.c: Likewise.
32104         * lib/write.c: Likewise.
32105         * lib/w32sock.h: Likewise.
32106         * lib/w32spawn.h: Likewise.
32107         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
32108         * lib/fsync.c: Likewise.
32109         * lib/isapipe.c: Likewise.
32110         * modules/dup2 (Depends-on): Add msvc-nothrow.
32111         * modules/accept4 (Depends-on): Likewise.
32112         * modules/error (Depends-on): Likewise.
32113         * modules/fcntl (Depends-on): Likewise.
32114         * modules/lseek (Depends-on): Likewise.
32115         * modules/nonblocking (Depends-on): Likewise.
32116         * modules/poll (Depends-on): Likewise.
32117         * modules/read (Depends-on): Likewise.
32118         * modules/select (Depends-on): Likewise.
32119         * modules/sockets (Depends-on): Likewise.
32120         * modules/sigpipe (Depends-on): Likewise.
32121         * modules/write (Depends-on): Likewise.
32122         * modules/accept (Depends-on): Likewise.
32123         * modules/bind (Depends-on): Likewise.
32124         * modules/connect (Depends-on): Likewise.
32125         * modules/gethostname (Depends-on): Likewise.
32126         * modules/getpeername (Depends-on): Likewise.
32127         * modules/getsockname (Depends-on): Likewise.
32128         * modules/getsockopt (Depends-on): Likewise.
32129         * modules/ioctl (Depends-on): Likewise.
32130         * modules/listen (Depends-on): Likewise.
32131         * modules/recv (Depends-on): Likewise.
32132         * modules/recvfrom (Depends-on): Likewise.
32133         * modules/send (Depends-on): Likewise.
32134         * modules/sendto (Depends-on): Likewise.
32135         * modules/setsockopt (Depends-on): Likewise.
32136         * modules/shutdown (Depends-on): Likewise.
32137         * modules/socket (Depends-on): Likewise.
32138         * modules/execute (Depends-on): Likewise.
32139         * modules/spawn-pipe (Depends-on): Likewise.
32140         * modules/flock (Depends-on): Likewise.
32141         * modules/fsync (Depends-on): Likewise.
32142         * modules/isapipe (Depends-on): Likewise.
32143         * tests/test-cloexec.c: Include msvc-nothrow.h.
32144         * tests/test-dup-safer.c: Likewise.
32145         * tests/test-dup2.c: Likewise.
32146         * tests/test-dup3.c: Likewise.
32147         * tests/test-fcntl.c: Likewise.
32148         * tests/test-pipe.c: Likewise.
32149         * tests/test-pipe2.c: Likewise.
32150         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
32151         * modules/unistd-safer-tests (Depends-on): Likewise.
32152         * modules/dup2-tests (Depends-on): Likewise.
32153         * modules/dup3-tests (Depends-on): Likewise.
32154         * modules/fcntl-tests (Depends-on): Likewise.
32155         * modules/pipe-posix-tests (Depends-on): Likewise.
32156         * modules/pipe2-tests (Depends-on): Likewise.
32158 2011-09-23  Bruno Haible  <bruno@clisp.org>
32160         dup2: Make code more maintainable.
32161         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
32162         (rpl_dup2): Use it.
32163         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
32164         * modules/dup2 (configure.ac): Invoke it.
32165         Reported by Paul Eggert.
32167 2011-09-23  Bruno Haible  <bruno@clisp.org>
32169         msvc-inval: Fix compilation error.
32170         * lib/msvc-inval.h: Include <excpt.h>.
32172 2011-09-23  Bruno Haible  <bruno@clisp.org>
32174         mkdir: Tweak for MSVC 9.
32175         * lib/sys_stat.in.h: Update comments.
32176         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
32178         Tests for module 'chdir'.
32179         * modules/chdir-tests: New file.
32180         * tests/test-chdir.c: New file.
32182         New module 'chdir'.
32183         * modules/chdir: New file.
32184         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
32185         (chdir): New declaration.
32186         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
32187         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
32188         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
32189         * tests/test-unistd-c++.cc: Check signature of chdir.
32190         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
32191         * modules/chdir-long (Depends-on): Add chdir.
32192         * modules/fchdir (Depends-on): Likewise.
32193         * modules/rename (Depends-on): Likewise.
32194         * modules/savewd (Depends-on): Likewise.
32196         rmdir: Support for mingw, MSVC 9.
32197         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
32198         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
32200         getcwd: Tweak for MSVC 9.
32201         * lib/unistd.in.h: Update comments.
32202         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
32204 2011-09-22  Bruno Haible  <bruno@clisp.org>
32206         strerror_r-posix: Avoid a link error on MSVC.
32207         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
32208         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
32210 2011-09-22  Bruno Haible  <bruno@clisp.org>
32212         select: Avoid link errors on MSVC.
32213         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
32214         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
32215         * modules/pselect (Link): Likewise.
32216         * NEWS: Mention the change.
32217         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
32218         test-select-stdin against $(LIB_SELECT).
32219         * modules/pselect-tests (Makefile.am): Link test-pselect against
32220         $(LIB_SELECT).
32222 2011-09-22  Bruno Haible  <bruno@clisp.org>
32224         select: Avoid compilation error on MSVC.
32225         * lib/select.c: Don't include <stdbool.h>.
32227 2011-09-21  Bruno Haible  <bruno@clisp.org>
32229         Consolidate all uses of PATH_MAX in *.m4 files.
32230         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
32231         macros.
32232         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
32233         and gl_PATHMAX_SNIPPET.
32234         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
32235         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
32236         * modules/chdir-long (Files): Add m4/pathmax.m4.
32237         * modules/getcwd (Files): Likewise.
32239 2011-09-21  Bruno Haible  <bruno@clisp.org>
32241         ftruncate: Un-deprecate, concentrate on Win32 support.
32242         * modules/ftruncate (Status, Notice): Remove sections.
32243         (Depends-on): Add largefile.
32244         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
32245         non-mingw platforms.
32246         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
32247         include <io.h>.
32248         * modules/perror-tests (Depends-on): Add ftruncate.
32249         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
32250         'ftruncate' module.
32252 2011-09-21  Bruno Haible  <bruno@clisp.org>
32254         Add dependencies to new dirent related modules.
32255         * modules/opendir (Depends-on): Add closedir.
32256         * modules/getcwd (Depends-on): Add opendir, closedir.
32257         * modules/dirent-safer-tests (Depends-on): Likewise.
32258         * modules/fdopendir-tests (Depends-on): Likewise.
32259         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
32260         * modules/renameat-tests (Depends-on): Likewise.
32262 2011-09-21  Bruno Haible  <bruno@clisp.org>
32264         opendir: Avoid compilation error on mingw.
32265         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
32266         * modules/opendir (Depends-on): Add unistd.
32268 2011-09-21  Bruno Haible  <bruno@clisp.org>
32270         ftruncate tests: Avoid a test failure on mingw.
32271         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
32273 2011-09-21  Bruno Haible  <bruno@clisp.org>
32275         select tests: Avoid test failures on OSF/1 5.1 and mingw.
32276         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
32277         native Windows.
32279 2011-09-21  Bruno Haible  <bruno@clisp.org>
32281         New module 'fdopen'.
32282         * lib/stdio.in.h (fdopen): New declaration.
32283         * lib/fdopen.c: New file.
32284         * m4/fdopen.m4: New file.
32285         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
32286         REPLACE_FDOPEN.
32287         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
32288         REPLACE_FDOPEN.
32289         * modules/fdopen: New file.
32290         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
32291         * tests/test-stdio-c++.cc: Check signature of fdopen.
32292         * doc/posix-functions/fdopen.texi: Mention the new module.
32294 2011-09-21  Bruno Haible  <bruno@clisp.org>
32296         unlockpt tests: Avoid test failure on NetBSD 5.1.
32297         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
32298         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
32300 2011-09-21  Bruno Haible  <bruno@clisp.org>
32302         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
32303         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
32304         * tests/test-getlogin_r.c (main): Likewise.
32306 2011-09-20  Bruno Haible  <bruno@clisp.org>
32308         time tests: Don't require pid_t.
32309         * doc/posix-headers/time.texi: Revert last change.
32310         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
32311         * tests/test-time.c: Comment out the check for pid_t.
32313 2011-09-20  Bruno Haible  <bruno@clisp.org>
32315         fsync tests: Avoid a test failure on mingw.
32316         * tests/test-fsync.c (main): Allow a failure with EIO.
32318 2011-09-20  Bruno Haible  <bruno@clisp.org>
32320         euidaccess: Update comments.
32321         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
32323 2011-09-20  Bruno Haible  <bruno@clisp.org>
32325         Ensure EBADF returns for socket functions on mingw.
32326         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
32327         descriptor is invalid.
32328         * lib/bind.c (rpl_bind): Likewise.
32329         * lib/connect.c (rpl_connect): Likewise.
32330         * lib/getpeername.c (rpl_getpeername): Likewise.
32331         * lib/getsockname.c (rpl_getsockname): Likewise.
32332         * lib/getsockopt.c (rpl_getsockopt): Likewise.
32333         * lib/listen.c (rpl_listen): Likewise.
32334         * lib/recv.c (rpl_recv): Likewise.
32335         * lib/recvfrom.c (rpl_recvfrom): Likewise.
32336         * lib/send.c (rpl_send): Likewise.
32337         * lib/sendto.c (rpl_sendto): Likewise.
32338         * lib/setsockopt.c (rpl_setsockopt): Likewise.
32339         * lib/shutdown.c (rpl_shutdown): Likewise.
32341 2011-09-20  Bruno Haible  <bruno@clisp.org>
32343         select tests: EBADF tests.
32344         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
32345         test_bad_fd): New functions.
32346         (test_function): Invoke also test_bad_fd.
32348 2011-09-20  Bruno Haible  <bruno@clisp.org>
32350         Tests for module 'posix_spawn_file_actions_addopen.
32351         * modules/posix_spawn_file_actions_addopen-tests: New file.
32352         * tests/test-posix_spawn_file_actions_addopen.c: New file.
32354         Tests for module 'posix_spawn_file_actions_adddup2'.
32355         * modules/posix_spawn_file_actions_adddup2-tests: New file.
32356         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
32358         Tests for module 'posix_spawn_file_actions_addclose'.
32359         * modules/posix_spawn_file_actions_addclose-tests: New file.
32360         * tests/test-posix_spawn_file_actions_addclose.c: New file.
32362 2011-09-20  Bruno Haible  <bruno@clisp.org>
32364         Tests for module 'unlockpt'.
32365         * modules/unlockpt-tests: New file.
32366         * tests/test-unlockpt.c: New file.
32367         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
32369         Tests for module 'grantpt'.
32370         * modules/grantpt-tests: New file.
32371         * tests/test-grantpt.c: New file.
32372         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
32374 2011-09-20  Bruno Haible  <bruno@clisp.org>
32376         freopen tests: EBADF tests.
32377         * tests/test-freopen.c: Include errno.h, unistd.h.
32378         (main): Add tests for EBADF, commented out for the moment.
32380         fclose tests: EBADF tests.
32381         * tests/test-fclose.c (main): Add tests for EBADF.
32383         fflush tests: EBADF tests.
32384         * tests/test-fflush.c: Include errno.h, macros.h.
32385         (main): Add tests for EBADF.
32387         ftello tests: EBADF tests.
32388         * tests/test-ftello4.sh: New file.
32389         * tests/test-ftello4.c: New file.
32390         * modules/ftello-tests (Files): Add them.
32391         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
32393         fseeko tests: EBADF tests.
32394         * tests/test-fseeko4.sh: New file.
32395         * tests/test-fseeko4.c: New file.
32396         * modules/fseeko-tests (Files): Add them.
32397         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
32399         Tests for function fputc().
32400         * modules/fputc-tests: New file.
32401         * tests/test-fputc.c: New file.
32402         * modules/stdio-tests (Depends-on): Add fputc-tests.
32404         Tests for function fgetc().
32405         * modules/fgetc-tests: New file.
32406         * tests/test-fgetc.c: New file.
32407         * modules/stdio-tests (Depends-on): Add fgetc-tests.
32409         Tests for function fdopen().
32410         * modules/fdopen-tests: New file.
32411         * tests/test-fdopen.c: New file.
32412         * modules/stdio-tests (Depends-on): Add fdopen-tests.
32414         Tests for module 'vdprintf'.
32415         * modules/vdprintf-tests: New file.
32416         * tests/test-vdprintf.c: New file.
32418         Tests for module 'dprintf'.
32419         * modules/dprintf-tests: New file.
32420         * tests/test-dprintf.c: New file.
32422 2011-09-20  Bruno Haible  <bruno@clisp.org>
32424         Tests for module 'ioctl'.
32425         * modules/ioctl-tests: New file.
32426         * tests/test-ioctl.c: New file.
32428 2011-09-20  Bruno Haible  <bruno@clisp.org>
32430         fcntl tests: EBADF tests.
32431         * tests/test-fcntl.c (main): Add more tests for EBADF.
32433 2011-09-20  Bruno Haible  <bruno@clisp.org>
32435         utimensat tests: EBADF tests.
32436         * tests/test-utimensat.c (main): Add tests for EBADF.
32438         renameat tests: EBADF tests.
32439         * tests/test-renameat.c (main): Add tests for EBADF.
32441         mkfifoat tests: EBADF tests.
32442         * tests/test-mkfifoat.c (main): Add tests for EBADF.
32444         readlinkat tests: EBADF tests.
32445         * tests/test-readlinkat.c (main): Add tests for EBADF.
32447         symlinkat tests: EBADF tests.
32448         * tests/test-symlinkat.c (main): Add tests for EBADF.
32450         linkat tests: EBADF tests.
32451         * tests/test-linkat.c (main): Add tests for EBADF.
32453         Tests for module 'faccessat'.
32454         * modules/faccessat-tests: New file.
32455         * tests/test-faccessat.c: New file.
32457         fdopendir tests: EBADF tests.
32458         * tests/test-fdopendir.c (main): Add more tests for EBADF.
32460         openat tests: EBADF tests.
32461         * tests/test-fchownat.c (main): Add tests for EBADF.
32462         * tests/test-fstatat.c (main): Likewise.
32463         * tests/test-mkdirat.c (main): Likewise.
32464         * tests/test-openat.c (main): Likewise.
32465         * tests/test-unlinkat.c (main): Likewise.
32466         * tests/test-fchmodat.c: New file.
32467         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
32468         (Makefile.am): Also run 'test-fchmodat'.
32470 2011-09-20  Bruno Haible  <bruno@clisp.org>
32472         utimens, futimens, fdutimensat tests: EBADF tests.
32473         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
32475         Tests for function fstat().
32476         * modules/fstat-tests: New file.
32477         * tests/test-fstat.c: New file.
32478         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
32480 2011-09-20  Bruno Haible  <bruno@clisp.org>
32482         test-ttyname_r tests: EBADF tests.
32483         * tests/test-ttyname_r.c (main): Add tests for EBADF.
32485         Tests for module 'isatty'.
32486         * modules/isatty-tests: New file.
32487         * tests/test-isatty.c: New file.
32489         Tests for module 'write'.
32490         * modules/write-tests: New file.
32491         * tests/test-write.c: New file.
32493         Tests for module 'read'.
32494         * modules/read-tests: New file.
32495         * tests/test-read.c: New file.
32497         pwrite tests: EBADF tests.
32498         * tests/test-pwrite.c (main): Add tests for EBADF.
32500         pread tests: EBADF tests.
32501         * tests/test-pread.c (main): Add tests for EBADF.
32503         lseek tests: EBADF tests.
32504         * tests/test-lseek.c (main): Add more tests for EBADF.
32506         Tests for module 'ftruncate'.
32507         * modules/ftruncate-tests: New file.
32508         * tests/test-ftruncate.sh: New file.
32509         * tests/test-ftruncate.c: New file.
32511         fsync tests: EBADF tests.
32512         * tests/test-fsync.c (main): Add more tests for EBADF.
32514         fdatasync tests: EBADF tests.
32515         * tests/test-fdatasync.c (main): Add more tests for EBADF.
32517         Tests for module 'fchown'.
32518         * modules/fchown-tests: New file.
32519         * tests/test-fchown.c: New file.
32521         Tests for module 'fchmod'.
32522         * modules/fchmod-tests: New file.
32523         * tests/test-fchmod.c: New file.
32525         fchdir tests: EBADF tests.
32526         * tests/test-fchdir.c (main): Add more tests for EBADF.
32528         dup2 tests: EBADF tests.
32529         * tests/test-dup2.c (main): Add more tests for EBADF.
32531         Tests for module 'dup'.
32532         * modules/dup-tests: New file.
32533         * tests/test-dup.c: New file.
32535         Tests for module 'close'.
32536         * modules/close-tests: New file.
32537         * tests/test-close.c: New file.
32539 2011-09-20  Bruno Haible  <bruno@clisp.org>
32541         Tests for module 'shutdown'.
32542         * modules/shutdown-tests: New file.
32543         * tests/test-shutdown.c: New file.
32545         Tests for module 'setsockopt'.
32546         * modules/setsockopt-tests: New file.
32547         * tests/test-setsockopt.c: New file.
32549         Tests for module 'sendto'.
32550         * modules/sendto-tests: New file.
32551         * tests/test-sendto.c: New file.
32553         Tests for module 'send'.
32554         * modules/send-tests: New file.
32555         * tests/test-send.c: New file.
32557         Tests for module 'recvfrom'.
32558         * modules/recvfrom-tests: New file.
32559         * tests/test-recvfrom.c: New file.
32561         Tests for module 'recv'.
32562         * modules/recv-tests: New file.
32563         * tests/test-recv.c: New file.
32565         Tests for module 'listen'.
32566         * modules/listen-tests: New file.
32567         * tests/test-listen.c: New file.
32569         Tests for module 'getsockopt'.
32570         * modules/getsockopt-tests: New file.
32571         * tests/test-getsockopt.c: New file.
32573         Tests for module 'getsockname'.
32574         * modules/getsockname-tests: New file.
32575         * tests/test-getsockname.c: New file.
32577         Tests for module 'getpeername'.
32578         * modules/getpeername-tests: New file.
32579         * tests/test-getpeername.c: New file.
32581         Tests for module 'connect'.
32582         * modules/connect-tests: New file.
32583         * tests/test-connect.c: New file.
32585         Tests for module 'bind'.
32586         * modules/bind-tests: New file.
32587         * tests/test-bind.c: New file.
32589         accept4 tests: Fix for native Windows.
32590         * tests/test-accept4.c: Include sockets.h.
32591         (main): Invoke gl_sockets_startup.
32592         * modules/accept4-tests (Depends-on): Add sockets.
32594         accept tests: Fix for native Windows.
32595         * tests/test-accept.c: Include sockets.h.
32596         (main): Invoke gl_sockets_startup.
32597         * modules/accept-tests (Depends-on): Add sockets.
32599 2011-09-19  Bruno Haible  <bruno@clisp.org>
32601         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
32602         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
32603         do...while(0).
32604         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
32605         Suggested by Paul Eggert.
32607 2011-09-19  Bruno Haible  <bruno@clisp.org>
32609         sched: Ensure pid_t is defined.
32610         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
32611         not define pid_t.
32612         * lib/sched.in.h: Include <sys/types.h>.
32613         * doc/posix-headers/sched.texi: Mention the pid_t problem.
32614         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
32616 2011-09-19  Bruno Haible  <bruno@clisp.org>
32618         msvc-inval: Ensure the entire expansion is a single statement.
32619         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
32620         of braces.
32622 2011-09-19  Jim Meyering  <meyering@redhat.com>
32624         tests: use printf, not echo in init.sh's warn_ function
32625         * tests/init.sh (warn_): Use printf, not echo.  The latter would
32626         misbehave when given strings containing a backslash or starting
32627         with e.g., -n.  James Youngman suggested setting IFS.
32629 2011-09-19  Eric Blake  <eblake@redhat.com>
32631         futimens: enhance test
32632         * tests/test-futimens.h (test_futimens): Also check for EBADF on
32633         closed non-negative fd.
32635         date: accept 'hence' as opposite of 'ago'
32636         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
32637         * tests/test-parse-datetime.c (main): Enhance test.
32638         Suggested by Jesse Wilson.
32640 2011-09-19  Jim Meyering  <meyering@redhat.com>
32642         getcwd: don't fail in a deep directory on a system without openat
32643         Before this change, getcwd would fail when called from a directory
32644         of depth PATH_MAX / 3 or greater.  That was due to the fact that
32645         the non-openat implementation used "..", "../..", "../../..", etc.
32646         to access ancestor directories.  With too many, that string would
32647         be longer than PATH_MAX.
32648         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
32649         using gnulib's openat replacement.
32650         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
32651         we're using the replacement function.
32653 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
32655         maint.mk: avoid warnings from perl about missing files
32656         * top/maint.mk (def_sym_regex): Ignore files listed in
32657         $(gl_other_headers_) that do not exist, say because a project
32658         does not use a corresponding module.
32660 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
32662         stat: use pathmax.h only if needed
32663         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
32664         This is better for Emacs, which does not have a mingw port and
32665         therefore can avoid the pathmax module.
32667         utimens: remove dependency on dup2
32668         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
32669         to work around the Linux kernel bug.
32670         * modules/utimens (Depends-on): Remove dup2.
32672 2011-09-18  Bruno Haible  <bruno@clisp.org>
32674         inet_ntop, inet_pton: Look for it also in libresolv.
32675         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
32676         libnsl, search for it in libresolv.
32677         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
32678         Needed on Solaris 7.
32680 2011-09-18  Bruno Haible  <bruno@clisp.org>
32682         accept, accept4 tests: Avoid link error on Solaris.
32683         * modules/accept-tests (Makefile.am): Link test-accept against
32684         $(LIBSOCKET).
32685         * modules/accept4-tests (Makefile.am): Link test-accept4 against
32686         $(LIBSOCKET).
32688         accept4: Avoid link error on Solaris.
32689         * modules/accept4 (Link): New section.
32691         socket functions: Avoid link errors on Solaris.
32692         * modules/accept (Depends-on): Add socketlib.
32693         (Link): New section.
32694         * modules/bind (Depends-on): Add socketlib.
32695         (Link): New section.
32696         * modules/connect (Depends-on): Add socketlib.
32697         (Link): New section.
32698         * modules/getpeername (Depends-on): Add socketlib.
32699         (Link): New section.
32700         * modules/getsockname (Depends-on): Add socketlib.
32701         (Link): New section.
32702         * modules/getsockopt (Depends-on): Add socketlib.
32703         (Link): New section.
32704         * modules/listen (Depends-on): Add socketlib.
32705         (Link): New section.
32706         * modules/recv (Depends-on): Add socketlib.
32707         (Link): New section.
32708         * modules/recvfrom (Depends-on): Add socketlib.
32709         (Link): New section.
32710         * modules/send (Depends-on): Add socketlib.
32711         (Link): New section.
32712         * modules/sendto (Depends-on): Add socketlib.
32713         (Link): New section.
32714         * modules/setsockopt (Depends-on): Add socketlib.
32715         (Link): New section.
32716         * modules/shutdown (Depends-on): Add socketlib.
32717         (Link): New section.
32718         * modules/socket (Depends-on): Add socketlib.
32719         (Link): New section.
32721 2011-09-18  Bruno Haible  <bruno@clisp.org>
32723         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
32724         * tests/test-ptsname.c (main): Terminate the test if it takes longer
32725         than 5 seconds.
32726         * modules/ptsname-tests (configure.ac): Test for alarm.
32728 2011-09-18  Bruno Haible  <bruno@clisp.org>
32730         posix_spawn_file_actions_add*: Fix module dependencies.
32731         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
32732         posix_spawn_file_actions_init.
32733         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
32734         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
32736 2011-09-18  Bruno Haible  <bruno@clisp.org>
32738         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
32739         * tests/test-rename.h (test_rename): Allow error code EEXIST.
32740         * tests/test-renameat.c (main): Likewise.
32742 2011-09-18  Bruno Haible  <bruno@clisp.org>
32744         Tests for module 'accept4'.
32745         * modules/accept4-tests: New file.
32746         * tests/test-accept4.c: New file.
32748 2011-09-18  Bruno Haible  <bruno@clisp.org>
32750         Tests for module 'accept'.
32751         * modules/accept-tests: New file.
32752         * tests/test-accept.c: New file.
32754 2011-09-18  Bruno Haible  <bruno@clisp.org>
32756         dup2: Support for MSVC.
32757         * lib/dup2.c: Include msvc-inval.h.
32758         (rpl_dup2): Handle invalid parameter notifications during dup2 and
32759         _get_osfhandle calls.
32760         * modules/dup2 (Depends-on): Add msvc-inval.
32761         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
32763         New module 'msvc-inval'.
32764         * lib/msvc-inval.h: New file.
32765         * lib/msvc-inval.c: New file.
32766         * m4/msvc-inval.m4: New file.
32767         * modules/msvc-inval: New file.
32769 2011-09-17  Bruno Haible  <bruno@clisp.org>
32771         Tests for module 'pclose'.
32772         * modules/pclose-tests: New file.
32774         New module 'pclose'.
32775         * lib/stdio.in.h (pclose): New declaration.
32776         * lib/pclose.c: New file.
32777         * m4/pclose.m4: New file.
32778         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
32779         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
32780         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
32781         * modules/pclose: New file.
32782         * modules/popen-tests (Depends-on): Add pclose.
32783         * modules/popen-safer-tests (Depends-on): Likewise.
32784         * doc/posix-functions/pclose.texi: Mention the new module.
32786 2011-09-17  Bruno Haible  <bruno@clisp.org>
32788         popen: Support for MSVC.
32789         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
32790         * lib/popen.c (popen): Provide alternate definition for native Windows.
32791         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
32792         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
32793         * modules/popen (Depends-on, configure.ac): Update condition.
32794         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
32795         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
32796         fixed.
32798 2011-09-17  Bruno Haible  <bruno@clisp.org>
32800         isnanl, isnand, isnanf: Work around MSVC bug.
32801         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
32803 2011-09-17  Bruno Haible  <bruno@clisp.org>
32805         sys_socket tests: Fix recent mistake.
32806         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
32808 2011-09-17  Bruno Haible  <bruno@clisp.org>
32810         putenv: Support for MSVC.
32811         * modules/putenv (Depends-on): Add environ.
32812         * lib/putenv.c (environ): Disable declaration.
32813         * lib/unistd.in.h: Update comment.
32815 2011-09-17  Bruno Haible  <bruno@clisp.org>
32817         math: Avoid macro redefinition warnings on MSVC.
32818         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
32819         Undefine before redefining.
32821 2011-09-17  Bruno Haible  <bruno@clisp.org>
32823         doc: Mention functions which are declared as macros.
32824         * doc/posix-functions/*[fl].texi: Mention that some functions are
32825         defined as macros with arguments only.
32827 2011-09-17  Bruno Haible  <bruno@clisp.org>
32829         Add dependencies to new dirent related modules.
32830         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
32831         * modules/fts (Depends-on): Likewise.
32832         * modules/glob (Depends-on): Likewise.
32833         * modules/savedir (Depends-on): Likewise.
32834         * modules/scandir (Depends-on): Likewise.
32835         * modules/dirent-safer (Depends-on): Add opendir, closedir.
32836         * modules/fdopendir (Depends-on): Add opendir.
32838 2011-09-17  Bruno Haible  <bruno@clisp.org>
32840         inet_pton: Support for MSVC on Windows Vista or newer.
32841         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
32842         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
32843         HAVE_DECL_INET_PTON is defined.
32844         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
32845         On platforms with <winsock2.h>, test whether inet_pton is declared in
32846         <ws2tcpip.h>. If so, arrange to replace it.
32847         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
32848         REPLACE_INET_PTON.
32849         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
32850         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
32851         (Depends-on, configure.ac): Update condition.
32852         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
32854 2011-09-17  Bruno Haible  <bruno@clisp.org>
32856         inet_ntop: Support for MSVC on Windows Vista or newer.
32857         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
32858         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
32859         HAVE_DECL_INET_NTOP is defined.
32860         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
32861         On platforms with <winsock2.h>, test whether inet_ntop is declared in
32862         <ws2tcpip.h>. If so, arrange to replace it.
32863         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
32864         REPLACE_INET_NTOP.
32865         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
32866         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
32867         (Depends-on, configure.ac): Update condition.
32868         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
32870 2011-09-16  Eric Blake  <eblake@redhat.com>
32872         test-fsync: yet another enhancement
32873         * tests/test-fsync.c (main): Also test behavior on read-only text
32874         file.
32876 2011-09-16  Bruno Haible  <bruno@clisp.org>
32878         Enhance fsync, fdatasync tests.
32879         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
32880         * tests/test-fdatasync.c (main): Likewise.
32882 2011-09-16  Bruno Haible  <bruno@clisp.org>
32884         Support for MSVC compiler: Ensure mode_t gets defined.
32885         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
32886         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
32887         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
32888         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
32889         * tests/test-fcntl-h.c: Check that mode_t is defined.
32890         * tests/test-sys_stat.c: Likewise.
32891         * tests/test-sys_types.c: Likewise.
32892         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
32893         * doc/posix-headers/sys_stat.texi: Likewise.
32894         * doc/posix-headers/sys_types.texi: Likewise.
32896 2011-09-16  Bruno Haible  <bruno@clisp.org>
32898         sys_stat: Support for MSVC.
32899         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
32900         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
32901         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
32902         MSVC.
32904 2011-09-16  Bruno Haible  <bruno@clisp.org>
32906         Support for MSVC compiler: Ensure off_t gets defined.
32907         * lib/unistd.in.h: Include <sys/types.h>.
32908         * tests/test-fcntl-h.c: Check that off_t is defined.
32909         * tests/test-sys_stat.c: Likewise.
32910         * tests/test-sys_types.c: Likewise.
32912 2011-09-16  Eric Blake  <eblake@redhat.com>
32914         fdatasync: port to Solaris
32915         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
32916         * modules/fdatasync (Link): Document it.
32917         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
32919         fdatasync: port to MacOS X 10.7
32920         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
32921         declared.
32922         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
32923         * modules/unistd (Makefile.am): Substitute it.
32924         * lib/unistd.in.h (fdatasync): Declare on MacOS.
32925         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
32927         fdatasync: minor improvements
32928         * modules/fdatasync (Depends-on): Add condition for fsync.
32929         * lib/fdatasync.c (fdatasync): Add comment.
32930         * tests/test-unistd-c++.cc: Test fdatasync.
32932         unistd: update refs to newer POSIX
32933         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
32934         Suggested by Bruno Haible.
32936         fdatasync: new module
32937         * modules/fsync (Description): Document difference to fdatasync.
32938         * modules/fdatasync: New module.
32939         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
32940         * lib/fdatasync.c (fdatasync): Likewise.
32941         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
32942         defaults.
32943         * modules/unistd (Makefile.am): Set witnesses.
32944         * lib/unistd.in.h (fdatasync): Declare.
32945         * MODULES.html.sh: Document it.
32946         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
32947         * modules/fdatasync-tests: New test.
32948         * tests/test-fdatasync.c: Likewise.
32950 2011-09-16  Eric Blake  <eblake@redhat.com>
32952         test-fsync: enhance tests
32953         * modules/fsync-tests (Depends-on): Add errno, for mingw.
32954         * tests/test-fsync.c (main): Enhance test.
32956 2011-09-15  Bruno Haible  <bruno@clisp.org>
32958         Support for MSVC compiler: Ensure ssize_t gets defined.
32959         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
32960         * doc/posix-headers/stdio.texi: Likewise.
32961         * modules/stdio (Depends-on): Add ssize_t.
32962         * modules/sys_socket (Depends-on): Likewise.
32963         * modules/sys_types (Depends-on): Likewise.
32964         * modules/sys_uio (Depends-on): Likewise.
32965         * modules/unistd (Depends-on): Likewise.
32966         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
32967         * tests/test-sys_types.c: Check that ssize_t is defined.
32969 2011-09-14  Bruno Haible  <bruno@clisp.org>
32971         Avoid using #, the m4 comment starter character, near brackets.
32972         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
32973         delimiter character in sed expressions.
32974         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
32975         Suggested by Eric Blake.
32977         Properly quote AC_CHECK_DECLS' 4th argument.
32978         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
32979         argument.
32980         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
32981         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
32982         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
32983         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
32984         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
32985         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
32986         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
32987         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
32988         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
32989         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
32990         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
32991         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
32992         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
32993         * m4/isinf.m4 (gl_ISINF): Likewise.
32994         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
32995         * m4/readutmp.m4 (gl_READUTMP): Likewise.
32996         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
32997         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
32998         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
32999         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
33000         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
33001         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
33002         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
33003         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
33004         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
33005         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
33006         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
33007         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
33008         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
33009         Reported by Eric Blake.
33011         Properly quote AC_CHECK_DECL's 4th argument.
33012         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
33013         argument.
33014         * m4/argp.m4 (gl_ARGP): Likewise.
33015         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
33016         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
33017         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
33018         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
33019         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
33020         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
33021         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
33022         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
33023         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
33024         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
33025         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
33026         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
33027         Reported by Eric Blake.
33029 2011-09-14  Eric Blake  <eblake@redhat.com>
33031         opendir: avoid compile warning
33032         * lib/opendir.c (includes): Always include errno.h.
33033         Reported by Tatsuro MATSUOKA.
33035 2011-09-14  Jim Meyering  <meyering@redhat.com>
33037         maint.mk: sc_tight_scope: propagate failure from sub-make
33038         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
33039         Reported by Martin von Gagern.
33041 2011-09-13  Bruno Haible  <bruno@clisp.org>
33043         tempname: Support for MSVC.
33044         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
33045         MSVC.
33046         * modules/tempname (Depends-on): Add fcntl-h.
33048 2011-09-13  Bruno Haible  <bruno@clisp.org>
33050         sys_time: Support for MSVC.
33051         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
33052         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
33053         include <winsock2.h>.
33054         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
33055         function declarations that collide with POSIX.
33056         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
33057         (Makefile.am): Substitute HAVE_WINSOCK2_H.
33059 2011-09-13  Bruno Haible  <bruno@clisp.org>
33061         stat: Support for MSVC.
33062         * lib/stat.c: Include pathmax.h.
33063         * modules/stat (Depends-on): Add pathmax.
33065         pathmax: Support for native Windows.
33066         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
33068 2011-09-12  Bruno Haible  <bruno@clisp.org>
33070         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
33071         * lib/dirent.in.h (struct dirent): New type.
33072         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
33073         DT_WHT): New macros.
33074         (DIR): New type.
33075         (opendir, closedir): Declare only if the module 'opendir' is enabled.
33076         (readdir, rewinddir): New declarations.
33077         * lib/dirent-private.h: New file.
33078         * lib/opendir.c: New file.
33079         * lib/readdir.c: New file.
33080         * lib/rewinddir.c: New file.
33081         * lib/closedir.c: New file.
33082         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
33083         * m4/opendir.m4: New file.
33084         * m4/readdir.m4: New file.
33085         * m4/rewinddir.m4: New file.
33086         * m4/closedir.m4: New file.
33087         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
33088         REPLACE_CLOSEDIR here.
33089         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
33090         readdir, rewinddir are declared.
33091         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
33092         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
33093         HAVE_REWINDDIR, HAVE_CLOSEDIR.
33094         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
33095         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
33096         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
33097         * modules/opendir: New file.
33098         * modules/readdir: New file.
33099         * modules/rewinddir: New file.
33100         * modules/closedir: New file.
33101         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
33102         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
33103         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
33104         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
33105         * NEWS: Mention the 'fchdir' change.
33107 2011-09-11  Bruno Haible  <bruno@clisp.org>
33109         asm-underscore.m4: Support for MSVC.
33110         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
33111         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
33113 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
33115         Doc about crypt functions.
33116         * doc/posix-functions/crypt.texi: Expand range of glibc versions
33117         needing for _GNU_SOURCE to get crypt.
33118         * doc/posix-functions/encrypt.texi: Likewise.
33119         * doc/posix-functions/setkey.texi: Likewise.
33121 2011-09-11  Bruno Haible  <bruno@clisp.org>
33123         doc: Update regarding MSVC 9.
33124         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
33125         tested".
33126         * doc/posix-functions/*.texi: Update with info about MSVC 9.
33127         * doc/posix-headers/*.texi: Likewise.
33128         * doc/pastposix-functions/*.texi: Likewise.
33129         * doc/glibc-functions/*.texi: Likewise.
33130         * doc/glibc-headers/*.texi: Likewise.
33132 2011-09-11  Bruno Haible  <bruno@clisp.org>
33134         unistd et al.: Don't assume <unistd.h> exists.
33135         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
33136         does not exist.
33137         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
33138         exist. But include <stdlib.h>.
33139         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
33140         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
33141         symlink() does not exist.
33142         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
33143         include <io.h> instead.
33144         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
33145         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
33146         include <direct.h> instead.
33147         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
33148         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
33149         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
33150         <io.h> instead.
33151         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
33152         correctly if the system does not have hard links.
33153         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
33154         <direct.h> instead.
33155         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
33156         it when looking for function declarations.
33157         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
33158         <direct.h> and <io.h> instead.
33159         * doc/posix-headers/unistd.texi: More details about MSVC problem.
33161 2011-09-11  Bruno Haible  <bruno@clisp.org>
33163         strcase: Support for MSVC.
33164         * modules/strcase (Status, Notice): Remove obsoletion mark.
33165         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
33166         * doc/posix-functions/strncasecmp.texi: Likewise.
33168         strings: Don't assume <strings.h> exists.
33169         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
33170         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
33171         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
33172         * doc/posix-headers/strings.texi: Mention the MSVC problem.
33174 2011-09-11  Bruno Haible  <bruno@clisp.org>
33176         dirent: Don't assume <dirent.h> exists.
33177         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
33178         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
33179         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
33180         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
33182 2011-09-11  Bruno Haible  <bruno@clisp.org>
33184         Fix wint_t on MSVC.
33185         * lib/wchar.in.h (wint_t): On MSVC, override it.
33186         * lib/wctype.in.h (wint_t): Likewise.
33187         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
33188         MSVC.
33189         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
33190         * doc/posix-headers/wctype.texi: Likewise.
33192 2011-09-11  Bruno Haible  <bruno@clisp.org>
33194         sys_types: Fix typo.
33195         * lib/sys_types.in.h: Fix typo in comment.
33196         Reported by Paul Eggert.
33198         Support for MSVC compiler: Ensure size_t gets defined.
33199         * modules/strings (Depends-on): Add 'sys_types'.
33200         * modules/sys_uio (Depends-on): Likewise.
33201         * lib/sys_uio.in.h: Update comment.
33203         C++ tests for module 'sys_types'.
33204         * modules/sys_types-c++-tests: New file.
33205         * tests/test-sys_types-c++.cc: New file.
33207         Tests for module 'sys_types'.
33208         * modules/sys_types-tests: New file.
33209         * tests/test-sys_types.c: New file.
33211         New module 'sys_types'.
33212         * lib/sys_types.in.h: New file.
33213         * m4/sys_types_h.m4: New file.
33214         * modules/sys_types: New file.
33215         * doc/posix-headers/sys_types.texi: Mention the new module and the
33216         size_t problem on MSVC 9.
33218 2011-09-11  Bruno Haible  <bruno@clisp.org>
33220         Support for MSVC compiler: Avoid division by a literal 0.
33221         * lib/math.in.h (NAN): Define through a function call also on MSVC.
33222         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
33223         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
33224         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
33225         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
33226         * tests/infinity.h: New file.
33227         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
33228         on MSVC.
33229         * tests/test-ceilf1.c: Include infinity.h.
33230         (main): Use Infinityf.
33231         * tests/test-ceil1.c: Include infinity.h.
33232         (main): Use Infinityd.
33233         * tests/test-ceill.c: Include infinity.h.
33234         (main): Use Infinityl.
33235         * tests/test-dprintf-posix.c: Include infinity.h.
33236         (test_function): Use Infinityd.
33237         * tests/test-floorf1.c: Include infinity.h.
33238         (main): Use Infinityf.
33239         * tests/test-floor1.c: Include infinity.h.
33240         (main): Use Infinityd.
33241         * tests/test-floorl.c: Include infinity.h.
33242         (main): Use Infinityl.
33243         * tests/test-fprintf-posix.c: Include infinity.h.
33244         (test_function): Use Infinityd.
33245         * tests/test-frexp.c: Include infinity.h.
33246         (main): Use Infinityd.
33247         * tests/test-frexpl.c: Include infinity.h.
33248         (main): Use Infinityl.
33249         * tests/test-isfinite.c: Include infinity.h.
33250         (test_isfinitef): Use Infinityf.
33251         (test_isfinited): Use Infinityd.
33252         (test_isfinitel): Use Infinityl.
33253         * tests/test-isinf.c: Include infinity.h.
33254         (test_isinff): Use Infinityf.
33255         (test_isinfd): Use Infinityd.
33256         (test_isinfl): Use Infinityl.
33257         * tests/test-isnan.c: Include infinity.h.
33258         (test_float): Use Infinityf.
33259         (test_double): Use Infinityd.
33260         (test_long_double): Use Infinityl.
33261         * tests/test-isnanf.h: Include infinity.h.
33262         (main): Use Infinityf.
33263         * tests/test-isnand.h: Include infinity.h.
33264         (main): Use Infinityd.
33265         * tests/test-isnanl.h: Include infinity.h.
33266         (main): Use Infinityl.
33267         * tests/test-ldexpl.c: Include infinity.h.
33268         (main): Use Infinityl.
33269         * tests/test-printf-posix.h: Include infinity.h.
33270         (test_function): Use Infinityd.
33271         * tests/test-roundf1.c: Include infinity.h.
33272         (main): Use Infinityf.
33273         * tests/test-round1.c: Include infinity.h.
33274         (main): Use Infinityd.
33275         * tests/test-roundl.c: Include infinity.h.
33276         (main): Use Infinityl.
33277         * tests/test-signbit.c: Include infinity.h.
33278         (test_signbitf): Use Infinityf.
33279         (test_signbitd): Use Infinityd.
33280         (test_signbitl): Use Infinityl.
33281         * tests/test-snprintf-posix.h: Include infinity.h.
33282         (test_function): Use Infinityd, Infinityl.
33283         * tests/test-sprintf-posix.h: Include infinity.h.
33284         (test_function): Use Infinityd, Infinityl.
33285         * tests/test-truncf1.c: Include infinity.h.
33286         (main): Use Infinityf.
33287         * tests/test-trunc1.c: Include infinity.h.
33288         (main): Use Infinityd.
33289         * tests/test-truncl.c: Include infinity.h.
33290         (main): Use Infinityl.
33291         * tests/test-vasnprintf-posix.c: Include infinity.h.
33292         (test_function): Use Infinityd, Infinityl.
33293         * tests/test-vasprintf-posix.c: Include infinity.h.
33294         (test_function): Use Infinityd, Infinityl.
33295         * modules/ceilf-tests (Files): Add tests/infinity.h.
33296         * modules/ceil-tests (Files): Likewise.
33297         * modules/ceill-tests (Files): Likewise.
33298         * modules/dprintf-posix-tests (Files): Likewise.
33299         * modules/floorf-tests (Files): Likewise.
33300         * modules/floor-tests (Files): Likewise.
33301         * modules/floorl-tests (Files): Likewise.
33302         * modules/fprintf-posix-tests (Files): Likewise.
33303         * modules/frexp-tests (Files): Likewise.
33304         * modules/frexp-nolibm-tests (Files): Likewise.
33305         * modules/frexpl-tests (Files): Likewise.
33306         * modules/frexpl-nolibm-tests (Files): Likewise.
33307         * modules/isfinite-tests (Files): Likewise.
33308         * modules/isinf-tests (Files): Likewise.
33309         * modules/isnan-tests (Files): Likewise.
33310         * modules/isnanf-tests (Files): Likewise.
33311         * modules/isnanf-nolibm-tests (Files): Likewise.
33312         * modules/isnand-tests (Files): Likewise.
33313         * modules/isnand-nolibm-tests (Files): Likewise.
33314         * modules/isnanl-tests (Files): Likewise.
33315         * modules/isnanl-nolibm-tests (Files): Likewise.
33316         * modules/ldexpl-tests (Files): Likewise.
33317         * modules/printf-posix-tests (Files): Likewise.
33318         * modules/roundf-tests (Files): Likewise.
33319         * modules/round-tests (Files): Likewise.
33320         * modules/roundl-tests (Files): Likewise.
33321         * modules/signbit-tests (Files): Likewise.
33322         * modules/snprintf-posix-tests (Files): Likewise.
33323         * modules/sprintf-posix-tests (Files): Likewise.
33324         * modules/truncf-tests (Files): Likewise.
33325         * modules/trunc-tests (Files): Likewise.
33326         * modules/truncl-tests (Files): Likewise.
33327         * modules/vasnprintf-posix-tests (Files): Likewise.
33328         * modules/vasprintf-posix-tests (Files): Likewise.
33329         * modules/vdprintf-posix-tests (Files): Likewise.
33330         * modules/vfprintf-posix-tests (Files): Likewise.
33331         * modules/vprintf-posix-tests (Files): Likewise.
33332         * modules/vsnprintf-posix-tests (Files): Likewise.
33333         * modules/vsprintf-posix-tests (Files): Likewise.
33334         * modules/xprintf-posix-tests (Files): Likewise.
33336 2011-09-11  Bruno Haible  <bruno@clisp.org>
33338         Ensure pid_t gets defined.
33339         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
33340         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
33341         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
33342         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
33343         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
33344         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
33345         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
33346         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
33347         * tests/test-fcntl-h.c: Check that pid_t is defined.
33348         * tests/test-sched.c: Likewise.
33349         * tests/test-termios.c: Likewise.
33350         * tests/test-time.c: Likewise.
33351         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
33352         * doc/posix-headers/signal.texi: Likewise.
33353         * doc/posix-headers/sys_types.texi: Likewise.
33354         * doc/posix-headers/time.texi: Likewise.
33356 2011-09-11  Bruno Haible  <bruno@clisp.org>
33358         acl: Fix compilation on Solaris 10 (older version).
33359         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
33360         of ACE_EVERYONE.
33361         * lib/set-mode-acl.c (qset_acl): Likewise.
33362         Reported by Christian Jullien <eligis@orange.fr>.
33364 2011-09-10  Bruno Haible  <bruno@clisp.org>
33366         iconv, unsetenv: Add support for MSVC compiler.
33367         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
33368         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
33370 2011-09-10  Bruno Haible  <bruno@clisp.org>
33372         *printf: Add support for MSVC compiler.
33373         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
33374         handles the exception caused by the %n directive. When cross-compiling,
33375         guess no on native Windows.
33376         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
33377         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
33378         emulate it through vsnprintf.
33379         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
33380         * doc/posix-functions/dprintf.texi: Update documentation regarding
33381         MSVC 9.
33382         * doc/posix-functions/fprintf.texi: Likewise.
33383         * doc/posix-functions/printf.texi: Likewise.
33384         * doc/posix-functions/snprintf.texi: Likewise.
33385         * doc/posix-functions/sprintf.texi: Likewise.
33386         * doc/posix-functions/swprintf.texi: Likewise.
33387         * doc/posix-functions/vdprintf.texi: Likewise.
33388         * doc/posix-functions/vfprintf.texi: Likewise.
33389         * doc/posix-functions/vprintf.texi: Likewise.
33390         * doc/posix-functions/vsnprintf.texi: Likewise.
33391         * doc/posix-functions/vsprintf.texi: Likewise.
33392         * doc/glibc-functions/asprintf.texi: Likewise.
33393         * doc/glibc-functions/obstack_printf.texi: Likewise.
33394         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
33395         * doc/glibc-functions/vasprintf.texi: Likewise.
33397 2011-09-10  Bruno Haible  <bruno@clisp.org>
33399         nocrash: Add support for native Windows.
33400         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
33402 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
33403             Bruno Haible  <bruno@clisp.org>
33405         absolute-header, include-next: Add support for MSVC compiler.
33406         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
33407         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
33408         directory separator in #line directives.
33409         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
33410         recognize also backslash as directory separator in #line directives.
33412 2011-09-08  Jim Meyering  <meyering@redhat.com>
33414         maint.mk: mark the post-release commit log with "maint: " prefix
33415         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
33416         one-line commit-log summary.
33418 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
33419             Bruno Haible  <bruno@clisp.org>
33421         Doc about crypt functions.
33422         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
33423         systems.
33424         * doc/posix-functions/encrypt.texi: Likewise.
33425         * doc/posix-functions/setkey.texi: Likewise.
33427 2011-09-08  Simon Josefsson  <simon@josefsson.org>
33429         * lib/gc.h: Fix copyright header.
33431 2011-09-07  Bruno Haible  <bruno@clisp.org>
33433         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
33434         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
33435         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
33437 2011-09-07  Bruno Haible  <bruno@clisp.org>
33439         openat: Work around compilation error with OSF/1 5.1 DTK cc.
33440         * lib/fopen.c: Use different syntax for include of <stdio.h>.
33441         * lib/freopen.c: Likewise.
33442         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
33443         * lib/lstat.c: Likewise.
33444         * lib/stat.c: Likewise.
33445         * lib/open.c: Use different syntax for include of <fcntl.h>.
33446         * lib/openat.c: Include fcntl.h again, explicitly.
33448 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
33450         parse-datetime: document the newly accepted format
33451         * doc/parse-datetime.texi (Combined date and time of day items):
33452         New section.
33454 2011-09-06  Bruno Haible  <bruno@clisp.org>
33456         acl: Fix a test failure on newer Solaris 10 with ZFS.
33457         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
33458         ENOSYS as no ACL.
33459         Reported by Jim Meyering.
33461 2011-09-06  Bruno Haible  <bruno@clisp.org>
33463         acl: Update for AIX >= 5.3 with NFS.
33464         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
33465         ENOSYS as no ACL.
33467         acl: Fix a test failure on AIX >= 5.3 with NFS.
33468         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
33469         as no ACL.
33471 2011-09-06  Bruno Haible  <bruno@clisp.org>
33473         acl: Fix a test failure on IRIX 6.5 with NFS.
33474         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
33475         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
33476         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
33477         * lib/copy-acl.c (qcopy_acl): Likewise.
33479 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
33481         openat: port to AIX 7.1 with large files
33482         AIX 7.1 does a "#define openat open64at" if large files are in use,
33483         so we can't simply #undef openat.  Use the orig_openat trick (similar
33484         to orig_open in lib/open.c) to work around the problem.  Problem
33485         reported by Kevin Brott for GNU tar, in the thread containing
33486         <http://lists.gnu.org/r/bug-tar/2011-09/msg00032.html>.
33487         * lib/openat.c (__need_system_fcntl_h): Define first.
33488         Include <fcntl.h> and <sys/types.h> before undefining.
33489         (orig_openat) [HAVE_OPENAT]: New inline function.
33490         (openat) [HAVE_OPENAT]: Do not undef.
33491         (rpl_openat): Use orig_openat, not openat.
33493 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
33494             Bruno Haible  <bruno@clisp.org>
33496         acl: Avoid errors on NonStop Kernel.
33497         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
33498         ENOTSUP errors.
33500 2011-09-05  Bruno Haible  <bruno@clisp.org>
33502         acl: Clean up Solaris code.
33503         * lib/acl-internal.h: Remove no-op #if.
33504         * lib/file-has-acl.c: Likewise.
33505         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
33506         * lib/copy-acl.c (qcopy_acl): Likewise.
33508 2011-09-05  Bruno Haible  <bruno@clisp.org>
33510         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
33511         binaries built on the original Solaris 10.
33512         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
33513         trivial.
33515 2011-09-05  Bruno Haible  <bruno@clisp.org>
33517         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
33518         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
33519         10.
33520         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
33521         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
33522         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
33523         instead of acl_get, facl_get, acl_set, facl_set.
33525 2011-09-05  Bruno Haible  <bruno@clisp.org>
33527         copy-file: Try unit tests on more file systems.
33528         * tests/test-copy-file-1.sh: New file.
33529         * tests/test-copy-file-2.sh: New file.
33530         * modules/copy-file-tests (Files): Add them.
33531         (Makefile.am): Add them to TESTS.
33533         acl: Try unit tests on more file systems.
33534         * tests/test-file-has-acl-1.sh: New file.
33535         * tests/test-file-has-acl-2.sh: New file.
33536         * tests/test-set-mode-acl-1.sh: New file.
33537         * tests/test-set-mode-acl-2.sh: New file.
33538         * tests/test-copy-acl-1.sh: New file.
33539         * tests/test-copy-acl-2.sh: New file.
33540         * modules/acl-tests (Files): Add them.
33541         (Makefile.am): Add them to TESTS.
33543 2011-09-04  Bruno Haible  <bruno@clisp.org>
33545         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
33546         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
33547         10.
33548         (OLD_ALLOW, OLD_DENY): New macros.
33549         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
33550         ACE_ACCESS_ALLOWED_ACE_TYPE.
33551         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
33552         ACE_ACCESS_DENIED_ACE_TYPE.
33553         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
33554         (NEW_ACE_EXECUTE): Fix value.
33555         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
33556         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
33557         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
33558         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
33559         NEW_ACE_SYNCHRONIZE): New macros.
33560         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
33561         instead of acl_fromtext, acl_set, facl_set.
33562         Fixes a coreutils/tests/cp/perm failure.
33564 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
33566         openat: test for fstatat (..., 0) bug
33567         Further testing with tar suggests that fstatat (..., 0)
33568         does not work in general, on AIX 7.1; see
33569         <http://lists.gnu.org/r/bug-tar/2011-09/msg00023.html>.
33570         So, give up entirely on AIX 7.1's fstatat, and fall back on our
33571         replacement fstatat (which is what older AIX releases were using
33572         anyway).
33573         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
33574         use is now changed to orig_fstatat.  This was probably the right
33575         thing to do anyway.
33576         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
33577         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
33578         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
33579         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
33580         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
33581         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
33582         if the bug is found.
33584         openat: test for fstatat (AT_FDCWD, ..., 0) bug
33585         This tests for another fstatat bug on AIX 7.1:
33586         fstatat (AT_FDCWD, ..., 0) does not work.  See
33587         <http://lists.gnu.org/r/bug-tar/2011-09/msg00015.html>.
33588         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
33589         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
33590         (rpl_fstatat): Adjust so that it works around either (or both)
33591         bugs if present.
33592         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
33594 2011-09-03  Karl Berry  <karl@gnu.org>
33596         * doc/regex.texi (Character Class Operators): Avoid literal ":"
33597         in index entries.
33599 2011-09-02  Bruno Haible  <bruno@clisp.org>
33601         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
33602         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
33603         values of AR, ARFLAGS, RANLIB.
33604         Reported by John W. Eaton <jwe@gnu.org> for Octave.
33606 2011-09-02  Bruno Haible  <bruno@clisp.org>
33608         Find 'ar' program that fits with --host argument.
33609         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
33611 2011-09-02  Bruno Haible  <bruno@clisp.org>
33613         tests: init.sh: Support any non-GNU diff.
33614         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
33615         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
33616         Solaris 8.
33618 2011-09-02  Bruno Haible  <bruno@clisp.org>
33620         tests: init.sh: work also with any non-GNU diff that supports -u
33621         * tests/init.sh: Relax check for diff -u support.
33622         Rather than checking for GNU diff via --version, simply check
33623         for support for -u itself.  Useful at least on OpenBSD 4.9,
33624         AIX 7.1, IRIX 6.5, and Solaris 10.
33626 2011-09-01  Bruno Haible  <bruno@clisp.org>
33628         strtoimax, strtoumax: Document problem on HP-UX 11.
33629         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
33630         * doc/posix-functions/strtoumax.texi: Likewise.
33632 2011-09-01  Bruno Haible  <bruno@clisp.org>
33634         strtoumax: Avoid link error on OSF/1 with DTK cc.
33635         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
33636         defined as a function.
33637         * modules/strtoumax (Depends-on, configure.ac): Test only whether
33638         strtoumax is defined, not whether it is declared.
33640 2011-09-01  Bruno Haible  <bruno@clisp.org>
33642         strtoimax: Avoid link error on OSF/1 with DTK cc.
33643         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
33644         defined as a function.
33645         * modules/strtoimax (Depends-on, configure.ac): Test only whether
33646         strtoimax is defined, not whether it is declared.
33648 2011-09-01  Bruno Haible  <bruno@clisp.org>
33650         imaxdiv: Avoid link error on OSF/1 with DTK cc.
33651         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
33652         as a function.
33653         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
33654         whether it is declared.
33656 2011-09-01  Bruno Haible  <bruno@clisp.org>
33658         imaxabs: Avoid link error on OSF/1 with DTK cc.
33659         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
33660         as a function.
33661         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
33662         whether it is declared.
33664 2011-09-01  Bruno Haible  <bruno@clisp.org>
33666         Tests for module 'strtoumax'.
33667         * modules/strtoumax-tests: New file.
33668         * tests/test-strtoumax.c: New file.
33670         Tests for module 'strtoimax'.
33671         * modules/strtoimax-tests: New file.
33672         * tests/test-strtoimax.c: New file.
33674         Tests for module 'imaxdiv'.
33675         * modules/imaxdiv-tests: New file.
33676         * tests/test-imaxdiv.c: New file.
33678         Tests for module 'imaxabs'.
33679         * modules/imaxabs-tests: New file.
33680         * tests/test-imaxabs.c: New file.
33682 2011-09-01  Bruno Haible  <bruno@clisp.org>
33684         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
33685         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
33686         pthread_create.
33688 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
33690         openat: work around AIX 7.1 fstatat issue
33691         This should fix the problem that was not properly fixed
33692         in the previous change, dated 2011-08-30.
33693         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
33694         __need_system_stat_h defined.
33695         (orig_fstatat) [HAVE_FSTATAT]: New function.
33696         (rpl_fstatat): Go back to the old way of doing things,
33697         except call orig_fstatat instead of fstatat.
33698         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
33699         Remove unnecessary check whether fstatat fills in st_size etc.
33701 2011-09-01  Bruno Haible  <bruno@clisp.org>
33703         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
33704         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
33705         just include the system's header.
33707 2011-08-31  Jim Meyering  <meyering@redhat.com>
33709         tests: avoid spurious assertion failure in test-float.c on ppc64
33710         * tests/test-float.c (test_long_double): Comment out an assertion,
33711         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
33712         with gcc-4.4.4.
33714         maint: indent with spaces, not TABs
33715         I need to get in the habit of running gnulib's "make check".
33716         Both of these would have been caught.
33717         * m4/largefile.m4: Indent with spaces, not TABs.
33718         * lib/parse-datetime.y (iso_8601_time): Likewise.
33719         Spotted by Pádraig Brady.
33721         test-parse-datetime.c: accommodate a relatively strict gcc warning
33722         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
33723         to avoid a warning from gcc's -Werror=missing-declarations.
33724         Insert a few spaces-before-funcall-parenthesis.
33726 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
33728         parse-datetime: accept ISO 8601 date and time rep with "T" separator
33729         The parser now accepts ISO 8601 date-time strings with "T" as the
33730         separator.  It has long parsed dates like "2004-02-29 16:21:42"
33731         with a space between the date and time strings.  Now it also parses
33732         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
33733         variants like "2004-02-29T16:21:42.333-07:00"
33734         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
33735         of day representation using the 'T' separator character.
33736         * doc/parse-datetime.texi (General date syntax): replace use of
33737         deprecated --iso-8601 option with --rfc-3339 in example of date
33738         command output formats that can be parsed.
33739         * tests/test-parse-datetime.c (tm_diff): New function, taken from
33740         lib/parse-datetime.y.
33741         (gmt_offset): New function.
33742         (main): Add additional test cases to validate ISO8601 extended
33743         date and time of day parsing.
33745 2011-08-31  Bruno Haible  <bruno@clisp.org>
33747         freopen: Documentation.
33748         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
33749         name.
33750         Reported by Claudio Bley <claudio.bley@gmail.com>.
33752 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
33754         freopen: Don't crash if the filename argument is NULL.
33755         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
33756         NULL.
33758 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
33760         openat: work around AIX 7.1 fstatat bug
33761         Problem reported by Kevin Brott for GNU tar, in the thread containing
33762         <http://lists.gnu.org/r/bug-tar/2011-08/msg00015.html>.
33763         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
33764         FSTATAT_ST_SIZE_ETC_BROKEN.
33765         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
33766         rpl_fstatat.
33767         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
33768         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
33769         AC_CHECK_FUNCS_ONCE for fstatat.
33770         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
33771         fchmodat, mkdirat, openat and unlinkat.
33773 2011-08-30  Bruno Haible  <bruno@clisp.org>
33775         Avoid endless recursions if config.h includes some header files.
33776         * lib/fopen.c (__need_FILE): Define already before including config.h.
33777         * lib/freopen.c (__need_FILE): Likewise.
33778         * lib/open.c (__need_system_fcntl_h): Likewise.
33779         * lib/stat.c (__need_system_sys_stat_h): Likewise.
33780         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
33781         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
33783 2011-08-25  Karl Berry  <karl@gnu.org>
33785         * config/srclist.txt (ylwrap): new try.
33786         * build-aux/ylwrap: new file.
33788 2011-08-23  Bruno Haible  <bruno@clisp.org>
33790         tmpdir: Use a good default directory on native Windows.
33791         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
33792         (P_tmpdir): Default to _P_tmpdir on native Windows.
33793         (path_search): On native Windows, try the value returned by GetTempPath
33794         before trying P_tmpdir.
33795         * modules/tmpdir (Depends-on): Add pathmax.
33796         Suggested by John Darrington <john@darrington.wattle.id.au>.
33798 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
33800         doc: fix typo in README-release
33801         * top/README-release: Capitalize first word of a sentence.
33803 2011-08-19  Jim Meyering  <meyering@redhat.com>
33805         fts: do not exhaust memory when processing million-entry directories
33806         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
33807         directory would require about 256*N bytes of memory.  Thus, it was
33808         easy to construct a directory too large to be processed by any of
33809         those tools.  With this change, fts' maximum memory utilization is
33810         now limited to around 30MB.
33811         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
33812         (fts_read): When we've processed the final entry (i.e., when
33813         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
33814         using the parent entry to read any remaining entries.  Dispatch
33815         depending on what fts_build returns:
33816         - NULL+stop, aka failure: stop
33817         - NULL otherwise: move up in the dir hierarchy
33818         - non-NULL: handle this new entry
33819         (fts_build): Declare and use new local, continue_readdir.
33820         Prepare to be called from fts_read, when the entries
33821         from a partially-read directory have just been exhausted.
33822         In that case, we'll skip the opendir and instead use the parent's
33823         fts_dirp and derive dir_fd from that.
33824         Finally, in the readdir loop, if we read max_entries entries,
33825         exit the loop ensuring *not* to call closedir.  This is required
33826         so that fts_dirp can be reused on a subsequent call.
33827         Prompted by Ben England's report of memory exhaustion in find
33828         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
33830         maint: fts: move decl of `dp' down into while loop; split a long line
33831         * lib/fts.c (fts_build): No semantic change.
33833         fts: add/use new struct member, fts_dirp
33834         We are about to use this to manage any directory with
33835         too many entries to read all of them into memory at once.
33836         To do that, we'll need to save the DIR* pointer in each
33837         affected FTSENT struct.
33838         * lib/fts_.h: Include <dirent.h>.
33839         (struct FTSENT) [fts_dirp]: New member.
33840         * lib/fts.c (closedir_and_clear): Define.
33841         Use it in place of closedir so that we are sure to
33842         clear the new fts_dirp member when done with it.
33843         (fts_alloc): Initialize the new member.
33844         (fts_lfree): Free, if needed.
33846         maint: fts: give __opendir2 a new parameter and rename
33847         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
33848         than surreptitiously using sole caller's "dir_fd".
33849         (fts_opendir): Rename from __opendir2.
33851         maint: fts.c: remove __opendir2's now-unused parameter, oflag
33852         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
33854         maint: fts.c: correct off-by-one indentation
33855         * lib/fts.c (fts_build): Correct indentation, change style
33856         of a couple of block comments, and bracing style.
33858         maint: fts.c: move __opendir2 #define "up" out of function body
33859         * lib/fts.c (__opendir2): Move "up".  No semantic change.
33861         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
33862         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
33863         out for a long time and besides was useful only on BSD systems.
33865 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
33867         regex: port to Stratus OpenVOS
33868         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
33869         define to empty, rather than attempting nonportable optimizations.
33870         Problem reported by Paul Green in:
33871         http://lists.gnu.org/r/bug-diffutils/2011-08/msg00047.html
33872         and fix suggested by Eric Blake in:
33873         http://lists.gnu.org/r/bug-gnulib/2011-08/msg00143.html
33875 2011-08-17  Eric Blake  <eblake@redhat.com>
33877         getcwd: fix test failures on mingw
33878         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
33879         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
33880         test if long directory cannot be created, and allow mingw errno.
33882         getcwd-lgpl: fix m4 to match relaxed test for BSD
33883         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
33884         (gl_FUNC_GETCWD_SIGNATURE): New macro.
33885         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
33886         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
33887         signature problem.
33889         getcwd: fix compilation on mingw64
33890         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
33891         getcwd.
33892         Reported by Marc-André Lureau.
33894         pipe2: silence compiler warning
33895         * lib/pipe2.c (pipe2): Hide label if it is not used.
33897 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
33899         relocatable-prog: fix link error
33900         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
33901         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
33902         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
33903         into modules/relocatable-lib without noticing that
33904         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
33905         also needs to build relocatable.c.
33907 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
33909         getaddrinfo: fix sh typo in gai_strerrorA decl checking
33910         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
33911         shell code: it contained a 'break' that was not in a loop.
33912         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
33913         via a shell-language loop; this may have been true in old Autoconf
33914         versions, but it's not true in Autoconf 2.68.  I found this bug
33915         when testing coreutils git on Solaris 8, whose shell complains
33916         about the syntax error.
33918 2011-08-12  Simon Josefsson  <simon@josefsson.org>
33920         * lib/base64.c: Fix comment to reference RFC 4648.
33921         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
33922         <gvtulder@gmail.com>.
33924 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
33926         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
33928         po/Makefile.in.in: fix make -q problem
33929         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
33930         rule, since there's no file named 'check-macro-version' and its
33931         use as a file breaks make -q.
33932         (all): Don't depend on check-macro-version.
33933         (CHECK_MACRO_VERSION): New macro.
33934         (stamp-po): Use it.
33936         configmake: fix make -q problem
33937         * modules/configmake (configmake.h): Update configmake.h's time stamp
33938         even if the file does not change.  Otherwise, 'make -q' fails.
33939         Problem reported by Simon Josefsson in
33940         <http://lists.gnu.org/r/bug-gnulib/2011-08/msg00088.html>.
33942 2011-08-11  Jim Meyering  <meyering@redhat.com>
33944         git-version-gen: correct the advice in a comment
33945         * build-aux/git-version-gen: Correct comment.
33946         Don't recommend to list .tarball-version in .gitignore.
33948 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
33950         base64: fix off-by-one buffer size bug
33951         Problem and (trivial) fix reported by Gijs van Tulder in
33952         <http://lists.gnu.org/r/bug-gnulib/2011-08/msg00083.html>.
33953         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
33954         * tests/test-base64.c (main): Catch the bug.
33956 2011-08-10  Eric Blake  <eblake@redhat.com>
33958         closein: correct comments
33959         * lib/closein.c (close_stdin): Improve comments.
33961 2011-08-09  Bruno Haible  <bruno@clisp.org>
33963         More tests for 'fseeko'.
33964         * tests/test-fseeko3.c: New file, from Eric Blake.
33965         * tests/test-fseeko3.sh: New file.
33966         * modules/fseeko-tests (Files): Add them.
33967         (TESTS): Add test-fseeko3.sh.
33968         (check_PROGRAMS): Add test-fseeko3.
33970 2011-08-09  Eric Blake  <eblake@redhat.com>
33972         fseeko: remove unneeded hack
33973         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
33975         fseeko: fix bug on glibc
33976         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
33977         Reported by John W. Eaton.
33979 2011-08-08  Bruno Haible  <bruno@clisp.org>
33981         unictype/base: Fix interoperability with preinstalled libunistring.
33982         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
33983         Reported by Simon Josefsson.
33985 2011-08-08  Bruno Haible  <bruno@clisp.org>
33987         iswblank: Detect declaration correctly.
33988         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
33989         AC_CHECK_DECLS invocation.
33991 2011-08-08  Bruno Haible  <bruno@clisp.org>
33993         tcgetsid: Detect declaration correctly.
33994         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
33995         AC_CHECK_DECLS invocation.
33996         Reported by Simon Josefsson.
33998 2011-08-08  Eric Blake  <eblake@redhat.com>
34000         largefile: fix typo that regressed large file support
34001         * modules/largefile (configure.ac-early): Fix section name.
34003 2011-08-06  Karl Berry  <karl@gnu.org>
34005         * MODULES.html.sh (func_all_files): _Noreturn is no longer
34006         a separate module.
34008 2011-08-05  Simon Josefsson  <simon@josefsson.org>
34010         openat: Fix warnings and commens when building unlinkat.c on Hurd.
34011         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
34012         get prototype for free.
34014 2011-08-04  Bruno Haible  <bruno@clisp.org>
34016         Tests for module 'pathmax'.
34017         * modules/pathmax-tests: New file.
34018         * tests/test-pathmax.c: New file.
34020         canonicalize-lgpl: Support larger filenames on the Hurd.
34021         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
34022         Reported by Paul Eggert.
34024         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
34025         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
34026         * lib/chdir-long.h: Include pathmax.h.
34027         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
34028         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
34029         (PATH_MAX): Remove code that is done by pathmax.h.
34030         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
34031         * lib/tmpfile.c: Add a comment.
34032         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
34033         * modules/chdir-long (Depends-on): Add pathmax.
34034         * modules/getcwd (Depends-on): Add pathmax.
34035         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
34036         is not defined.
34037         * doc/posix-headers/limits.texi: Mention the pathmax module.
34038         * NEWS: Mention the change.
34040 2011-08-02  Bruno Haible  <bruno@clisp.org>
34042         pthread_sigmask: Actually use results of gl_THREADLIB.
34043         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
34044         gl_THREADLIB, not gl_[]THREADLIB.
34045         Reported by Eric Blake.
34047 2011-08-02  Jim Meyering  <meyering@redhat.com>
34049         maint.mk: relax the default _gl_TS_function_match regexp
34050         * top/maint.mk (_gl_TS_function_match): Don't require at least one
34051         space between function name and "(" in an "extern" declaration.
34052         That would fail to match a decl with no space there: extern void foo();
34054 2011-07-31  Iain Nicol  <iain@thenicols.net>
34056         git-version-gen: document that EXTRA_DIST must include .version
34057         * build-aux/git-version-gen: In the how-to-use comment, document
34058         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
34059         will fail when run from an unpacked distribution tarball.
34061 2011-08-01  Bruno Haible  <bruno@clisp.org>
34063         wctype-h: Fix last change.
34064         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
34065         REPLACE_TOWLOWER to 0.
34066         Reported by Sam Steingold <sds@gnu.org>.
34068 2011-07-31  Bruno Haible  <bruno@clisp.org>
34070         frexpl: Update autoconf test.
34071         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
34072         according to changes of 2011-06-20.
34074 2011-07-31  Bruno Haible  <bruno@clisp.org>
34076         sys_utsname: Add support for Minix.
34077         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
34078         <sys/utsname.h>.
34079         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
34080         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
34082 2011-07-31  Bruno Haible  <bruno@clisp.org>
34084         strings: Add support for Minix.
34085         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
34086         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
34087         * doc/posix-headers/strings.texi: Document the Minix problem.
34089 2011-07-31  Bruno Haible  <bruno@clisp.org>
34091         wctype-h: Add support for Minix.
34092         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
34093         REPLACE_TOWLOWER.
34094         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
34095         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
34096         REPLACE_ISWCNTRL.
34098 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
34100         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
34101         This is a performance improvement for 64-bit hosts: it causes the
34102         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
34104 2011-07-31  Bruno Haible  <bruno@clisp.org>
34106         stdioext: Add support for Minix.
34107         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
34108         * lib/fpurge.c (fpurge): Likewise.
34109         * lib/freadahead.c (freadahead): Likewise.
34110         * lib/freadable.c (freadable): Likewise.
34111         * lib/freading.c (freading): Likewise.
34112         * lib/freadptr.c (freadptr): Likewise.
34113         * lib/freadseek.c (freadptrinc): Likewise.
34114         * lib/fseeko.c (rpl_fseeko): Likewise.
34115         * lib/fseterr.c (fseterr): Likewise.
34116         * lib/fwritable.c (fwritable): Likewise.
34117         * lib/fwriting.c (fwriting): Likewise.
34118         * lib/fflush.c (clear_ungetc_buffer): Update comment.
34119         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
34121 2011-07-31  Bruno Haible  <bruno@clisp.org>
34123         errno: Port to Minix.
34124         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
34125         ECONNABORTED are defined.
34126         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
34127         GNULIB_defined_ECONNABORTED): New macros.
34128         * lib/strerror-override.h (strerror_override): Test also
34129         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
34130         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
34131         ECONNABORTED.
34132         * doc/posix-headers/errno.texi: Mention the Minix problem.
34134 2011-07-31  Bruno Haible  <bruno@clisp.org>
34136         Work around declaration collisions on Minix.
34137         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
34138         defined, set REPLACE_MBSINIT.
34139         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
34140         defined, set REPLACE_MBRTOWC.
34141         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
34142         set REPLACE_MBRLEN.
34143         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
34144         defined, set REPLACE_MBSRTOWCS.
34145         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
34146         defined, set REPLACE_WCRTOMB.
34147         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
34148         defined, set REPLACE_WCSRTOMBS.
34150 2011-07-31  Bruno Haible  <bruno@clisp.org>
34152         Add support for Minix with ACK compiler.
34153         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
34154         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
34155         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
34157 2011-07-31  Bruno Haible  <bruno@clisp.org>
34159         Documentation about Minix.
34160         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
34161         * doc/glibc-headers/*.texi: Likewise.
34162         * doc/posix-functions/*.texi: Likewise.
34163         * doc/glibc-functions/*.texi: Likewise.
34165 2011-07-31  Bruno Haible  <bruno@clisp.org>
34167         snippet/warn-on-use: Fix indentation.
34168         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
34170 2011-07-25  Jim Meyering  <meyering@redhat.com>
34172         tests: test-update-copyright.sh: remove unnecessary "rm" commands
34173         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
34174         commands.
34176 2011-07-27  Jim Meyering  <meyering@redhat.com>
34178         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
34179         * top/maint.mk (gl_extract_significant_defines_): Now that
34180         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
34181         gnulib/lib/signal.in.h, and now that we recommend to
34182         define-if-undefined those two symbols in application code,
34183         we must filter them out of the "significant" list.
34184         This avoids a "make syntax-check" failure in coreutils.
34186 2011-07-26  Eric Blake  <eblake@redhat.com>
34188         warnings: add comments about previous patch
34189         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
34190         * m4/include_next.m4: Likewise.
34191         * m4/warn-on-use.m4: Likewise.
34192         * m4/warnings.m4: Likewise, and simplify use.
34193         Suggested by Stefano Lattarini.
34195         include-next, warnings: support older autoconf
34196         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
34197         AS_VAR_PUSHDEF in a way that works with older autoconf.
34198         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
34199         Reported by Daniel P. Berrange.
34201 2011-07-25  Bruno Haible  <bruno@clisp.org>
34203         fseek, ftell: Fix doc.
34204         * doc/posix-functions/fseek.texi: Reword statement about
34205         AC_SYS_LARGEFILE.
34206         * doc/posix-functions/ftell.texi: Likewise.
34208 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
34209             Bruno Haible  <bruno@clisp.org>
34211         Add dependencies to the 'largefile' module.
34212         * modules/fopen (Depends-on): Add 'largefile'.
34213         * modules/freopen (Depends-on): Likewise.
34214         * modules/fseeko (Depends-on): Likewise.
34215         * modules/ftello (Depends-on): Likewise.
34216         * modules/glob (Depends-on): Likewise.
34217         * modules/lseek (Depends-on): Likewise.
34218         * modules/lstat (Depends-on): Likewise.
34219         * modules/mkostemp (Depends-on): Likewise.
34220         * modules/mkostemps (Depends-on): Likewise.
34221         * modules/mkstemp (Depends-on): Likewise.
34222         * modules/mkstemps (Depends-on): Likewise.
34223         * modules/open (Depends-on): Likewise.
34224         * modules/openat (Depends-on): Likewise.
34225         * modules/pread (Depends-on): Likewise.
34226         * modules/pwrite (Depends-on): Likewise.
34227         * modules/scandir (Depends-on): Likewise.
34228         * modules/stat (Depends-on): Likewise.
34229         * modules/tmpfile (Depends-on): Likewise.
34230         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
34231         since the containing module now depends on the largefile module.
34232         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
34233         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
34234         off_t is fixed by gnulib.
34235         * doc/posix-functions/freopen.texi: Likewise.
34236         * doc/posix-functions/fseeko.texi: Likewise.
34237         * doc/posix-functions/fstatat.texi: Likewise.
34238         * doc/posix-functions/ftello.texi: Likewise.
34239         * doc/posix-functions/glob.texi: Likewise.
34240         * doc/posix-functions/lseek.texi: Likewise.
34241         * doc/posix-functions/lstat.texi: Likewise.
34242         * doc/posix-functions/mkstemp.texi: Likewise.
34243         * doc/posix-functions/open.texi: Likewise.
34244         * doc/posix-functions/openat.texi: Likewise.
34245         * doc/posix-functions/pread.texi: Likewise.
34246         * doc/posix-functions/pwrite.texi: Likewise.
34247         * doc/posix-functions/scandir.texi: Likewise.
34248         * doc/posix-functions/stat.texi: Likewise.
34249         * doc/posix-functions/tmpfile.texi: Likewise.
34250         * doc/glibc-functions/mkostemp.texi: Likewise.
34251         * doc/glibc-functions/mkostemps.texi: Likewise.
34252         * doc/glibc-functions/mkstemps.texi: Likewise.
34254 2011-07-25  Bruno Haible  <bruno@clisp.org>
34256         fcntl: Move AC_LIBOBJ invocation to module description.
34257         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
34258         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
34260         fcntl: Remove call-in from fchdir.m4.
34261         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
34262         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
34264         dup3: Remove potential call-in from fchdir.m4.
34265         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
34266         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
34268         dup2: Move AC_LIBOBJ invocation to module description.
34269         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
34270         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
34271         Don't invoke AC_LIBOBJ.
34272         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
34274         dup2: Remove call-in from fchdir.m4.
34275         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
34276         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
34278         fclose: Move AC_LIBOBJ invocation to module description.
34279         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
34280         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
34281         to 1.
34282         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
34284         fclose: Remove call-in from close.m4.
34285         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
34286         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
34288         close: Move AC_LIBOBJ invocation to module description.
34289         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
34290         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
34291         1.
34292         * modules/close (configure.ac): Invoke AC_LIBOBJ.
34294         close: Remove call-in from fchdir.m4.
34295         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
34296         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
34298         open: Move AC_LIBOBJ invocation to module description.
34299         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
34300         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
34301         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
34303         open: Remove call-in from fchdir.m4.
34304         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
34305         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
34307         fchdir: Start to remove gl_REPLACE_* idiom.
34308         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
34309         (gl_FUNC_FCHDIR): Invoke it.
34311 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
34313         * lib/ftell.c (ftell): Comment out cast.
34315         close: use gl_REPLACE_FCLOSE only if defined
34316         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
34317         is defined.  The close module doesn't depend on the fclose module
34318         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
34319         <http://lists.gnu.org/r/bug-gnulib/2011-07/msg00392.html>.
34320         I reproduced the problem with "./gnulib-tool --test close sys_socket".
34322 2011-07-24  Jim Meyering  <meyering@redhat.com>
34324         test-select.h: avoid warning when using gcc's -Wmissing-declarations
34325         * tests/test-select.h (test_function): Declare as "static".
34327 2011-07-24  Bruno Haible  <bruno@clisp.org>
34329         doc: Mention the effects of AC_SYS_LARGEFILE.
34330         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
34331         on this function.
34332         * doc/posix-functions/aio_error.texi: Likewise.
34333         * doc/posix-functions/aio_fsync.texi: Likewise.
34334         * doc/posix-functions/aio_read.texi: Likewise.
34335         * doc/posix-functions/aio_return.texi: Likewise.
34336         * doc/posix-functions/aio_suspend.texi: Likewise.
34337         * doc/posix-functions/aio_write.texi: Likewise.
34338         * doc/posix-functions/fgetpos.texi: Likewise.
34339         * doc/posix-functions/fopen.texi: Likewise.
34340         * doc/posix-functions/freopen.texi: Likewise.
34341         * doc/posix-functions/fsetpos.texi: Likewise.
34342         * doc/posix-functions/fstatvfs.texi: Likewise.
34343         * doc/posix-functions/ftruncate.texi: Likewise.
34344         * doc/posix-functions/ftw.texi: Likewise.
34345         * doc/posix-functions/getrlimit.texi: Likewise.
34346         * doc/posix-functions/glob.texi: Likewise.
34347         * doc/posix-functions/lio_listio.texi: Likewise.
34348         * doc/posix-functions/lockf.texi: Likewise.
34349         * doc/posix-functions/mkstemp.texi: Likewise.
34350         * doc/posix-functions/mmap.texi: Likewise.
34351         * doc/posix-functions/nftw.texi: Likewise.
34352         * doc/posix-functions/openat.texi: Likewise.
34353         * doc/posix-functions/opendir.texi: Likewise.
34354         * doc/posix-functions/posix_fadvise.texi: Likewise.
34355         * doc/posix-functions/posix_fallocate.texi: Likewise.
34356         * doc/posix-functions/pread.texi: Likewise.
34357         * doc/posix-functions/pwrite.texi: Likewise.
34358         * doc/posix-functions/readdir.texi: Likewise.
34359         * doc/posix-functions/readdir_r.texi: Likewise.
34360         * doc/posix-functions/rewinddir.texi: Likewise.
34361         * doc/posix-functions/scandir.texi: Likewise.
34362         * doc/posix-functions/seekdir.texi: Likewise.
34363         * doc/posix-functions/setrlimit.texi: Likewise.
34364         * doc/posix-functions/statvfs.texi: Likewise.
34365         * doc/posix-functions/telldir.texi: Likewise.
34366         * doc/posix-functions/tmpfile.texi: Likewise.
34367         * doc/posix-functions/truncate.texi: Likewise.
34368         * doc/glibc-functions/fallocate.texi: Likewise.
34369         * doc/glibc-functions/fstatfs.texi: Likewise.
34370         * doc/glibc-functions/fts_children.texi: Likewise.
34371         * doc/glibc-functions/fts_read.texi: Likewise.
34372         * doc/glibc-functions/getdirentries.texi: Likewise.
34373         * doc/glibc-functions/mkostemp.texi: Likewise.
34374         * doc/glibc-functions/mkostemps.texi: Likewise.
34375         * doc/glibc-functions/mkstemps.texi: Likewise.
34376         * doc/glibc-functions/preadv.texi: Likewise.
34377         * doc/glibc-functions/pwritev.texi: Likewise.
34378         * doc/glibc-functions/sendfile.texi: Likewise.
34379         * doc/glibc-functions/statfs.texi: Likewise.
34381 2011-07-24  Bruno Haible  <bruno@clisp.org>
34383         doc: Fix typo.
34384         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
34386 2011-07-24  Bruno Haible  <bruno@clisp.org>
34388         doc: Mention fsusage.
34389         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
34391 2011-07-24  Bruno Haible  <bruno@clisp.org>
34393         doc: Mention new glibc headers and functions.
34394         * doc/glibc-headers/gshadow.texi: New file.
34395         * doc/glibc-functions/endsgent.texi: New file.
34396         * doc/glibc-functions/fgetsgent.texi: New file.
34397         * doc/glibc-functions/fgetsgent_r.texi: New file.
34398         * doc/glibc-functions/getsgent.texi: New file.
34399         * doc/glibc-functions/getsgent_r.texi: New file.
34400         * doc/glibc-functions/getsgnam.texi: New file.
34401         * doc/glibc-functions/getsgnam_r.texi: New file.
34402         * doc/glibc-functions/putsgent.texi: New file.
34403         * doc/glibc-functions/setsgent.texi: New file.
34404         * doc/glibc-functions/sgetsgent.texi: New file.
34405         * doc/glibc-functions/sgetsgent_r.texi: New file.
34406         * doc/glibc-functions/malloc_info.texi: New file.
34407         * doc/glibc-functions/preadv.texi: New file.
34408         * doc/glibc-functions/pwritev.texi: New file.
34409         * doc/glibc-functions/register_printf_modifier.texi: New file.
34410         * doc/glibc-functions/register_printf_specifier.texi: New file.
34411         * doc/glibc-functions/register_printf_type.texi: New file.
34412         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
34413         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
34414         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
34415         * doc/glibc-functions/pthread_getname_np.texi: New file.
34416         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
34417         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
34418         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
34419         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
34420         * doc/glibc-functions/pthread_setname_np.texi: New file.
34421         * doc/glibc-functions/pthread_sigqueue.texi: New file.
34422         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
34423         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
34424         * doc/glibc-functions/qsort_r.texi: New file.
34425         * doc/glibc-functions/quick_exit.texi: New file.
34426         * doc/glibc-functions/syncfs.texi: New file.
34427         * doc/gnulib.texi: Include them.
34428         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
34429         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
34430         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
34431         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
34432         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
34433         * doc/glibc-functions/execvpe.texi: Likewise.
34435 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
34437         ftell: don't include <unistd.h>
34438         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
34439         guaranteed to define off_t, and the ftell module depends on the
34440         stdio module.
34442         ftell: do not assume wraparound signed arithmetic
34443         * lib/ftell.c: Include <limits.h>.
34444         (ftell): Don't assume wraparound signed arithmetic.
34446 2011-07-24  Bruno Haible  <bruno@clisp.org>
34448         close: No longer depend on module 'fclose'.
34449         * modules/close (Depends-on): Remove fclose.
34450         * NEWS: Mention the change.
34451         Suggested by Sam Steingold <sds@gnu.org>.
34453 2011-07-24  Bruno Haible  <bruno@clisp.org>
34455         fsusage: Enable large volume support on AIX >= 5.2.
34456         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
34457         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
34458         instead of STAT_STATVFS.
34459         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
34461         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
34462         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
34463         f_blocks field only on MacOS X.
34465         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
34466         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
34467         * modules/fsusage (Depends-on): Add largefile.
34469 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
34471         * README: Modernize discussion of signed integers.
34472         Assuming overflow wraparound is no longer safe.
34473         Mention ones' complement and signed magnitude.
34475 2011-07-22  Bruno Haible  <bruno@clisp.org>
34477         select tests, pselect tests: Refactor.
34478         * tests/test-select.h: New file, extracted from tests/test-select.c.
34479         (select_fn): New type.
34480         (test, do_select, do_select_nowait, do_select_wait, test_tty,
34481         test_connect_first, test_accept_first, test_pair, test_socket_pair,
34482         test_pipe): Add my_select argument.
34483         (test_function): Renamed from main. Add my_select argument.
34484         * tests/test-select.c: Move most code to tests/test-select.h. Include
34485         test-select.h.
34486         * modules/select-tests (Files): Add tests/test-select.h.
34487         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
34488         (my_select, main): New functions.
34489         * modules/pselect-tests (Files): Add tests/test-select.h,
34490         tests/macros.h, tests/signature.h.
34491         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
34492         (configure.ac): Check for <sys/wait.h>.
34494 2011-07-22  Bruno Haible  <bruno@clisp.org>
34496         sys_select tests: Check the signature of FD_*.
34497         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
34498         signature tests from here...
34499         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
34500         here.
34501         * modules/sys_select-tests (Files): Add tests/signature.h.
34503 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
34505         largefile: new module, replacing large-inode
34506         Pádraig Brady suggested this in <http://debbugs.gnu.org/9140#20>.
34507         * MODULES.html.sh: Add largefile, remove large-inode.
34508         * modules/largefile, m4/largefile.m4: New files.
34509         * modules/large-inode, m4/large-inode.m4: Remove.
34511         fsusage: port to MacOS X 10.7 with 4 TiB file systems
34512         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
34513         implementations that use only 32 bits to count blocks.
34514         On typical hosts with 1024-byte blocks, this fails with file
34515         systems as small as 4 TiB.  Problem reported by Herb Wartens
34516         <http://debbugs.gnu.org/9140> and this should also fix a similar
34517         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
34519         large-inode: New module
34520         * MODULES.html.sh: Add it.
34521         * modules/large-inode, m4/large-inode.m4: New files.
34523         extensions: Enable extensions on MacOS X 10.5 and later.
34524         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
34526 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
34528         file-has-acl: use acl_extended_file_nofollow if available
34529         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
34530         (acl_extended_file): New macro.
34531         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
34532         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
34534 2011-07-21  Bruno Haible  <bruno@clisp.org>
34536         Declare system functions in a way that works with C++.
34537         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
34538         declare fdopendir as extern "C".
34539         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
34540         declare frexpl as extern "C".
34541         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
34542         declare gai_strerror as extern "C".
34543         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
34544         programs, declare gai_strerror as extern "C".
34545         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
34546         declare getlogin_r as extern "C".
34547         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
34548         as extern "C".
34549         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
34550         declare ldexpl as extern "C".
34551         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
34552         as extern "C".
34553         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
34554         program, declare getmntinfo as extern "C".
34555         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
34556         stpncpy as extern "C".
34557         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
34558         program, declare __xpg_strerror_r as extern "C".
34559         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
34560         strndup as extern "C".
34561         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
34562         declare memset and bzero as extern "C".
34563         Reported by Sam Steingold <sds@gnu.org>.
34565 2011-07-12  Jim Meyering  <meyering@redhat.com>
34567         maint.mk: prohibit inclusion of "verify.h" without use
34568         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
34570 2011-07-19  Pádraig Brady  <P@draigBrady.com>
34572         timer-time: A new module to check for timer_settime()
34573         * m4/timer_time.m4: Check for the posix function.
34574         * modules/timer-time: Add the new module.
34575         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
34576         Mention it.
34578 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
34579             Bruno Haible  <bruno@clisp.org>
34581         pthread_sigmask: assume POSIX threads if --avoid=threadlib
34582         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
34583         not defined, assume POSIX threads and look for pthread_sigmask in
34584         $LIBS, without changing $CPPFLAGS.
34586 2011-07-19  Bruno Haible  <bruno@clisp.org>
34588         strstr: Update cross-compilation guess.
34589         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
34590         CPUs, guess no, in view of glibc
34591         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
34592         Suggested by Eric Blake. Reported by Reuben Thomas.
34594 2011-07-19  Pádraig Brady  <P@draigBrady.com>
34596         getopt-gnu: suppress core dumps from detection code
34597         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
34598         to suppress core dumps that may well occur on glibc systems.
34599         * modules/getopt-gnu: Depend on nocrash.
34601 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
34603         pthread_sigmask: ensure usleep is declared
34604         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
34605         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
34607 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
34609         doc: Document NonStop portability issues.
34610         * doc/posix-functions/sigaction.texi (sigaction):
34611         * doc/posix-headers/signal.texi (signal.h):
34612         Document NonStop.  See Joachim Schmitz in
34613         http://lists.gnu.org/r/bug-coreutils/2011-07/msg00062.html
34615 2011-07-15  Bruno Haible  <bruno@clisp.org>
34617         ffsl, ffsll: Avoid unportable behaviour.
34618         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
34620 2011-07-15  Bruno Haible  <bruno@clisp.org>
34622         ffs: More tests.
34623         * tests/test-ffs.c (NBITS): New macro.
34624         (main): Add more tests.
34625         * tests/test-ffsl.c (NBITS): New macro.
34626         (main): Add more tests.
34627         * tests/test-ffsll.c (NBITS): New macro.
34628         (main): Add more tests.
34630 2011-07-15  Eric Blake  <eblake@redhat.com>
34632         ffsl, ffsll: new modules
34633         * modules/ffsl: New file.
34634         * modules/ffsll: Likewise.
34635         * m4/ffsl.m4: Likewise.
34636         * m4/ffsll.m4: Likewise.
34637         * lib/ffsl.c: Likewise.
34638         * lib/ffsl.h: Likewise.
34639         * lib/ffsll.c: Likewise.
34640         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
34641         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
34642         * modules/string (Makefile.am): Substitute witnesses.
34643         * lib/strings.in.h (ffsl, ffsll): Declare.
34644         * modules/ffsl-tests: New test file.
34645         * modules/ffsll-tests: Likewise.
34646         * tests/test-ffsl.c: Likewise.
34647         * tests/test-ffsll.c: Likewise.
34648         * MODULES.html.sh (Integer arithmetic functions): Mention it.
34649         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
34650         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
34652         ffs: fix m4 prerequisite
34653         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
34655         ffs: avoid undefined behavior
34656         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
34657         * tests/test-ffs.c (naive, main): Avoid signed shifts.
34658         Reported by Bruno Haible.
34660 2011-07-12  Bruno Haible  <bruno@clisp.org>
34662         pthread_sigmask: Rely on module 'threadlib'.
34663         * modules/pthread_sigmask (Depends-on): Add threadlib.
34664         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
34665         is defined.
34667 2011-07-12  Bruno Haible  <bruno@clisp.org>
34669         regex: Depend on module 'strcase'.
34670         * modules/regex (Depends-on): Add strcase, for strcasecmp().
34672 2011-07-12  Jim Meyering  <meyering@redhat.com>
34674         warn-on-use: fix typo in file name
34675         * modules/snippet/warn-on-use (Files): Correct file name:
34676         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
34678 2011-07-12  Bruno Haible  <bruno@clisp.org>
34680         strings: Document module.
34681         * doc/posix-headers/strings.texi: Mention module 'strings'.
34683 2011-07-12  Bruno Haible  <bruno@clisp.org>
34685         Rename module '_Noreturn' to 'snippet/_Noreturn'.
34686         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
34687         (Files, Makefile.am): Update.
34688         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
34689         * modules/stdlib (Depends-on): Update.
34691 2011-07-12  Bruno Haible  <bruno@clisp.org>
34693         * NEWS: Mention the changes.
34695         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
34696         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
34697         (Files, Makefile.am): Update.
34698         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
34699         * modules/arpa_inet (Depends-on): Update.
34700         * modules/ctype (Depends-on): Update.
34701         * modules/dirent (Depends-on): Update.
34702         * modules/fcntl-h (Depends-on): Update.
34703         * modules/glob (Depends-on): Update.
34704         * modules/iconv-h (Depends-on): Update.
34705         * modules/inttypes-incomplete (Depends-on): Update.
34706         * modules/langinfo (Depends-on): Update.
34707         * modules/locale (Depends-on): Update.
34708         * modules/math (Depends-on): Update.
34709         * modules/netdb (Depends-on): Update.
34710         * modules/poll-h (Depends-on): Update.
34711         * modules/pty (Depends-on): Update.
34712         * modules/search (Depends-on): Update.
34713         * modules/signal (Depends-on): Update.
34714         * modules/spawn (Depends-on): Update.
34715         * modules/stdio (Depends-on): Update.
34716         * modules/stdlib (Depends-on): Update.
34717         * modules/string (Depends-on): Update.
34718         * modules/strings (Depends-on): Update.
34719         * modules/sys_file (Depends-on): Update.
34720         * modules/sys_ioctl (Depends-on): Update.
34721         * modules/sys_select (Depends-on): Update.
34722         * modules/sys_socket (Depends-on): Update.
34723         * modules/sys_stat (Depends-on): Update.
34724         * modules/sys_time (Depends-on): Update.
34725         * modules/sys_times (Depends-on): Update.
34726         * modules/sys_utsname (Depends-on): Update.
34727         * modules/sys_wait (Depends-on): Update.
34728         * modules/termios (Depends-on): Update.
34729         * modules/time (Depends-on): Update.
34730         * modules/unistd (Depends-on): Update.
34731         * modules/wchar (Depends-on): Update.
34732         * modules/wctype-h (Depends-on): Update.
34733         * MODULES.html.sh (Support for building libraries and executables):
34734         Update.
34736         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
34737         * modules/snippet/unused-parameter: Renamed from
34738         modules/unused-parameter.
34739         (Files, Makefile.am): Update.
34740         * build-aux/snippet/unused-parameter.h: Renamed from
34741         build-aux/unused-parameter.h.
34742         * modules/selinux-h (Depends-on): Update.
34743         * modules/unistr/base (Depends-on): Update.
34744         * MODULES.html.sh (Core language properties): Update.
34746         Rename module 'link-warning' to 'snippet/link-warning'.
34747         * modules/snippet/link-warning: Renamed from modules/link-warning.
34748         (Files, Makefile.am): Update.
34749         * build-aux/snippet/link-warning.h: Renamed from
34750         build-aux/link-warning.h.
34751         * MODULES.html.sh (Support for building libraries and executables):
34752         Update.
34754         Rename module 'c++defs' to 'snippet/c++defs'.
34755         * modules/snippet/c++defs: Renamed from modules/c++defs.
34756         (Files, Makefile.am): Update.
34757         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
34758         * modules/arpa_inet (Depends-on): Update.
34759         * modules/ctype (Depends-on): Update.
34760         * modules/dirent (Depends-on): Update.
34761         * modules/fcntl-h (Depends-on): Update.
34762         * modules/glob (Depends-on): Update.
34763         * modules/iconv-h (Depends-on): Update.
34764         * modules/langinfo (Depends-on): Update.
34765         * modules/locale (Depends-on): Update.
34766         * modules/math (Depends-on): Update.
34767         * modules/netdb (Depends-on): Update.
34768         * modules/poll-h (Depends-on): Update.
34769         * modules/pty (Depends-on): Update.
34770         * modules/search (Depends-on): Update.
34771         * modules/signal (Depends-on): Update.
34772         * modules/spawn (Depends-on): Update.
34773         * modules/stdio (Depends-on): Update.
34774         * modules/stdlib (Depends-on): Update.
34775         * modules/string (Depends-on): Update.
34776         * modules/strings (Depends-on): Update.
34777         * modules/sys_ioctl (Depends-on): Update.
34778         * modules/sys_select (Depends-on): Update.
34779         * modules/sys_socket (Depends-on): Update.
34780         * modules/sys_stat (Depends-on): Update.
34781         * modules/sys_time (Depends-on): Update.
34782         * modules/sys_wait (Depends-on): Update.
34783         * modules/termios (Depends-on): Update.
34784         * modules/time (Depends-on): Update.
34785         * modules/unistd (Depends-on): Update.
34786         * modules/wchar (Depends-on): Update.
34787         * modules/wctype-h (Depends-on): Update.
34789         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
34790         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
34791         (Files, Makefile.am): Update.
34792         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
34793         * modules/argv-iter (Depends-on): Update.
34794         * modules/arpa_inet (Depends-on): Update.
34795         * modules/dirent (Depends-on): Update.
34796         * modules/fcntl-h (Depends-on): Update.
34797         * modules/fnmatch (Depends-on): Update.
34798         * modules/getopt-posix (Depends-on): Update.
34799         * modules/glob (Depends-on): Update.
34800         * modules/iconv-h (Depends-on): Update.
34801         * modules/inttypes-incomplete (Depends-on): Update.
34802         * modules/locale (Depends-on): Update.
34803         * modules/math (Depends-on): Update.
34804         * modules/netdb (Depends-on): Update.
34805         * modules/search (Depends-on): Update.
34806         * modules/signal (Depends-on): Update.
34807         * modules/spawn (Depends-on): Update.
34808         * modules/stdio (Depends-on): Update.
34809         * modules/stdlib (Depends-on): Update.
34810         * modules/string (Depends-on): Update.
34811         * modules/strings (Depends-on): Update.
34812         * modules/sys_socket (Depends-on): Update.
34813         * modules/sys_stat (Depends-on): Update.
34814         * modules/sys_time (Depends-on): Update.
34815         * modules/sys_times (Depends-on): Update.
34816         * modules/sys_utsname (Depends-on): Update.
34817         * modules/time (Depends-on): Update.
34818         * modules/unistd (Depends-on): Update.
34819         * modules/wchar (Depends-on): Update.
34820         * MODULES.html.sh (Support for building libraries and executables):
34821         Update.
34823 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
34825         Improvements on _Noreturn and related modules.
34827         modules/_Exit-tests: test _Noreturn too
34828         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
34829         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
34830         (main): Use them.
34832         stdnoreturn, stdnoreturn-tests: remove modules
34833         They're not needed here and a bit premature for use elsewhere.  See
34834         <http://lists.gnu.org/r/bug-gnulib/2011-07/msg00209.html>.
34835         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
34836         * tests/test-stdnoreturn.c: Remove files.
34837         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
34838         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
34839         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
34840         and using noreturn.
34841         * modules/openat, modules/sigpipe-die, modules/xalloc:
34842         * modules/xmemdup0, modules/xstrtol:
34843         Remove dependency on stdnoreturn.
34845         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
34846         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
34847         Reparenthesize to avoid GCC warning.
34848         Support Microsoft's syntax.
34849         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
34851         _Noreturn-tests: remove module
34852         * modules/_Noreturn-tests: Remove.
34853         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
34854         * tests/test-_Noreturn.c: Remove.
34855         * tests/test-stdnoreturn.c: Merge from the old
34856         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
34858 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
34860         _Noreturn, stdnoreturn, and related modules.
34862         * top/maint.mk: Adjust to new noreturn support.
34863         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
34864         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
34866         xalloc: use stdnoreturn.h
34867         * lib/xalloc.h: Include <stdnoreturn.h>.
34868         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
34869         * modules/xalloc (Depends-on): Add stdnoreturn.
34871         xstrtol: use stdnoreturn.h
34872         * lib/xstrtol.h: Include <stdnoreturn.h>.
34873         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
34874         * modules/xstrtol (Depends-on): Add stdnoreturn.
34876         xmemdup0: use stdnoreturn.h
34877         * lib/xmemdup0.h: Include <stdnoreturn.h>.
34878         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
34879         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
34881         sigpipe-die: use stdnoreturn.h
34882         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
34883         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
34884         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
34886         openat: use stdnoreturn.h
34887         * lib/openat.h: Include <stdnoreturn.h>.
34888         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
34889         * modules/openat (Depends-on): Add stdnoreturn.
34891         * lib/openat-die.c (openat_save_fail): Modernize comment.
34893         * lib/xalloc-die.c (xalloc_die): Modernize comment.
34895         * lib/glthread/thread.h: Modernize comment.
34897         obstack: use _Noreturn
34898         * lib/obstack.c (__attribute__): Remove macro.
34899         (print_and_abort): Use _Noreturn.
34901         c-stack: use _Noreturn
34902         * lib/c-stack.c (die, overflow_handler, segv_handler):
34903         Use _Noreturn rather than __attribute__((noreturn)).
34905         argmatch-tests, exclude_tests: use _Noreturn
34906         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
34907         Remove.
34908         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
34910         stdlib: use _Noreturn
34911         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
34912         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
34913         * modules/stdlib (Depends-on): Add _Noreturn.
34914         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
34916         stdnoreturn-tests: new module
34917         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
34919         stdnoreturn: new module
34920         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
34921         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
34923         _Noreturn-tests: new module
34924         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
34926         _Noreturn: new module
34927         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
34928         New section, mentioning it.
34929         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
34931         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
34933 2011-07-11  Eric Blake  <eblake@redhat.com>
34935         ffs: new module
34936         * modules/ffs: New file.
34937         * m4/ffs.m4: Likewise.
34938         * lib/ffs.c: Likewise.
34939         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
34940         * modules/strings (Makefile.am): Substitute witness.
34941         (Depends-on): Add c++defs.
34942         * lib/strings.in.h (ffs): Declare.
34943         * modules/ffs-tests: New test file.
34944         * tests/test-ffs.c: Test new module.
34945         * MODULES.html.sh (Integer arithmetic functions): Mention it.
34946         * doc/posix-functions/ffs.texi (ffs): Likewise.
34948         regex: avoid compiler warning
34949         * lib/regex.c (includes): Include <strings.h>, for use of
34950         strcasecmp in regcomp.c.
34951         Reported by Joachim Schmitz.
34953 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
34955         stdint: respect system's intmax_t if INTMAX_MAX
34956         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
34957         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
34958         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
34959         long but int64_t is long long, and where we will clash with the
34960         system intmax_t if we override it.  See
34961         <http://lists.gnu.org/r/bug-gnulib/2011-07/msg00160.html>.
34962         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
34963         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
34964         similarly for UINTMAX_C.
34966 2011-07-08  Bruno Haible  <bruno@clisp.org>
34968         pthread_sigmask tests: Avoid a compiler warning.
34969         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
34970         non-zero.
34972         sigprocmask tests: A better way to avoid a compiler warning.
34973         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
34974         (main): Complain if system() returns non-zero.
34975         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
34977 2011-07-08  Bruno Haible  <bruno@clisp.org>
34979         pthread_sigmask: Work around IRIX bug.
34980         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
34981         bug.
34982         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
34983         there may be unblocked pending signals.
34984         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
34986 2011-07-08  Bruno Haible  <bruno@clisp.org>
34988         pthread_sigmask: Work around Cygwin bug.
34989         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
34990         bug.
34991         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
34992         the system's pthread_sigmask function.
34993         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
34995 2011-07-08  Bruno Haible  <bruno@clisp.org>
34997         pthread_sigmask: Work around bug in single-threaded implementation.
34998         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
34999         FreeBSD, HP-UX, Solaris bug.
35000         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
35001         * lib/pthread_sigmask.c: Include <stddef.h>.
35002         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
35003         the system's pthread_sigmask function.
35004         * modules/pthread_sigmask (configure.ac): Invoke
35005         gl_PREREQ_PTHREAD_SIGMASK.
35006         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
35007         HP-UX, Solaris.
35009 2011-07-08  Eric Blake  <eblake@redhat.com>
35011         test-sigprocmask: avoid compiler warning
35012         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
35013         * tests/test-sigprocmask.c (main): Use it to silence warning.
35014         Reported by Jim Meyering.
35016         test-snprintf: avoid compiler warning
35017         * tests/test-snprintf.c (main): Avoid shadowed declaration.
35018         * tests/test-vsnprintf.c (main): Likewise.
35019         Reported by Jim Meyering.
35021 2011-07-08  Bruno Haible  <bruno@clisp.org>
35023         Tests for module 'pthread_sigmask'.
35024         * modules/pthread_sigmask-tests: New file.
35025         * tests/test-pthread_sigmask1.c: New file, based on
35026         tests/test-sigprocmask.c.
35027         * tests/test-pthread_sigmask2.c: New file.
35029 2011-07-08  Jim Meyering  <meyering@redhat.com>
35031         test-getopt.h: avoid warning about an unused variable
35032         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
35034 2011-07-07  Jim Meyering  <meyering@redhat.com>
35036         maint: reduce list of files exempt from sc_prohibit_leading_TABs
35037         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
35038         now that it no longer contains leading TABs.
35039         Remove unused "url=FIXME" statement.
35041 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
35043         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
35044         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
35045         When gl_THREADLIB is not in use, assume that the POSIX sematics
35046         are desired.  This is better for Emacs, which uses POSIX semantics
35047         on GNUish and/or POSIXish platforms, and does not use threads at
35048         all otherwise.
35050         pthread_sigmask: fix typo when testing for libraries
35051         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
35052         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
35054 2011-07-08  Eric Blake  <eblake@redhat.com>
35056         fts: introduce FTS_NOATIME
35057         * lib/fts_.h (FTS_NOATIME): New bit flag.
35058         (FTS_OPTIONMASK): Adjust.
35059         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
35060         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
35062 2011-07-08  Bruno Haible  <bruno@clisp.org>
35064         Tests for module 'thread'.
35065         * modules/thread-tests: New file.
35066         * tests/test-thread_self.c: New file.
35067         * tests/test-thread_create.cc: New file.
35069 2011-07-08  Bruno Haible  <bruno@clisp.org>
35071         thread: Avoid gcc warnings when using gl_thread_self().
35072         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
35073         'void *'.
35074         (gl_thread_self_pointer): Update.
35076 2011-07-07  Bruno Haible  <bruno@clisp.org>
35078         signal-c++-tests: Check declaration of pthread_sigmask.
35079         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
35080         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
35081         $(LIB_PTHREAD_SIGMASK).
35083 2011-07-07  Bruno Haible  <bruno@clisp.org>
35085         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
35086         * lib/signal.in.h (pthread_sigmask): Override if
35087         REPLACE_PTHREAD_SIGMASK is 1.
35088         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
35089         REPLACE_PTHREAD_SIGMASK.
35090         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
35091         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
35092         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
35093         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
35094         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
35096 2011-07-07  Bruno Haible  <bruno@clisp.org>
35098         pthread_sigmask: Ensure declaration in <signal.h>.
35099         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
35100         include <pthread.h>.
35101         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
35102         problem.
35104 2011-07-07  Bruno Haible  <bruno@clisp.org>
35106         pthread_sigmask: Document the module.
35107         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
35109 2011-07-07  Bruno Haible  <bruno@clisp.org>
35111         pthread_sigmask: Follow gnulib conventions.
35112         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
35113         gl_PTHREAD_SIGMASK.
35114         * modules/pthread_sigmask (configure.ac): Update.
35116 2011-07-07  Bruno Haible  <bruno@clisp.org>
35118         pthread_sigmask: Make declaration C++ safe.
35119         * lib/signal.in.h: In two special conditions, just do an #include_next.
35120         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
35121         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
35122         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
35123         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
35124         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
35125         not REPLACE_PTHREAD_MASK.
35126         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
35127         not REPLACE_PTHREAD_MASK.
35128         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
35130 2011-07-07  Bruno Haible  <bruno@clisp.org>
35132         pthread_sigmask: Fix return value.
35133         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
35134         * lib/pthread_sigmask.c: New file.
35135         * modules/pthread_sigmask (Files): Add it.
35136         (configure.ac): Invoke AC_LIBOBJ.
35138 2011-07-07  Eric Blake  <eblake@redhat.com>
35140         getopt: more portable argv creation
35141         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
35142         const, use char arrays rather than strings.
35143         Suggested by Paul Eggert.
35145 2011-07-07  Bruno Haible  <bruno@clisp.org>
35147         Tests for module 'sigprocmask'.
35148         * modules/sigprocmask-tests: New file.
35149         * tests/test-sigprocmask.c: New file.
35151 2011-07-07  Bruno Haible  <bruno@clisp.org>
35153         float tests: Tweak.
35154         * tests/test-float.c (main): Tweak skip message.
35156 2011-07-07  Eric Blake  <eblake@redhat.com>
35158         getopt: avoid compiler warning during configure
35159         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
35160         assigning string literals to non-const pointer.
35162         getopt-gnu: avoid crash in glibc getopt
35163         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
35164         * tests/test-getopt.h (test_getopt): Enhance test.
35165         * tests/test-getopt_long.h (test_getopt_long): Likewise.
35166         * doc/posix-functions/getopt.texi (getopt): Document it.
35167         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
35168         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
35169         Likewise.
35171 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
35173         getopt: handle W; without long options in getopt [BZ #12922]
35174         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
35175         but no long options are defined, just return 'W'.
35177 2011-07-07  Bruno Haible  <bruno@clisp.org>
35179         Avoid literal tabs.
35180         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
35181         variable containing a tab instead of a literal tab.
35182         Reported by Jim Meyering.
35184 2011-07-07  Bruno Haible  <bruno@clisp.org>
35186         Comments.
35187         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
35189 2011-07-06  Bruno Haible  <bruno@clisp.org>
35191         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
35192         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
35193         <winsock2.h>.
35194         (rpl_fd_isset, FD_ISSET): New definitions, copied from
35195         lib/sys_socket.in.h.
35196         (close, gethostname): Hide declarations from <winsock2.h>.
35197         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
35198         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
35199         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
35200         (select): Don't override if gnulib's <sys/select.h> was already
35201         included.
35202         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
35203         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
35204         setsockopt, shutdown, select): Tweak indentation.
35206 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
35208         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
35209         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
35210         in an application that does not use the sys_select module.
35212 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
35214         poll: do not return 0 on timeout=-1
35215         * lib/poll.c: Loop with yield if no events occurred.
35217 2011-07-06  Eric Blake  <eblake@redhat.com>
35219         pthread_sigmask: always replace when not using pthread
35220         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
35221         replacement when using some threading other than pthread.  Fix
35222         logic bug.
35224 2011-07-06  Bruno Haible  <bruno@clisp.org>
35226         Comments.
35227         * m4/printf.m4: Update comments about mingw.
35229 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
35231         sys_select: define sigset_t more portably
35232         * lib/sys_select.in.h: Always include <sys/types.h>, since
35233         we now need sigset_t and mingw defines it there.
35234         Include <signal.h> before split inclusion guard, to avoid
35235         mishaps on Solaris, whose <signal.h> eventually includes us.
35236         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
35237         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
35238         which come from ...
35239         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
35240         gl_CHECK_TYPE_SIGSET_T.
35241         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
35242         does the real work.
35243         * modules/sys_select (Depends-on): Add 'signal'.
35245         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
35246         Suggested by Bruno Haible.
35248         pselect: Use pthread_sigmask, not sigprocmask.
35249         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
35250         multithreaded apps better than sigprocmask does.
35251         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
35252         sigprocmask directly.
35254 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
35256         * lib/pselect.c (pselect): Use plain name, without "rpl_".
35257         Don't #undef,  since we don't need any underlying pselect.
35258         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
35259         (Depends-on): Add select.
35260         (Link): Add $(LIBSOCKET).
35261         These changes suggested by Bruno Haible.
35263         pselect: document better
35264         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
35265         * doc/posix-functions/pselect.texi (pselect): Document new module.
35267         pthread_sigmask: new module
35268         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
35269         * doc/posix-functions/pthread_sigmask.texi: Document new module.
35270         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
35271         This is done only as a macro; I don't know how well that'll
35272         work for C++.  Move <sys/types.h> include before the include_next,
35273         to avoid mishap on Solaris.
35274         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
35275         * modules/signal (Makefile.am): Substitute the check's results.
35276         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
35278         test-pselect: new module
35279         * modules/pselect-tests, tests/test-pselect.c: New files.
35280         * tests/test-select.c, tests/test-sys_select-c++.cc:
35281         If TEST_PSELECT is defined, test pselect instead of testing select.
35283         * tests/test-sys_select.c (sigset_t): Test for it, too.
35284         Suggested by Bruno Haible.
35286 2011-07-05  Eric Blake  <eblake@redhat.com>
35288         snprintf: guarantee %1$d, for libintl
35289         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
35290         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
35291         * doc/posix-functions/snprintf.texi (snprintf): Update.
35292         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
35293         * tests/test-snprintf.c (main): Enhance test.
35294         * tests/test-vsnprintf.c (main): Likewise.
35296 2011-07-05  Jim Meyering  <meyering@redhat.com>
35298         maint: exempt stdio-read.c and stdio-write.c from the cppi check
35299         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
35300         per Bruno's request, to accommodate this idiom (no space after "#")
35301         even when the function is inside an #if block:
35302         char *
35303         gets (char *s)
35304         #undef gets
35305         {
35306           ...
35307         }
35309 2011-07-04  Jim Meyering  <meyering@redhat.com>
35311         maint: indent with spaces, not TABs, and add a rule to check this
35312         * tests/test-userspec.c: Indent with spaces, not TABs.
35313         * tests/test-argp.c: Likewise.
35314         * tests/test-c-stack2.sh: Likewise.
35315         * tests/test-parse-duration.sh: Likewise
35316         * m4/strtod.m4: Likewise.
35317         * m4/alloca.m4: Likewise.
35318         * m4/pselect.m4: Likewise.
35319         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
35321 2011-07-03  Jim Meyering  <meyering@redhat.com>
35323         maint.mk: correct omissions in prohibit_argmatch_without_use check
35324         This rule would mistakenly report that argmatch.h is included without
35325         use even when both the argmatch and invalid_arg macro were used.
35326         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
35327         of argmatch and invalid_arg.
35329 2011-07-03  Bruno Haible  <bruno@clisp.org>
35331         Comments about EINTR.
35332         * lib/safe-read.h: Explain the purpose of this module.
35333         * lib/safe-write.h: Likewise.
35334         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
35335         module.
35336         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
35337         module.
35338         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
35340 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
35342         xnanosleep: Rewrite to use new dtotimespec module.
35343         It has the conversion code that used to be in xnanosleep.
35344         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
35345         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
35346         (TIME_T_MAX): Remove.
35347         (xnanosleep): Rewrite in terms of dtotimespec.
35348         * modules/xnanosleep (Depends-on): Add dtotimespec.
35349         Remove intprops, stdbool.
35351         timespec-add, timespec-sub: new modules
35352         * lib/timespec.h (timespec_add, timespec_sub): New decls.
35353         * lib/timespec-add.c, lib/timespec-sub.c:
35354         * modules/timespec-add, modules/timespec-sub: New files.
35356         dtotimespec: new module
35357         * lib/timespec.h (dtotimespec): New decl.
35358         * lib/dtotimespec.c, modules/dtotimespec: New files.
35360         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
35362         pselect: new module
35363         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
35364         (pselect): New decls.
35365         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
35366         since the standard pselect decl uses 'restrict'.
35367         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
35368         HAVE_PSELECT, REPLACE_PSELECT.
35369         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
35370         HAVE_PSELECT, REPLACE_PSELECT.
35371         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
35373         sys_select: don't depend on sys_socket
35374         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
35375         <http://lists.gnu.org/r/bug-gnulib/2011-06/msg00358.html>.
35376         This fix works on GNU and GNU-like platforms, but has not been tested
35377         on native Windows.
35378         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
35379         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
35380         gl_HEADER_SYS_SOCKET.
35381         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
35382         gl_PREREQ_SYS_H_WINSOCK2.
35384 2011-06-29  Eric Blake  <eblake@redhat.com>
35386         pipe2: fix C89 compile problem
35387         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
35388         Reported by Bruno Haible.
35390         pipe, pipe2: don't corrupt fd on error
35391         * lib/pipe.c (pipe): Leave fd unchanged on error.
35392         * lib/pipe2.c (pipe2): Likewise.
35393         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
35394         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
35396 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
35398         mmap-anon: do not use regular expressions inadvertently
35399         * m4/mmap-anon.m4: Remove trailing period from strings sought
35400         in the output.
35402 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
35404         nanosleep: fix integer overflow problem
35405         * lib/nanosleep.c (my_usleep): Don't assume signed integer
35406         arithmetic wraps around on overflow.
35408         nanosleep: simplify carrying
35409         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
35410         first call to the underyling nanosleep, not for the last one.
35411         This doesn't fix any bugs, but it simplifies the computation of
35412         the remaining delay.  Found while auditing integer overflow issues.
35414         dup2: remove test for existence of fcntl
35415         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
35416         "#if HAVE_FCNTL", in the configure-time test program.
35417         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
35418         and therefore speeds up "configure" a bit.  Found while
35419         adding the dup2 module to Emacs.
35421 2011-06-24  Eric Blake  <eblake@redhat.com>
35423         maint.mk: enhance useless header checks
35424         * top/maint.mk (_sc_header_without_use): Check both include
35425         styles.
35426         (sc_prohibit_assert_without_use)
35427         (sc_prohibit_close_stream_without_use)
35428         (sc_prohibit_getopt_without_use)
35429         (sc_prohibit_quotearg_without_use)
35430         (sc_prohibit_quote_without_use)
35431         (sc_prohibit_long_options_without_use)
35432         (sc_prohibit_inttostr_without_use)
35433         (sc_prohibit_ignore_value_without_use)
35434         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
35435         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
35436         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
35437         (sc_prohibit_hash_pjw_without_use)
35438         (sc_prohibit_safe_read_without_use)
35439         (sc_prohibit_argmatch_without_use)
35440         (sc_prohibit_canonicalize_without_use)
35441         (sc_prohibit_root_dev_ino_without_use)
35442         (sc_prohibit_openat_without_use)
35443         (sc_prohibit_c_ctype_without_use)
35444         (sc_prohibit_signal_without_use)
35445         (sc_prohibit_stdio--_without_use)
35446         (sc_prohibit_stdio-safer_without_use)
35447         (sc_prohibit_strings_without_use)
35448         (sc_prohibit_intprops_without_use)
35449         (sc_prohibit_stddef_without_use)
35450         (sc_prohibit_xfreopen_without_use): Update clients.
35452 2011-06-24  Jim Meyering  <meyering@redhat.com>
35454         syntax-check: keep one maint.mk rule in sync with its header
35455         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
35456         of the bug Eric has just fixed, with today's commit 25e4c2ec.
35457         I prefer to avoid temporary files here, so use <(...), but that
35458         is not supported by /bin/sh, so...
35459         (SHELL): Define to /bin/bash.
35461 2011-06-24  Eric Blake  <eblake@redhat.com>
35463         maint.mk: update sc_prohibit_intprops_without_use
35464         * top/maint.mk (_intprops_names): Match recent changes.
35466 2011-06-24  Bruno Haible  <bruno@clisp.org>
35468         strerror-override: No-op tweak.
35469         * lib/strerror-override.h (strerror_override): Reorder conditions,
35470         for consistency with lib/strerror-override.c.
35472 2011-06-23  Eric Blake  <eblake@redhat.com>
35474         maint.mk: test further PATH_MAX issues
35475         * top/maint.mk (sc_prohibit_path_max_array): Rename...
35476         (sc_prohibit_path_max_allocation): ...and also test alloca.
35477         Suggested by Jim Meyering.
35479 2011-06-22  Eric Blake  <eblake@redhat.com>
35481         maint.mk: add syntax-check to avoid char[PATH_MAX]
35482         * top/maint.mk (sc_prohibit_path_max_array): New rule.
35484         stat: be robust to PATH_MAX definition
35485         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
35486         * modules/stat (Depends-on): Add verify.
35488         link: work around IRIX bug
35489         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
35490         * lib/link.c (rpl_link): Work around it.
35491         * tests/test-link.h (test_link): Enhance test.
35492         * doc/posix-functions/link.texi (link): Document the bug.
35494         getopt: silence clang warning
35495         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
35496         dereference.
35497         Reported by Gustavo Martin Domato.
35499 2011-06-22  Jim Meyering  <meyering@redhat.com>
35501         bootstrap: do not insert a blank line into each .gitignore file
35502         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
35504 2011-06-21  Eric Blake  <eblake@redhat.com>
35506         perror: test for output mismatch
35507         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
35508         perror on IRIX.
35510         strerror_r: fix OpenBSD behavior on out-of-range
35511         * lib/strerror_r.c (strerror_r): Always use maximal string.
35512         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
35514         strerror_r: fix OpenBSD behavior on 0
35515         * lib/strerror-override.c (strerror_override): Also override 0
35516         when needed.
35517         * lib/strerror-override.h (strerror_override): Likewise.
35518         * lib/strerror.c (strerror): Simplify, now that 0 override is done
35519         earlier.
35520         * lib/strerror_r.c (strerror_r): Likewise.
35521         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
35522         behavior...
35523         (gl_FUNC_STRERROR_0): ...into new macro.
35524         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
35525         is overridden.
35526         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
35527         * modules/strerror-override (Files): Add strerror.m4.
35528         (configure.ac): Also provide override for 0 when needed.
35529         * doc/posix-functions/strerror.texi (strerror): Document this.
35530         * doc/posix-functions/perror.texi (perror): Likewise.
35532         perror: adjust array size
35533         * modules/perror (Depends-on): Add strerror-override.
35534         * lib/perror.c (perror): Use it to avoid magic number.
35536         strerror-override: reduce size
35537         * lib/strerror-override.c (strerror_override): Use fewer lines.
35539 2011-06-20  Bruno Haible  <bruno@clisp.org>
35541         pathmax: Ensure correct value for PATH_MAX on HP-UX.
35542         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
35544 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
35546         alloca: port to compilers that can optimize like GCC 4.6.0
35547         * lib/alloca.c (find_stack_direction): New signature, taken from
35548         Autoconf git.  This works with GCC 4.6.0.  This code should never
35549         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
35550         be used with other compilers that optimize as well as GCC 4.6.0 does.
35551         (alloca): Adjust to new signature.
35552         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
35553         New macro, which patches Autoconf in a similar way.
35555         c-stack: stop worrying about stack direction
35556         * lib/c-stack.c (find_stack_direction): Remove.
35557         (segv_handler): Don't worry about stack direction growth, as it's
35558         too much of a pain to configure this correctly, given how compilers
35559         are optimizing-away our stack-growth detection code.  Instead, assume
35560         that any access to just before or just after the stack is OK.
35561         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
35562         Don't require AC_FUNC_ALLOCA; no longer needed.
35564 2011-06-20  Eric Blake  <eblake@redhat.com>
35566         test-stat: don't allocate PATH_MAX bytes
35567         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
35568         PATH_MAX-sized buffer.
35569         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
35570         * modules/stat-tests (Depends-on): Likewise.
35571         * tests/test-fstatat.c (includes): Drop pathmax.h.
35572         * tests/test-stat.c (includes): Likewise.
35573         Reported by Bruno Haible.
35575 2011-06-20  Bruno Haible  <bruno@clisp.org>
35577         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
35578         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
35579         * lib/float.c: New file.
35580         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
35581         REPLACE_FLOAT_LDBL.
35582         * modules/float (Files): Add lib/float.c.
35583         (configure.ac): Invoke AC_LIBOBJ.
35584         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
35586 2011-06-20  Bruno Haible  <bruno@clisp.org>
35588         Tests for module 'float'.
35589         * modules/float-tests: New file.
35590         * tests/test-float.c: New file.
35592 2011-06-19  Bruno Haible  <bruno@clisp.org>
35594         isinf: Coding style.
35595         * lib/isinf.c: Use GNU coding style.
35597 2011-06-19  Bruno Haible  <bruno@clisp.org>
35599         linkat test: Avoid test failure on AIX 7.1.
35600         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
35601         * tests/test-link.h (test_link): Likewise.
35603 2011-06-19  Bruno Haible  <bruno@clisp.org>
35605         pread test: Avoid test failure on OpenBSD 4.9.
35606         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
35608 2011-06-19  Bruno Haible  <bruno@clisp.org>
35610         sprintf-posix: Fix test failure on AIX 7.1.
35611         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
35612         * doc/posix-functions/dprintf.texi: Mention limited precision problem
35613         on AIX.
35614         * doc/posix-functions/fprintf.texi: Likewise.
35615         * doc/posix-functions/printf.texi: Likewise.
35616         * doc/posix-functions/snprintf.texi: Likewise.
35617         * doc/posix-functions/sprintf.texi: Likewise.
35618         * doc/posix-functions/vdprintf.texi: Likewise.
35619         * doc/posix-functions/vfprintf.texi: Likewise.
35620         * doc/posix-functions/vprintf.texi: Likewise.
35621         * doc/posix-functions/vsnprintf.texi: Likewise.
35622         * doc/posix-functions/vsprintf.texi: Likewise.
35624 2011-06-19  Bruno Haible  <bruno@clisp.org>
35626         roundl-ieee: Fix test failure on AIX 7.1.
35627         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
35628         * doc/posix-functions/roundl.texi: Mention problem with negative
35629         arguments.
35631 2011-06-19  Bruno Haible  <bruno@clisp.org>
35633         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
35634         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
35635         * doc/posix-functions/round.texi: Mention problem with negative
35636         arguments.
35637         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
35639 2011-06-19  Bruno Haible  <bruno@clisp.org>
35641         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
35642         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
35643         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
35644         * doc/posix-functions/roundf.texi: Mention problem with negative
35645         arguments.
35646         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
35648 2011-06-19  Bruno Haible  <bruno@clisp.org>
35650         ceilf-ieee: Work around bug on MacOS X 10.5.
35651         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
35653         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
35654         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
35655         IEEE compliant, avoid compiler optimizations.
35656         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
35657         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
35658         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
35659         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
35660         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
35661         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
35662         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
35663         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
35664         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
35665         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
35667 2011-06-19  Bruno Haible  <bruno@clisp.org>
35669         ceilf-ieee: Work around bug on AIX 7.1.
35670         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
35671         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
35673 2011-06-19  Bruno Haible  <bruno@clisp.org>
35675         ceil-ieee: Work around bug on AIX 7.1.
35676         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
35677         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
35679 2011-06-18  Bruno Haible  <bruno@clisp.org>
35681         fsync test: Avoid test failure on MacOS X and AIX.
35682         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
35683         EINVAL.
35685 2011-06-18  Bruno Haible  <bruno@clisp.org>
35687         openat, fdopendir tests: Fix link errors.
35688         * modules/openat-tests (Depends-on): Add progname.
35689         * modules/fdopendir-tests (Depends-on): Likewise.
35690         * tests/test-fchownat.c: Include progname.h.
35691         (main): Call set_program_name.
35692         * tests/test-fstatat.c: Include progname.h.
35693         (main): Call set_program_name.
35694         * tests/test-mkdirat.c: Include progname.h.
35695         (main): Call set_program_name.
35696         * tests/test-openat.c: Include progname.h.
35697         (main): Call set_program_name.
35698         * tests/test-unlinkat.c: Include progname.h.
35699         (main): Call set_program_name.
35700         * tests/test-fdopendir.c: Include progname.h.
35701         (main): Call set_program_name.
35703 2011-06-18  Bruno Haible  <bruno@clisp.org>
35705         Doc update.
35706         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
35707         HP-UX.
35708         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
35710 2011-06-18  Bruno Haible  <bruno@clisp.org>
35712         getcwd tests: Avoid compilation error on HP-UX 11.31.
35713         * modules/getcwd-tests (Depends-on): Add pathmax.
35714         * tests/test-getcwd.c: Include pathmax.h.
35716 2011-06-18  Bruno Haible  <bruno@clisp.org>
35718         isfinite, isinf: Fix link error on AIX 6 and 7.
35719         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
35720         needed, also test the macro with a 'float' argument.
35721         * m4/isinf.m4 (gl_ISINF): Likewise.
35723 2011-06-18  Bruno Haible  <bruno@clisp.org>
35725         getloadavg: Don't clobber LIBS. Regression from previous commit.
35726         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
35727         AC_CHECK_LIB from here...
35728         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
35729         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
35730         gl_func_getloadavg_done.
35731         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
35733 2011-06-18  Bruno Haible  <bruno@clisp.org>
35735         clean-temp: Improve documentation.
35736         * lib/clean-temp.h: Explain better how to use this module.
35737         Reported by John Darrington <john@darrington.wattle.id.au>.
35739 2011-06-17  Bruno Haible  <bruno@clisp.org>
35741         pread, pwrite: Avoid cc warning on AIX.
35742         * lib/unistd.in.h (pread): Undefine before defining as a macro.
35743         (pwrite): Likewise.
35745 2011-06-17  Bruno Haible  <bruno@clisp.org>
35747         spawn-pipe tests: Fix link error.
35748         * tests/test-spawn-pipe-child.c: Undefine fprintf.
35749         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
35751 2011-06-17  Bruno Haible  <bruno@clisp.org>
35753         Tests: Remove unnecessary dependency.
35754         * modules/canonicalize-tests (Depends-on): Remove progname.
35755         * modules/chown-tests (Depends-on): Likewise.
35756         * modules/dirname-tests (Depends-on): Likewise.
35757         * modules/fdopendir-tests (Depends-on): Likewise.
35758         * modules/fdutimensat-tests (Depends-on): Likewise.
35759         * modules/hash-tests (Depends-on): Likewise.
35760         * modules/lchown-tests (Depends-on): Likewise.
35761         * modules/linkat-tests (Depends-on): Likewise.
35762         * modules/renameat-tests (Depends-on): Likewise.
35763         * modules/spawn-pipe-tests (Depends-on): Likewise.
35764         * modules/utimensat-tests (Depends-on): Likewise.
35766 2011-06-17  Bruno Haible  <bruno@clisp.org>
35768         spawn-pipe tests: Fix link error.
35769         * tests/test-spawn-pipe-child.c: Undefine fflush.
35771 2011-06-17  Bruno Haible  <bruno@clisp.org>
35773         Fix tests link errors.
35774         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
35775         * modules/chown-tests (Makefile.am): Don't link test-chown with
35776         LIBINTL.
35777         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
35778         LIBINTL.
35779         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
35780         LIBINTL.
35781         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
35782         LIBINTL.
35784 2011-06-16  Bruno Haible  <bruno@clisp.org>
35786         crypto/gc-sha1: Fix recent regression.
35787         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
35788         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
35790         crypto/gc-md5: Fix recent regression.
35791         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
35793         crypto/gc-md4: Fix recent regression.
35794         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
35795         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
35797         crypto/gc-arctwo: Fix recent regression.
35798         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
35799         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
35801         crypto/gc-rijndael: Fix recent regression.
35802         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
35803         (configure.ac): Invoke AC_LIBOBJ here.
35804         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
35805         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
35807         crypto/gc-hmac-sha1: Fix recent regression.
35808         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
35809         (configure.ac): Invoke AC_LIBOBJ here.
35810         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
35811         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
35813         crypto/gc-hmac-md5: Fix recent regression.
35814         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
35815         (configure.ac): Invoke AC_LIBOBJ here.
35816         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
35817         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
35819         crypto/gc-des: Fix recent regression.
35820         * modules/crypto/gc-des (Files): Remove m4/des.m4.
35821         (configure.ac): Invoke AC_LIBOBJ here.
35822         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
35823         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
35825         crypto/gc-arcfour: Fix recent regression.
35826         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
35827         (configure.ac): Invoke AC_LIBOBJ here.
35828         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
35829         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
35831 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
35833         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
35834         After the 2011-05-21 change, this macro requires
35835         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
35836         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
35838 2011-06-16  Bruno Haible  <bruno@clisp.org>
35840         fprintftime: Move AC_LIBOBJ invocations to module description.
35841         * m4/fprintftime.m4: Remove file.
35842         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
35843         (configure.ac): Remove gl_FPRINTFTIME call.
35844         (Makefile.am): Augment lib_SOURCES.
35845         Reported by Jim Meyering.
35847 2011-06-16  Bruno Haible  <bruno@clisp.org>
35849         tmpfile-safer: Finish 2011-05-23 commit.
35850         * m4/stdio-safer.m4: Really remove file.
35851         Reported by Jim Meyering.
35853 2011-06-16  Bruno Haible  <bruno@clisp.org>
35855         syntax-check: Fix typo.
35856         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
35857         printf-posix.m4.
35858         Reported by Jim Meyering.
35860 2011-06-13  Jim Meyering  <meyering@redhat.com>
35862         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
35863         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
35865 2011-05-23  Bruno Haible  <bruno@clisp.org>
35867         yesno: Move AC_LIBOBJ invocations to module description.
35868         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
35869         * modules/yesno (Makefile.am): Augment lib_SOURCES.
35871 2011-05-23  Bruno Haible  <bruno@clisp.org>
35873         xstrtol: Move AC_LIBOBJ invocations to module description.
35874         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
35875         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
35877 2011-05-23  Bruno Haible  <bruno@clisp.org>
35879         xstrtold: Move AC_LIBOBJ invocations to module description.
35880         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
35881         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
35883 2011-05-23  Bruno Haible  <bruno@clisp.org>
35885         xstrtod: Move AC_LIBOBJ invocations to module description.
35886         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
35887         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
35889 2011-05-23  Bruno Haible  <bruno@clisp.org>
35891         xnanosleep: Move AC_LIBOBJ invocations to module description.
35892         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
35893         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
35895 2011-05-23  Bruno Haible  <bruno@clisp.org>
35897         xgetcwd: Move AC_LIBOBJ invocations to module description.
35898         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
35899         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
35901 2011-05-23  Bruno Haible  <bruno@clisp.org>
35903         xalloc: Move AC_LIBOBJ invocations to module description.
35904         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
35905         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
35907 2011-05-23  Bruno Haible  <bruno@clisp.org>
35909         write-any-file: Move AC_LIBOBJ invocations to module description.
35910         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
35911         invocation.
35912         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
35914 2011-05-23  Bruno Haible  <bruno@clisp.org>
35916         utimens: Move AC_LIBOBJ invocations to module description.
35917         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
35918         * modules/utimens (Makefile.am): Augment lib_SOURCES.
35920 2011-05-23  Bruno Haible  <bruno@clisp.org>
35922         utimecmp: Move AC_LIBOBJ invocations to module description.
35923         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
35924         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
35926 2011-05-23  Bruno Haible  <bruno@clisp.org>
35928         userspec: Move AC_LIBOBJ invocations to module description.
35929         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
35930         * modules/userspec (Makefile.am): Augment lib_SOURCES.
35932 2011-05-23  Bruno Haible  <bruno@clisp.org>
35934         unlinkdir: Move AC_LIBOBJ invocations to module description.
35935         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
35936         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
35938 2011-05-23  Bruno Haible  <bruno@clisp.org>
35940         unistd-safer: Move AC_LIBOBJ invocations to module description.
35941         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
35942         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
35944 2011-05-23  Bruno Haible  <bruno@clisp.org>
35946         tempname: Move AC_LIBOBJ invocations to module description.
35947         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
35948         * modules/tempname (Makefile.am): Augment lib_SOURCES.
35950 2011-05-23  Bruno Haible  <bruno@clisp.org>
35952         strftime: Move AC_LIBOBJ invocations to module description.
35953         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
35954         * modules/strftime (Makefile.am): Augment lib_SOURCES.
35956 2011-05-23  Bruno Haible  <bruno@clisp.org>
35958         stdlib-safer: Move AC_LIBOBJ invocations to module description.
35959         * m4/stdlib-safer.m4: Remove file.
35960         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
35961         (configure.ac): Remove gl_STDLIB_SAFER call.
35962         (Makefile.am): Augment lib_SOURCES.
35964 2011-05-23  Bruno Haible  <bruno@clisp.org>
35966         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
35967         * m4/stdio-safer.m4: Remove file.
35968         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
35969         (configure.ac): Remove gl_TMPFILE_SAFER call.
35970         (Makefile.am): Augment lib_SOURCES.
35972 2011-05-23  Bruno Haible  <bruno@clisp.org>
35974         popen-safer: Move AC_LIBOBJ invocations to module description.
35975         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
35976         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
35977         (configure.ac): Remove gl_POPEN_SAFER call.
35978         (Makefile.am): Augment lib_SOURCES.
35980 2011-05-23  Bruno Haible  <bruno@clisp.org>
35982         freopen-safer: Move AC_LIBOBJ invocations to module description.
35983         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
35984         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
35985         (configure.ac): Remove gl_FREOPEN_SAFER call.
35986         (Makefile.am): Augment lib_SOURCES.
35988 2011-05-23  Bruno Haible  <bruno@clisp.org>
35990         fopen-safer: Move AC_LIBOBJ invocations to module description.
35991         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
35992         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
35993         (configure.ac): Remove gl_FOPEN_SAFER call.
35994         (Makefile.am): Augment lib_SOURCES.
35996 2011-05-23  Bruno Haible  <bruno@clisp.org>
35998         crypto/sha512: Move AC_LIBOBJ invocations to module description.
35999         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
36000         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
36002 2011-05-23  Bruno Haible  <bruno@clisp.org>
36004         crypto/sha256: Move AC_LIBOBJ invocations to module description.
36005         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
36006         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
36008 2011-05-23  Bruno Haible  <bruno@clisp.org>
36010         crypto/sha1: Move AC_LIBOBJ invocations to module description.
36011         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
36012         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
36014 2011-05-23  Bruno Haible  <bruno@clisp.org>
36016         settime: Move AC_LIBOBJ invocations to module description.
36017         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
36018         * modules/settime (Makefile.am): Augment lib_SOURCES.
36020 2011-05-23  Bruno Haible  <bruno@clisp.org>
36022         savedir: Move AC_LIBOBJ invocations to module description.
36023         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
36024         * modules/savedir (Makefile.am): Augment lib_SOURCES.
36026 2011-05-23  Bruno Haible  <bruno@clisp.org>
36028         save-cwd: Move AC_LIBOBJ invocations to module description.
36029         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
36030         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
36032 2011-05-23  Bruno Haible  <bruno@clisp.org>
36034         same: Move AC_LIBOBJ invocations to module description.
36035         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
36036         * modules/same (Makefile.am): Augment lib_SOURCES.
36038 2011-05-23  Bruno Haible  <bruno@clisp.org>
36040         safe-write: Move AC_LIBOBJ invocations to module description.
36041         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
36042         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
36043         instead of gl_SAFE_WRITE.
36044         (Makefile.am): Augment lib_SOURCES.
36046 2011-05-23  Bruno Haible  <bruno@clisp.org>
36048         safe-read: Move AC_LIBOBJ invocations to module description.
36049         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
36050         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
36051         of gl_SAFE_READ.
36052         (Makefile.am): Augment lib_SOURCES.
36054 2011-05-23  Bruno Haible  <bruno@clisp.org>
36056         safe-alloc: Move AC_LIBOBJ invocations to module description.
36057         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
36058         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
36060 2011-05-23  Bruno Haible  <bruno@clisp.org>
36062         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
36063         * m4/rijndael.m4: Remove file.
36064         * modules/crypto/rijndael (Files): Remove it.
36065         (configure.ac): Remove gl_RIJNDAEL call.
36066         (Makefile.am): Augment lib_SOURCES.
36068 2011-05-23  Bruno Haible  <bruno@clisp.org>
36070         readtokens: Move AC_LIBOBJ invocations to module description.
36071         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
36072         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
36074 2011-05-23  Bruno Haible  <bruno@clisp.org>
36076         read-file: Move AC_LIBOBJ invocations to module description.
36077         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
36078         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
36079         of gl_FUNC_READ_FILE.
36080         (Makefile.am): Augment lib_SOURCES.
36082 2011-05-23  Bruno Haible  <bruno@clisp.org>
36084         quotearg: Move AC_LIBOBJ invocations to module description.
36085         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
36086         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
36088 2011-05-23  Bruno Haible  <bruno@clisp.org>
36090         quote: Move AC_LIBOBJ invocations to module description.
36091         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
36092         * modules/quote (Makefile.am): Augment lib_SOURCES.
36094 2011-05-23  Bruno Haible  <bruno@clisp.org>
36096         posixver: Move AC_LIBOBJ invocations to module description.
36097         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
36098         * modules/posixver (Makefile.am): Augment lib_SOURCES.
36100 2011-05-23  Bruno Haible  <bruno@clisp.org>
36102         posixtm: Move AC_LIBOBJ invocations to module description.
36103         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
36104         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
36106 2011-05-23  Bruno Haible  <bruno@clisp.org>
36108         physmem: Move AC_LIBOBJ invocations to module description.
36109         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
36110         * modules/physmem (Makefile.am): Augment lib_SOURCES.
36112 2011-05-23  Bruno Haible  <bruno@clisp.org>
36114         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
36115         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
36116         invocation.
36117         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
36119 2011-05-23  Bruno Haible  <bruno@clisp.org>
36121         mpsort: Move AC_LIBOBJ invocations to module description.
36122         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
36123         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
36125 2011-05-23  Bruno Haible  <bruno@clisp.org>
36127         modechange: Move AC_LIBOBJ invocations to module description.
36128         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
36129         * modules/modechange (Makefile.am): Augment lib_SOURCES.
36131 2011-05-23  Bruno Haible  <bruno@clisp.org>
36133         mkdir-p: Move AC_LIBOBJ invocations to module description.
36134         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
36135         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
36137 2011-05-23  Bruno Haible  <bruno@clisp.org>
36139         mkancesdirs: Move AC_LIBOBJ invocations to module description.
36140         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
36141         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
36143 2011-05-23  Bruno Haible  <bruno@clisp.org>
36145         mgetgroups: Move AC_LIBOBJ invocations to module description.
36146         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
36147         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
36149 2011-05-23  Bruno Haible  <bruno@clisp.org>
36151         memxor: Move AC_LIBOBJ invocations to module description.
36152         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
36153         * modules/memxor (Makefile.am): Augment lib_SOURCES.
36155 2011-05-23  Bruno Haible  <bruno@clisp.org>
36157         memcoll: Move AC_LIBOBJ invocations to module description.
36158         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
36159         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
36161 2011-05-23  Bruno Haible  <bruno@clisp.org>
36163         memcasecmp: Move AC_LIBOBJ invocations to module description.
36164         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
36165         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
36167 2011-05-23  Bruno Haible  <bruno@clisp.org>
36169         crypto/md5: Move AC_LIBOBJ invocations to module description.
36170         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
36171         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
36173 2011-05-23  Bruno Haible  <bruno@clisp.org>
36175         crypto/md4: Move AC_LIBOBJ invocations to module description.
36176         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
36177         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
36179 2011-05-23  Bruno Haible  <bruno@clisp.org>
36181         crypto/md2: Move AC_LIBOBJ invocations to module description.
36182         * m4/md2.m4: Remove file.
36183         * modules/crypto/md2 (Files): Remove it.
36184         (configure.ac): Remove gl_MD2 call.
36185         (Makefile.am): Augment lib_SOURCES.
36187 2011-05-23  Bruno Haible  <bruno@clisp.org>
36189         long-options: Move AC_LIBOBJ invocations to module description.
36190         * m4/long-options.m4: Remove file.
36191         * modules/long-options (Files): Remove it.
36192         (configure.ac): Remove gl_LONG_OPTIONS call.
36193         (Makefile.am): Augment lib_SOURCES.
36195 2011-05-23  Bruno Haible  <bruno@clisp.org>
36197         i-ring: Move AC_LIBOBJ invocations to module description.
36198         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
36199         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
36201 2011-05-23  Bruno Haible  <bruno@clisp.org>
36203         idcache: Move AC_LIBOBJ invocations to module description.
36204         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
36205         * modules/idcache (Makefile.am): Augment lib_SOURCES.
36207 2011-05-23  Bruno Haible  <bruno@clisp.org>
36209         human: Move AC_LIBOBJ invocations to module description.
36210         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
36211         * modules/human (Makefile.am): Augment lib_SOURCES.
36213 2011-05-23  Bruno Haible  <bruno@clisp.org>
36215         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
36216         * m4/hmac-sha1.m4: Remove file.
36217         * modules/crypto/hmac-sha1 (Files): Remove it.
36218         (configure.ac): Remove gl_HMAC_SHA1 call.
36219         (Makefile.am): Augment lib_SOURCES.
36221 2011-05-23  Bruno Haible  <bruno@clisp.org>
36223         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
36224         * m4/hmac-md5.m4: Remove file.
36225         * modules/crypto/hmac-md5 (Files): Remove it.
36226         (configure.ac): Remove gl_HMAC_MD5 call.
36227         (Makefile.am): Augment lib_SOURCES.
36229 2011-05-23  Bruno Haible  <bruno@clisp.org>
36231         hash: Move AC_LIBOBJ invocations to module description.
36232         * m4/hash.m4: Remove file.
36233         * modules/hash (Files): Remove it.
36234         (configure.ac): Remove gl_HASH call.
36235         (Makefile.am): Augment lib_SOURCES.
36237 2011-05-23  Bruno Haible  <bruno@clisp.org>
36239         hard-locale: Move AC_LIBOBJ invocations to module description.
36240         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
36241         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
36243 2011-05-23  Bruno Haible  <bruno@clisp.org>
36245         getugroups: Move AC_LIBOBJ invocations to module description.
36246         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
36247         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
36249 2011-05-23  Bruno Haible  <bruno@clisp.org>
36251         gettime: Move AC_LIBOBJ invocations to module description.
36252         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
36253         * modules/gettime (Makefile.am): Augment lib_SOURCES.
36255 2011-05-23  Bruno Haible  <bruno@clisp.org>
36257         getndelim2: Move AC_LIBOBJ invocations to module description.
36258         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
36259         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
36261 2011-05-23  Bruno Haible  <bruno@clisp.org>
36263         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
36264         * m4/gc-pbkdf2-sha1.m4: Remove file.
36265         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
36266         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
36267         (Makefile.am): Augment lib_SOURCES.
36269 2011-05-23  Bruno Haible  <bruno@clisp.org>
36271         fts: Move AC_LIBOBJ invocations to module description.
36272         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
36273         * modules/fts (configure.ac): ... to here.
36275 2011-05-23  Bruno Haible  <bruno@clisp.org>
36277         file-type: Move AC_LIBOBJ invocations to module description.
36278         * m4/file-type.m4: Remove file.
36279         * modules/file-type (Files): Remove it.
36280         (configure.ac): Remove gl_FILE_TYPE call.
36281         (Makefile.am): Augment lib_SOURCES.
36283 2011-05-23  Bruno Haible  <bruno@clisp.org>
36285         filenamecat*: Respect rules for use of AC_LIBOBJ.
36286         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
36287         Remove AC_LIBOBJ invocation.
36288         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
36289         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
36291 2011-05-23  Bruno Haible  <bruno@clisp.org>
36293         filemode: Move AC_LIBOBJ invocations to module description.
36294         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
36295         * modules/filemode (Makefile.am): Augment lib_SOURCES.
36297 2011-05-23  Bruno Haible  <bruno@clisp.org>
36299         openat-safer: Move AC_LIBOBJ invocations to module description.
36300         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
36301         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
36303 2011-05-23  Bruno Haible  <bruno@clisp.org>
36305         fcntl-safer: Move AC_LIBOBJ invocations to module description.
36306         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
36307         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
36309 2011-05-23  Bruno Haible  <bruno@clisp.org>
36311         exclude: Move AC_LIBOBJ invocations to module description.
36312         * m4/exclude.m4: Remove file.
36313         * modules/exclude (Files): Remove it.
36314         (configure.ac): Remove gl_EXCLUDE call.
36315         (Makefile.am): Augment lib_SOURCES.
36317 2011-05-23  Bruno Haible  <bruno@clisp.org>
36319         dirname*: Respect rules for use of AC_LIBOBJ.
36320         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
36321         invocations.
36322         * modules/dirname (Makefile.am): Augment lib_SOURCES.
36323         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
36325 2011-05-23  Bruno Haible  <bruno@clisp.org>
36327         dirent-safer: Move AC_LIBOBJ invocations to module description.
36328         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
36329         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
36331 2011-05-23  Bruno Haible  <bruno@clisp.org>
36333         crypto/des: Move AC_LIBOBJ invocations to module description.
36334         * m4/des.m4: Remove file.
36335         * modules/crypto/des (Files): Remove it.
36336         (configure.ac): Remove gl_DES call.
36337         (Makefile.am): Augment lib_SOURCES.
36339 2011-05-23  Bruno Haible  <bruno@clisp.org>
36341         cycle-check: Move AC_LIBOBJ invocations to module description.
36342         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
36343         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
36345 2011-05-23  Bruno Haible  <bruno@clisp.org>
36347         c-strtold: Move AC_LIBOBJ invocations to module description.
36348         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
36349         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
36351 2011-05-23  Bruno Haible  <bruno@clisp.org>
36353         c-strtod: Move AC_LIBOBJ invocations to module description.
36354         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
36355         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
36357 2011-05-23  Bruno Haible  <bruno@clisp.org>
36359         crc: Move AC_LIBOBJ invocations to module description.
36360         * m4/crc.m4: Remove file.
36361         * modules/crc (Files): Remove it.
36362         (configure.ac): Remove gl_CRC call.
36363         (Makefile.am): Augment lib_SOURCES.
36365 2011-05-23  Bruno Haible  <bruno@clisp.org>
36367         close-stream: Move AC_LIBOBJ invocations to module description.
36368         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
36369         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
36371 2011-05-23  Bruno Haible  <bruno@clisp.org>
36373         closeout: Move AC_LIBOBJ invocations to module description.
36374         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
36375         * modules/closeout (Makefile.am): Augment lib_SOURCES.
36377 2011-05-23  Bruno Haible  <bruno@clisp.org>
36379         closein: Move AC_LIBOBJ invocations to module description.
36380         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
36381         * modules/closein (Makefile.am): Augment lib_SOURCES.
36383 2011-05-23  Bruno Haible  <bruno@clisp.org>
36385         cloexec: Move AC_LIBOBJ invocations to module description.
36386         * m4/cloexec.m4: Remove file.
36387         * modules/cloexec (Files): Remove it.
36388         (configure.ac): Remove gl_CLOEXEC call.
36389         (Makefile.am): Augment lib_SOURCES.
36391 2011-05-23  Bruno Haible  <bruno@clisp.org>
36393         check-version: Move AC_LIBOBJ invocations to module description.
36394         * m4/check-version.m4: Remove file.
36395         * modules/check-version (Files): Remove it.
36396         (configure.ac): Remove gl_CHECK_VERSION call.
36397         (Makefile.am): Augment lib_SOURCES.
36399 2011-05-23  Bruno Haible  <bruno@clisp.org>
36401         chdir-safer: Move AC_LIBOBJ invocations to module description.
36402         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
36403         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
36405 2011-05-23  Bruno Haible  <bruno@clisp.org>
36407         canonicalize: Move AC_LIBOBJ invocations to module description.
36408         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
36409         AC_LIBOBJ invocation.
36410         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
36412 2011-05-23  Bruno Haible  <bruno@clisp.org>
36414         canon-host: Move AC_LIBOBJ invocations to module description.
36415         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
36416         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
36417         instead of gl_CANON_HOST.
36418         (Makefile.am): Augment lib_SOURCES.
36420 2011-05-23  Bruno Haible  <bruno@clisp.org>
36422         backupfile: Move AC_LIBOBJ invocations to module description.
36423         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
36424         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
36426 2011-05-23  Bruno Haible  <bruno@clisp.org>
36428         argmatch: Move AC_LIBOBJ invocations to module description.
36429         * m4/argmatch.m4: Remove file.
36430         * modules/argmatch (Files): Remove it.
36431         (configure.ac): Remove gl_ARGMATCH call.
36432         (Makefile.am): Augment lib_SOURCES.
36434 2011-05-23  Bruno Haible  <bruno@clisp.org>
36436         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
36437         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
36438         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
36440 2011-05-23  Bruno Haible  <bruno@clisp.org>
36442         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
36443         * m4/arcfour.m4: Remove file.
36444         * modules/crypto/arcfour (Files): Remove it.
36445         (configure.ac): Remove gl_ARCFOUR call.
36446         (Makefile.am): Augment lib_SOURCES.
36448 2011-05-22  Bruno Haible  <bruno@clisp.org>
36450         write: Move AC_LIBOBJ invocations to module description.
36451         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
36452         * modules/write (configure.ac): ... to here.
36454 2011-05-22  Bruno Haible  <bruno@clisp.org>
36456         wmemset: Move AC_LIBOBJ invocations to module description.
36457         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
36458         here...
36459         * modules/wmemset (configure.ac): ... to here.
36461 2011-05-22  Bruno Haible  <bruno@clisp.org>
36463         wmemmove: Move AC_LIBOBJ invocations to module description.
36464         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
36465         here...
36466         * modules/wmemmove (configure.ac): ... to here.
36468 2011-05-22  Bruno Haible  <bruno@clisp.org>
36470         wmemcpy: Move AC_LIBOBJ invocations to module description.
36471         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
36472         here...
36473         * modules/wmemcpy (configure.ac): ... to here.
36475 2011-05-22  Bruno Haible  <bruno@clisp.org>
36477         wmemcmp: Move AC_LIBOBJ invocations to module description.
36478         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
36479         here...
36480         * modules/wmemcmp (configure.ac): ... to here.
36482 2011-05-22  Bruno Haible  <bruno@clisp.org>
36484         wmemchr: Move AC_LIBOBJ invocations to module description.
36485         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
36486         here...
36487         * modules/wmemchr (configure.ac): ... to here.
36489 2011-05-22  Bruno Haible  <bruno@clisp.org>
36491         wcswidth: Move AC_LIBOBJ invocations to module description.
36492         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
36493         here...
36494         * modules/wcswidth (configure.ac): ... to here.
36496 2011-05-22  Bruno Haible  <bruno@clisp.org>
36498         wcwidth: Respect rules for use of AC_LIBOBJ.
36499         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
36500         invocation from here...
36501         * modules/wcwidth (configure.ac): ... to here.
36502         (Depends-on): Update conditions.
36504 2011-05-22  Bruno Haible  <bruno@clisp.org>
36506         wctype: Move AC_LIBOBJ invocations to module description.
36507         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
36508         invocation from here...
36509         * modules/wctype (configure.ac): ... to here.
36510         (Depends-on): Update conditions.
36512 2011-05-22  Bruno Haible  <bruno@clisp.org>
36514         wctrans: Move AC_LIBOBJ invocations to module description.
36515         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
36516         invocation from here...
36517         * modules/wctrans (configure.ac): ... to here.
36519 2011-05-22  Bruno Haible  <bruno@clisp.org>
36521         wctomb: Move AC_LIBOBJ invocations to module description.
36522         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
36523         invocations from here...
36524         * modules/wctomb (configure.ac): ... to here.
36526 2011-05-22  Bruno Haible  <bruno@clisp.org>
36528         wctob: Move AC_LIBOBJ invocations to module description.
36529         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
36530         gl_PREREQ_WCTOB invocations from here...
36531         * modules/wctob (configure.ac): ... to here.
36532         (Depends-on): Update conditions.
36534 2011-05-22  Bruno Haible  <bruno@clisp.org>
36536         wcsxfrm: Move AC_LIBOBJ invocations to module description.
36537         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
36538         here...
36539         * modules/wcsxfrm (configure.ac): ... to here.
36541 2011-05-22  Bruno Haible  <bruno@clisp.org>
36543         wcstok: Move AC_LIBOBJ invocations to module description.
36544         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
36545         * modules/wcstok (configure.ac): ... to here.
36547 2011-05-22  Bruno Haible  <bruno@clisp.org>
36549         wcsstr: Move AC_LIBOBJ invocations to module description.
36550         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
36551         * modules/wcsstr (configure.ac): ... to here.
36553 2011-05-22  Bruno Haible  <bruno@clisp.org>
36555         wcsspn: Move AC_LIBOBJ invocations to module description.
36556         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
36557         * modules/wcsspn (configure.ac): ... to here.
36559 2011-05-22  Bruno Haible  <bruno@clisp.org>
36561         wcsrtombs: Move AC_LIBOBJ invocations to module description.
36562         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
36563         gl_PREREQ_WCSRTOMBS invocations from here...
36564         * modules/wcsrtombs (configure.ac): ... to here.
36566 2011-05-22  Bruno Haible  <bruno@clisp.org>
36568         wcsrchr: Move AC_LIBOBJ invocations to module description.
36569         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
36570         here...
36571         * modules/wcsrchr (configure.ac): ... to here.
36573 2011-05-22  Bruno Haible  <bruno@clisp.org>
36575         wcspbrk: Move AC_LIBOBJ invocations to module description.
36576         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
36577         here...
36578         * modules/wcspbrk (configure.ac): ... to here.
36580 2011-05-22  Bruno Haible  <bruno@clisp.org>
36582         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
36583         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
36584         gl_PREREQ_WCSNRTOMBS invocations from here...
36585         * modules/wcsnrtombs (configure.ac): ... to here.
36587 2011-05-22  Bruno Haible  <bruno@clisp.org>
36589         wcsnlen: Move AC_LIBOBJ invocations to module description.
36590         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
36591         here...
36592         * modules/wcsnlen (configure.ac): ... to here.
36594 2011-05-22  Bruno Haible  <bruno@clisp.org>
36596         wcsncpy: Move AC_LIBOBJ invocations to module description.
36597         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
36598         here...
36599         * modules/wcsncpy (configure.ac): ... to here.
36601 2011-05-22  Bruno Haible  <bruno@clisp.org>
36603         wcsncmp: Move AC_LIBOBJ invocations to module description.
36604         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
36605         here...
36606         * modules/wcsncmp (configure.ac): ... to here.
36608 2011-05-22  Bruno Haible  <bruno@clisp.org>
36610         wcsncat: Move AC_LIBOBJ invocations to module description.
36611         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
36612         here...
36613         * modules/wcsncat (configure.ac): ... to here.
36615 2011-05-22  Bruno Haible  <bruno@clisp.org>
36617         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
36618         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
36619         from here...
36620         * modules/wcsncasecmp (configure.ac): ... to here.
36622 2011-05-22  Bruno Haible  <bruno@clisp.org>
36624         wcslen: Move AC_LIBOBJ invocations to module description.
36625         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
36626         * modules/wcslen (configure.ac): ... to here.
36628 2011-05-22  Bruno Haible  <bruno@clisp.org>
36630         wcsdup: Move AC_LIBOBJ invocations to module description.
36631         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
36632         * modules/wcsdup (configure.ac): ... to here.
36634 2011-05-22  Bruno Haible  <bruno@clisp.org>
36636         wcscspn: Move AC_LIBOBJ invocations to module description.
36637         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
36638         here...
36639         * modules/wcscspn (configure.ac): ... to here.
36641 2011-05-22  Bruno Haible  <bruno@clisp.org>
36643         wcscpy: Move AC_LIBOBJ invocations to module description.
36644         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
36645         * modules/wcscpy (configure.ac): ... to here.
36647 2011-05-22  Bruno Haible  <bruno@clisp.org>
36649         wcscoll: Move AC_LIBOBJ invocations to module description.
36650         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
36651         here...
36652         * modules/wcscoll (configure.ac): ... to here.
36654 2011-05-22  Bruno Haible  <bruno@clisp.org>
36656         wcscmp: Move AC_LIBOBJ invocations to module description.
36657         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
36658         * modules/wcscmp (configure.ac): ... to here.
36660 2011-05-22  Bruno Haible  <bruno@clisp.org>
36662         wcschr: Move AC_LIBOBJ invocations to module description.
36663         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
36664         * modules/wcschr (configure.ac): ... to here.
36666 2011-05-22  Bruno Haible  <bruno@clisp.org>
36668         wcscat: Move AC_LIBOBJ invocations to module description.
36669         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
36670         * modules/wcscat (configure.ac): ... to here.
36672 2011-05-22  Bruno Haible  <bruno@clisp.org>
36674         wcscasecmp: Move AC_LIBOBJ invocations to module description.
36675         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
36676         here...
36677         * modules/wcscasecmp (configure.ac): ... to here.
36679 2011-05-22  Bruno Haible  <bruno@clisp.org>
36681         wcrtomb: Move AC_LIBOBJ invocations to module description.
36682         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
36683         invocations from here...
36684         * modules/wcrtomb (configure.ac): ... to here.
36686 2011-05-22  Bruno Haible  <bruno@clisp.org>
36688         wcpncpy: Move AC_LIBOBJ invocations to module description.
36689         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
36690         here...
36691         * modules/wcpncpy (configure.ac): ... to here.
36693 2011-05-22  Bruno Haible  <bruno@clisp.org>
36695         wcpcpy: Move AC_LIBOBJ invocations to module description.
36696         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
36697         * modules/wcpcpy (configure.ac): ... to here.
36699 2011-05-22  Bruno Haible  <bruno@clisp.org>
36701         waitpid: Move AC_LIBOBJ invocations to module description.
36702         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
36703         invocation from here...
36704         * modules/waitpid (configure.ac): ... to here.
36706 2011-05-22  Bruno Haible  <bruno@clisp.org>
36708         utimensat: Move AC_LIBOBJ invocations to module description.
36709         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
36710         here...
36711         * modules/utimensat (configure.ac): ... to here.
36713 2011-05-22  Bruno Haible  <bruno@clisp.org>
36715         usleep: Move AC_LIBOBJ invocations to module description.
36716         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
36717         here...
36718         * modules/usleep (configure.ac): ... to here.
36720 2011-05-22  Bruno Haible  <bruno@clisp.org>
36722         unlockpt: Move AC_LIBOBJ invocations to module description.
36723         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
36724         gl_PREREQ_UNLOCKPT invocations from here...
36725         * modules/unlockpt (configure.ac): ... to here.
36727 2011-05-22  Bruno Haible  <bruno@clisp.org>
36729         unlink: Respect rules for use of AC_LIBOBJ.
36730         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
36731         * modules/unlink (configure.ac): ... to here.
36733 2011-05-22  Bruno Haible  <bruno@clisp.org>
36735         uname: Move AC_LIBOBJ invocations to module description.
36736         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
36737         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
36738         here...
36739         * modules/uname (configure.ac): ... to here.
36741 2011-05-22  Bruno Haible  <bruno@clisp.org>
36743         ttyname_r: Move AC_LIBOBJ invocations to module description.
36744         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
36745         gl_PREREQ_TTYNAME_R invocations from here...
36746         * modules/ttyname_r (configure.ac): ... to here.
36748 2011-05-22  Bruno Haible  <bruno@clisp.org>
36750         tsearch: Move AC_LIBOBJ invocations to module description.
36751         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
36752         invocations from here...
36753         * modules/tsearch (configure.ac): ... to here.
36755 2011-05-22  Bruno Haible  <bruno@clisp.org>
36757         towctrans: Move AC_LIBOBJ invocations to module description.
36758         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
36759         AC_LIBOBJ invocation from here...
36760         * modules/towctrans (configure.ac): ... to here.
36762 2011-05-22  Bruno Haible  <bruno@clisp.org>
36764         tmpfile: Move AC_LIBOBJ invocations to module description.
36765         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
36766         invocations from here...
36767         * modules/tmpfile (configure.ac): ... to here.
36769 2011-05-22  Bruno Haible  <bruno@clisp.org>
36771         times: Move AC_LIBOBJ invocations to module description.
36772         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
36773         * modules/times (configure.ac): ... to here.
36775 2011-05-22  Bruno Haible  <bruno@clisp.org>
36777         time_r: Move AC_LIBOBJ invocations to module description.
36778         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
36779         invocations from here...
36780         * modules/time_r (configure.ac): ... to here.
36782 2011-05-22  Bruno Haible  <bruno@clisp.org>
36784         timegm: Move AC_LIBOBJ invocations to module description.
36785         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
36786         invocations from here...
36787         * modules/timegm (configure.ac): ... to here.
36789 2011-05-22  Bruno Haible  <bruno@clisp.org>
36791         tcgetsid: Move AC_LIBOBJ invocations to module description.
36792         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
36793         and gl_PREREQ_TCGETSID invocations from here...
36794         * modules/tcgetsid (configure.ac): ... to here.
36795         (Depends-on): Update conditions.
36797 2011-05-22  Bruno Haible  <bruno@clisp.org>
36799         symlinkat: Move AC_LIBOBJ invocations to module description.
36800         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
36801         here...
36802         * modules/symlinkat (configure.ac): ... to here.
36804 2011-05-22  Bruno Haible  <bruno@clisp.org>
36806         symlink: Move AC_LIBOBJ invocations to module description.
36807         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
36808         here...
36809         * modules/symlink (configure.ac): ... to here.
36811 2011-05-22  Bruno Haible  <bruno@clisp.org>
36813         strverscmp: Move AC_LIBOBJ invocations to module description.
36814         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
36815         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
36816         from here...
36817         * modules/strverscmp (configure.ac): ... to here.
36819 2011-05-22  Bruno Haible  <bruno@clisp.org>
36821         strtok_r: Move AC_LIBOBJ invocations to module description.
36822         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
36823         and gl_PREREQ_STRTOK_R invocations from here...
36824         * modules/strtok_r (configure.ac): ... to here.
36825         (Depends-on): Update conditions.
36827 2011-05-22  Bruno Haible  <bruno@clisp.org>
36829         strtoumax: Move AC_LIBOBJ invocations to module description.
36830         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
36831         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
36832         from here...
36833         * modules/strtoumax (configure.ac): ... to here.
36835 2011-05-22  Bruno Haible  <bruno@clisp.org>
36837         strtoimax: Move AC_LIBOBJ invocations to module description.
36838         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
36839         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
36840         from here...
36841         * modules/strtoimax (configure.ac): ... to here.
36843 2011-05-22  Bruno Haible  <bruno@clisp.org>
36845         strtoull: Move AC_LIBOBJ invocations to module description.
36846         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
36847         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
36848         from here...
36849         * modules/strtoull (configure.ac): ... to here.
36851 2011-05-22  Bruno Haible  <bruno@clisp.org>
36853         strtoll: Move AC_LIBOBJ invocations to module description.
36854         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
36855         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
36856         here...
36857         * modules/strtoll (configure.ac): ... to here.
36859 2011-05-22  Bruno Haible  <bruno@clisp.org>
36861         strtoul: Move AC_LIBOBJ invocations to module description.
36862         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
36863         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
36864         * modules/strtoul (configure.ac): ... to here.
36866 2011-05-22  Bruno Haible  <bruno@clisp.org>
36868         strtol: Move AC_LIBOBJ invocations to module description.
36869         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
36870         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
36871         * modules/strtol (configure.ac): ... to here.
36873 2011-05-22  Bruno Haible  <bruno@clisp.org>
36875         strtod: Move AC_LIBOBJ invocations to module description.
36876         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
36877         invocations from here...
36878         * modules/strtod (configure.ac): ... to here.
36880 2011-05-22  Bruno Haible  <bruno@clisp.org>
36882         strstr*: Move AC_LIBOBJ invocations to module description.
36883         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
36884         invocations from here...
36885         * modules/strstr-simple (configure.ac): ... to here.
36886         * modules/strstr (configure.ac): ... and here.
36888 2011-05-22  Bruno Haible  <bruno@clisp.org>
36890         strsignal: Move AC_LIBOBJ invocations to module description.
36891         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
36892         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
36893         * modules/strsignal (configure.ac): ... to here.
36894         (Depends-on): Update conditions.
36896 2011-05-22  Bruno Haible  <bruno@clisp.org>
36898         strsep: Move AC_LIBOBJ invocations to module description.
36899         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
36900         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
36901         here...
36902         * modules/strsep (configure.ac): ... to here.
36904 2011-05-22  Bruno Haible  <bruno@clisp.org>
36906         strptime: Move AC_LIBOBJ invocations to module description.
36907         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
36908         gl_PREREQ_STRPTIME invocations from here...
36909         * modules/strptime (configure.ac): ... to here.
36911 2011-05-22  Bruno Haible  <bruno@clisp.org>
36913         strpbrk: Move AC_LIBOBJ invocations to module description.
36914         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
36915         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
36916         here...
36917         * modules/strpbrk (configure.ac): ... to here.
36919 2011-05-22  Bruno Haible  <bruno@clisp.org>
36921         strnlen: Move AC_LIBOBJ invocations to module description.
36922         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
36923         invocations from here...
36924         * modules/strnlen (configure.ac): ... to here.
36926 2011-05-22  Bruno Haible  <bruno@clisp.org>
36928         strndup: Move AC_LIBOBJ invocations to module description.
36929         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
36930         invocations from here...
36931         * modules/strndup (configure.ac): ... to here.
36932         (Depends-on): Update conditions.
36934 2011-05-22  Bruno Haible  <bruno@clisp.org>
36936         strncat: Move AC_LIBOBJ invocations to module description.
36937         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
36938         invocations from here...
36939         * modules/strncat (configure.ac): ... to here.
36941 2011-05-22  Bruno Haible  <bruno@clisp.org>
36943         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
36944         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
36945         invocations from here...
36946         * modules/strdup (configure.ac): ... to here.
36947         * modules/strdup-posix (configure.ac): ... and here.
36949 2011-05-22  Bruno Haible  <bruno@clisp.org>
36951         strcspn: Move AC_LIBOBJ invocations to module description.
36952         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
36953         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
36954         here...
36955         * modules/strcspn (configure.ac): ... to here.
36957 2011-05-22  Bruno Haible  <bruno@clisp.org>
36959         strchrnul: Move AC_LIBOBJ invocations to module description.
36960         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
36961         gl_PREREQ_STRCHRNUL invocations from here...
36962         * modules/strchrnul (configure.ac): ... to here.
36964 2011-05-22  Bruno Haible  <bruno@clisp.org>
36966         strcasestr*: Move AC_LIBOBJ invocations to module description.
36967         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
36968         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
36969         * modules/strcasestr-simple (configure.ac): ... to here.
36970         * modules/strcasestr (configure.ac): ... and here.
36972 2011-05-22  Bruno Haible  <bruno@clisp.org>
36974         strcase: Move AC_LIBOBJ invocations to module description.
36975         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
36976         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
36977         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
36978         gl_PREREQ_STRNCASECMP invocations from here...
36979         * modules/strcase (configure.ac): ... to here.
36981 2011-05-22  Bruno Haible  <bruno@clisp.org>
36983         stpncpy: Move AC_LIBOBJ invocations to module description.
36984         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
36985         here...
36986         * modules/stpncpy (configure.ac): ... to here.
36988 2011-05-22  Bruno Haible  <bruno@clisp.org>
36990         stpcpy: Move AC_LIBOBJ invocations to module description.
36991         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
36992         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
36993         here...
36994         * modules/stpcpy (configure.ac): ... to here.
36996 2011-05-21  Bruno Haible  <bruno@clisp.org>
36998         stat: Move AC_LIBOBJ invocations to module description.
36999         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
37000         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
37001         here...
37002         * modules/stat (configure.ac): ... to here.
37004 2011-05-21  Bruno Haible  <bruno@clisp.org>
37006         sleep: Move AC_LIBOBJ invocations to module description.
37007         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
37008         * modules/sleep (configure.ac): ... to here.
37010 2011-05-21  Bruno Haible  <bruno@clisp.org>
37012         signbit: Move AC_LIBOBJ invocations to module description.
37013         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
37014         * modules/signbit (configure.ac): ... to here.
37016 2011-05-21  Bruno Haible  <bruno@clisp.org>
37018         sigprocmask: Move AC_LIBOBJ invocations to module description.
37019         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
37020         gl_PREREQ_SIGPROMASK invocations from here...
37021         * modules/sigprocmask (configure.ac): ... to here.
37023 2011-05-21  Bruno Haible  <bruno@clisp.org>
37025         sigaction: Move AC_LIBOBJ invocations to module description.
37026         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
37027         gl_PREREQ_SIGACTION invocations from here...
37028         * modules/sigaction (configure.ac): ... to here.
37030 2011-05-21  Bruno Haible  <bruno@clisp.org>
37032         sig2str: Move AC_LIBOBJ invocations to module description.
37033         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
37034         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
37035         here...
37036         * modules/sig2str (configure.ac): ... to here.
37038 2011-05-21  Bruno Haible  <bruno@clisp.org>
37040         setlocale: Move AC_LIBOBJ invocations to module description.
37041         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
37042         gl_PREREQ_SETLOCALE invocations from here...
37043         * modules/setlocale (configure.ac): ... to here.
37045 2011-05-21  Bruno Haible  <bruno@clisp.org>
37047         unsetenv: Move AC_LIBOBJ invocations to module description.
37048         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
37049         and gl_PREREQ_UNSETENV invocations from here...
37050         * modules/unsetenv (configure.ac): ... to here.
37051         (Depends-on): Update.
37053 2011-05-21  Bruno Haible  <bruno@clisp.org>
37055         setenv: Move AC_LIBOBJ invocations to module description.
37056         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
37057         here...
37058         * modules/setenv (configure.ac): ... to here.
37060 2011-05-21  Bruno Haible  <bruno@clisp.org>
37062         selinux-h: Move AC_LIBOBJ invocations to module description.
37063         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
37064         AC_LIBOBJ invocation from here...
37065         * modules/selinux-h (configure.ac): ... to here.
37067 2011-05-21  Bruno Haible  <bruno@clisp.org>
37069         select: Respect rules for use of AC_LIBOBJ.
37070         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
37071         here...
37072         * modules/select (configure.ac): ... to here.
37074 2011-05-21  Bruno Haible  <bruno@clisp.org>
37076         scandir: Move AC_LIBOBJ invocations to module description.
37077         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
37078         invocations from here...
37079         * modules/scandir (configure.ac): ... to here.
37081 2011-05-21  Bruno Haible  <bruno@clisp.org>
37083         rpmatch: Move AC_LIBOBJ invocations to module description.
37084         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
37085         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
37086         here...
37087         * modules/rpmatch (configure.ac): ... to here.
37089 2011-05-21  Bruno Haible  <bruno@clisp.org>
37091         rmdir: Respect rules for use of AC_LIBOBJ.
37092         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
37093         * modules/rmdir (configure.ac): ... to here.
37095 2011-05-21  Bruno Haible  <bruno@clisp.org>
37097         renameat: Move AC_LIBOBJ invocations to module description.
37098         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
37099         here...
37100         * modules/renameat (configure.ac): ... to here.
37102 2011-05-21  Bruno Haible  <bruno@clisp.org>
37104         rename: Respect rules for use of AC_LIBOBJ.
37105         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
37106         here...
37107         * modules/rename (configure.ac): ... to here.
37109 2011-05-21  Bruno Haible  <bruno@clisp.org>
37111         remove: Move AC_LIBOBJ invocations to module description.
37112         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
37113         here...
37114         * modules/remove (configure.ac): ... to here.
37116 2011-05-21  Bruno Haible  <bruno@clisp.org>
37118         relocatable-lib: Move AC_LIBOBJ invocations to module description.
37119         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
37120         macro.
37121         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
37122         * modules/relocatable-lib (configure.ac): ... to here.
37123         * modules/relocatable-prog-wrapper (configure.ac): Invoke
37124         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
37126 2011-05-21  Bruno Haible  <bruno@clisp.org>
37128         relocatable-prog: Move AC_LIBOBJ invocations to module description.
37129         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
37130         here...
37131         * modules/relocatable-prog (configure.ac): ... to here.
37133 2011-05-21  Bruno Haible  <bruno@clisp.org>
37135         regex: Move AC_LIBOBJ invocations to module description.
37136         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
37137         invocations from here...
37138         * modules/regex (configure.ac): ... to here.
37140 2011-05-21  Bruno Haible  <bruno@clisp.org>
37142         realloc-*: Move AC_LIBOBJ invocations to module description.
37143         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
37144         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
37145         AC_LIBOBJ invocations from here...
37146         * modules/realloc-gnu (configure.ac): ... to here.
37147         * modules/realloc-posix (configure.ac): ... and here.
37149 2011-05-21  Bruno Haible  <bruno@clisp.org>
37151         readutmp: Move AC_LIBOBJ invocations to module description.
37152         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
37153         * modules/readutmp (configure.ac): ... to here.
37155 2011-05-21  Bruno Haible  <bruno@clisp.org>
37157         readlinkat: Move AC_LIBOBJ invocations to module description.
37158         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
37159         here...
37160         * modules/readlinkat (configure.ac): ... to here.
37162 2011-05-21  Bruno Haible  <bruno@clisp.org>
37164         readlink: Move AC_LIBOBJ invocations to module description.
37165         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
37166         gl_PREREQ_READLINK invocations from here...
37167         * modules/readlink (configure.ac): ... to here.
37169 2011-05-21  Bruno Haible  <bruno@clisp.org>
37171         readline: Move AC_LIBOBJ invocations to module description.
37172         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
37173         gl_PREREQ_READLINE invocations from here...
37174         * modules/readline (configure.ac): ... to here.
37176 2011-05-21  Bruno Haible  <bruno@clisp.org>
37178         read: Move AC_LIBOBJ invocations to module description.
37179         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
37180         * modules/read (configure.ac): ... to here.
37182 2011-05-21  Bruno Haible  <bruno@clisp.org>
37184         rawmemchr: Move AC_LIBOBJ invocations to module description.
37185         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
37186         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
37187         from here...
37188         * modules/rawmemchr (configure.ac): ... to here.
37190 2011-05-21  Bruno Haible  <bruno@clisp.org>
37192         random_r: Move AC_LIBOBJ invocations to module description.
37193         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
37194         gl_PREREQ_RANDOM_R invocations from here...
37195         * modules/random_r (configure.ac): ... to here.
37197 2011-05-21  Bruno Haible  <bruno@clisp.org>
37199         pwrite: Move AC_LIBOBJ invocations to module description.
37200         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
37201         * modules/pwrite (configure.ac): ... to here.
37203 2011-05-21  Bruno Haible  <bruno@clisp.org>
37205         putenv: Move AC_LIBOBJ invocations to module description.
37206         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
37207         * modules/putenv (configure.ac): ... to here.
37209 2011-05-21  Bruno Haible  <bruno@clisp.org>
37211         login_tty: Move AC_LIBOBJ invocations to module description.
37212         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
37213         * modules/login_tty (configure.ac): ... to here.
37215 2011-05-21  Bruno Haible  <bruno@clisp.org>
37217         openpty: Move AC_LIBOBJ invocations to module description.
37218         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
37219         * modules/openpty (configure.ac): ... to here.
37221 2011-05-21  Bruno Haible  <bruno@clisp.org>
37223         forkpty: Move AC_LIBOBJ invocations to module description.
37224         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
37225         * modules/forkpty (configure.ac): ... to here.
37227 2011-05-21  Bruno Haible  <bruno@clisp.org>
37229         ptsname: Move AC_LIBOBJ invocations to module description.
37230         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
37231         invocations from here...
37232         * modules/ptsname (configure.ac): ... to here.
37234 2011-05-21  Bruno Haible  <bruno@clisp.org>
37236         pread: Move AC_LIBOBJ invocations to module description.
37237         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
37238         * modules/pread (configure.ac): ... to here.
37240 2011-05-21  Bruno Haible  <bruno@clisp.org>
37242         posix_spawn*: Move AC_LIBOBJ invocations to module description.
37243         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
37244         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
37245         * modules/posix_spawn (configure.ac): ... to here.
37246         * modules/posix_spawnp (configure.ac): ... and here.
37248 2011-05-21  Bruno Haible  <bruno@clisp.org>
37250         popen: Move AC_LIBOBJ invocations to module description.
37251         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
37252         invocations from here...
37253         * modules/popen (configure.ac): ... to here.
37255 2011-05-21  Bruno Haible  <bruno@clisp.org>
37257         poll: Move AC_LIBOBJ invocations to module description.
37258         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
37259         invocations from here...
37260         * modules/poll (configure.ac): ... to here.
37262 2011-05-21  Bruno Haible  <bruno@clisp.org>
37264         pipe-posix: Move AC_LIBOBJ invocations to module description.
37265         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
37266         * modules/pipe-posix (configure.ac): ... to here.
37268 2011-05-21  Bruno Haible  <bruno@clisp.org>
37270         openat: Respect rules for use of AC_LIBOBJ.
37271         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
37272         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
37273         * modules/openat (configure.ac): ... to here.
37275 2011-05-21  Bruno Haible  <bruno@clisp.org>
37277         obstack-printf*: Move AC_LIBOBJ invocations to module description.
37278         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
37279         invocation from here...
37280         * modules/obstack-printf (configure.ac): ... to here.
37281         * modules/obstack-printf-posix (configure.ac): ... and here.
37283 2011-05-21  Bruno Haible  <bruno@clisp.org>
37285         nl_langinfo: Move AC_LIBOBJ invocations to module description.
37286         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
37287         from here...
37288         * modules/nl_langinfo (configure.ac): ... to here.
37290 2011-05-21  Bruno Haible  <bruno@clisp.org>
37292         nanosleep: Move AC_LIBOBJ invocations to module description.
37293         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
37294         gl_PREREQ_NANOSLEEP invocations from here...
37295         * modules/nanosleep (configure.ac): ... to here.
37297 2011-05-21  Bruno Haible  <bruno@clisp.org>
37299         mountlist: Move AC_LIBOBJ invocations to module description.
37300         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
37301         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
37302         * modules/mountlist (configure.ac): ... to here.
37304 2011-05-21  Bruno Haible  <bruno@clisp.org>
37306         mktime: Respect rules for use of AC_LIBOBJ.
37307         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
37308         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
37309         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
37310         (gl_FUNC_MKTIME_INTERNAL): ... and here...
37311         * modules/mktime (configure.ac): ... to here.
37312         * modules/mktime-internal (configure.ac): ... and here.
37313         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
37315 2011-05-21  Bruno Haible  <bruno@clisp.org>
37317         mkstemps: Move AC_LIBOBJ invocations to module description.
37318         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
37319         here...
37320         * modules/mkstemps (configure.ac): ... to here.
37322 2011-05-21  Bruno Haible  <bruno@clisp.org>
37324         mkstemp: Move AC_LIBOBJ invocations to module description.
37325         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
37326         gl_PREREQ_MKSTEMP invocations from here...
37327         * modules/mkstemp (configure.ac): ... to here.
37329 2011-05-21  Bruno Haible  <bruno@clisp.org>
37331         mkostemps: Move AC_LIBOBJ invocations to module description.
37332         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
37333         here...
37334         * modules/mkostemps (configure.ac): ... to here.
37336 2011-05-21  Bruno Haible  <bruno@clisp.org>
37338         mkostemp: Move AC_LIBOBJ invocations to module description.
37339         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
37340         gl_PREREQ_MKOSTEMP invocations from here...
37341         * modules/mkostemp (configure.ac): ... to here.
37343 2011-05-21  Bruno Haible  <bruno@clisp.org>
37345         mknod: Move AC_LIBOBJ invocations to module description.
37346         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
37347         * modules/mknod (configure.ac): ... to here.
37349 2011-05-21  Bruno Haible  <bruno@clisp.org>
37351         mkfifoat: Move AC_LIBOBJ invocations to module description.
37352         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
37353         here...
37354         * modules/mkfifoat (configure.ac): ... to here.
37356 2011-05-21  Bruno Haible  <bruno@clisp.org>
37358         mkfifo: Respect rules for use of AC_LIBOBJ.
37359         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
37360         here...
37361         * modules/mkfifo (configure.ac): ... to here.
37363 2011-05-21  Bruno Haible  <bruno@clisp.org>
37365         mkdtemp: Move AC_LIBOBJ invocations to module description.
37366         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
37367         invocations from here...
37368         * modules/mkdtemp (configure.ac): ... to here.
37370 2011-05-21  Bruno Haible  <bruno@clisp.org>
37372         mkdir: Move AC_LIBOBJ invocations to module description.
37373         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
37374         * modules/mkdir (configure.ac): ... to here.
37376 2011-05-21  Bruno Haible  <bruno@clisp.org>
37378         memset: Move AC_LIBOBJ invocations to module description.
37379         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
37380         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
37381         here...
37382         * modules/memset (configure.ac): ... to here.
37384 2011-05-21  Bruno Haible  <bruno@clisp.org>
37386         memrchr: Move AC_LIBOBJ invocations to module description.
37387         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
37388         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
37389         here...
37390         * modules/memrchr (configure.ac): ... to here.
37392 2011-05-21  Bruno Haible  <bruno@clisp.org>
37394         mempcpy: Move AC_LIBOBJ invocations to module description.
37395         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
37396         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
37397         here...
37398         * modules/mempcpy (configure.ac): ... to here.
37400 2011-05-21  Bruno Haible  <bruno@clisp.org>
37402         memmove: Move AC_LIBOBJ invocations to module description.
37403         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
37404         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
37405         here...
37406         * modules/memmove (configure.ac): ... to here.
37408 2011-05-21  Bruno Haible  <bruno@clisp.org>
37410         memmem*: Move AC_LIBOBJ invocations to module description.
37411         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
37412         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
37413         here...
37414         (gl_FUNC_MEMMEM): ... and here...
37415         * modules/memmem-simple (configure.ac): ... to here.
37416         * modules/memmem (configure.ac): ... and here.
37418 2011-05-21  Bruno Haible  <bruno@clisp.org>
37420         memcpy: Move AC_LIBOBJ invocations to module description.
37421         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
37422         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
37423         here...
37424         * modules/memcpy (configure.ac): ... to here.
37426 2011-05-21  Bruno Haible  <bruno@clisp.org>
37428         memcmp: Simplify autoconf macro.
37429         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
37430         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
37431         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
37433 2011-05-21  Bruno Haible  <bruno@clisp.org>
37435         memcmp: Move AC_LIBOBJ invocations to module description.
37436         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
37437         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
37438         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
37439         * modules/memcmp (configure.ac): ... to here.
37440         (Depends-on): Update conditions.
37442 2011-05-21  Bruno Haible  <bruno@clisp.org>
37444         memchr: Respect rules for use of AC_LIBOBJ.
37445         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
37446         invocations from here...
37447         * modules/memchr (configure.ac): ... to here.
37449 2011-05-21  Bruno Haible  <bruno@clisp.org>
37451         mbtowc: Move AC_LIBOBJ invocations to module description.
37452         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
37453         invocations from here...
37454         * modules/mbtowc (configure.ac): ... to here.
37456 2011-05-21  Bruno Haible  <bruno@clisp.org>
37458         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
37459         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
37460         gl_PREREQ_MBSRTOWCS invocations from here...
37461         * modules/mbsrtowcs (configure.ac): ... to here.
37463 2011-05-21  Bruno Haible  <bruno@clisp.org>
37465         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
37466         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
37467         gl_PREREQ_MBSNRTOWCS invocations from here...
37468         * modules/mbsnrtowcs (configure.ac): ... to here.
37470 2011-05-21  Bruno Haible  <bruno@clisp.org>
37472         mbsinit: Move AC_LIBOBJ invocations to module description.
37473         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
37474         invocations from here...
37475         * modules/mbsinit (configure.ac): ... to here.
37477 2011-05-21  Bruno Haible  <bruno@clisp.org>
37479         mbrlen: Move AC_LIBOBJ invocations to module description.
37480         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
37481         invocations from here...
37482         * modules/mbrlen (configure.ac): ... to here.
37484 2011-05-21  Bruno Haible  <bruno@clisp.org>
37486         mbrtowc: Respect rules for use of AC_LIBOBJ.
37487         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
37488         invocations from here...
37489         * modules/mbrtowc (configure.ac): ... to here.
37491 2011-05-21  Bruno Haible  <bruno@clisp.org>
37493         malloc-*: Move AC_LIBOBJ invocations to module description.
37494         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
37495         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
37496         AC_LIBOBJ invocations from here...
37497         * modules/malloc-gnu (configure.ac): ... to here.
37498         * modules/malloc-posix (configure.ac): ... and here.
37500 2011-05-21  Bruno Haible  <bruno@clisp.org>
37502         lstat, openat: Respect rules for use of AC_LIBOBJ.
37503         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
37504         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
37505         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
37506         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
37507         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
37508         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
37509         here.
37510         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
37512 2011-05-21  Bruno Haible  <bruno@clisp.org>
37514         lseek: Move AC_LIBOBJ invocations to module description.
37515         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
37516         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
37517         * modules/lseek (configure.ac): ... to here.
37519 2011-05-21  Bruno Haible  <bruno@clisp.org>
37521         linkat: Move AC_LIBOBJ invocations to module description.
37522         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
37523         here...
37524         * modules/linkat (configure.ac): ... to here.
37526 2011-05-21  Bruno Haible  <bruno@clisp.org>
37528         link: Respect rules for use of AC_LIBOBJ.
37529         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
37530         * modules/link (configure.ac): ... to here.
37532 2011-05-21  Bruno Haible  <bruno@clisp.org>
37534         lchown: Move AC_LIBOBJ invocations to module description.
37535         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
37536         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
37537         * modules/lchown (configure.ac): ... to here.
37539 2011-05-21  Bruno Haible  <bruno@clisp.org>
37541         iswctype: Move AC_LIBOBJ invocations to module description.
37542         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
37543         here...
37544         * modules/iswctype (configure.ac): ... to here.
37546 2011-05-21  Bruno Haible  <bruno@clisp.org>
37548         iswblank: Move AC_LIBOBJ invocations to module description.
37549         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
37550         here...
37551         * modules/iswblank (configure.ac): ... to here.
37553 2011-05-21  Bruno Haible  <bruno@clisp.org>
37555         atanl: Move AC_LIBOBJ invocations to module description.
37556         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
37557         * modules/atanl (configure.ac): ... to here.
37559 2011-05-21  Bruno Haible  <bruno@clisp.org>
37561         acosl: Move AC_LIBOBJ invocations to module description.
37562         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
37563         * modules/acosl (configure.ac): ... to here.
37565 2011-05-21  Bruno Haible  <bruno@clisp.org>
37567         asinl: Respect rules for use of AC_LIBOBJ.
37568         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
37569         * modules/asinl (configure.ac): ... to here.
37571 2011-05-21  Bruno Haible  <bruno@clisp.org>
37573         tanl: Move AC_LIBOBJ invocations to module description.
37574         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
37575         * modules/tanl (configure.ac): ... to here.
37577 2011-05-21  Bruno Haible  <bruno@clisp.org>
37579         cosl: Move AC_LIBOBJ invocations to module description.
37580         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
37581         * modules/cosl (configure.ac): ... to here.
37583 2011-05-21  Bruno Haible  <bruno@clisp.org>
37585         sinl: Move AC_LIBOBJ invocations to module description.
37586         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
37587         * modules/sinl (configure.ac): ... to here.
37589 2011-05-21  Bruno Haible  <bruno@clisp.org>
37591         logl: Move AC_LIBOBJ invocations to module description.
37592         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
37593         * modules/logl (configure.ac): ... to here.
37595 2011-05-21  Bruno Haible  <bruno@clisp.org>
37597         expl: Move AC_LIBOBJ invocations to module description.
37598         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
37599         * modules/expl (configure.ac): ... to here.
37601 2011-05-21  Bruno Haible  <bruno@clisp.org>
37603         roundl: Move AC_LIBOBJ invocations to module description.
37604         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
37605         * modules/roundl (configure.ac): ... to here.
37607 2011-05-21  Bruno Haible  <bruno@clisp.org>
37609         round: Move AC_LIBOBJ invocations to module description.
37610         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
37611         * modules/round (configure.ac): ... to here.
37613 2011-05-21  Bruno Haible  <bruno@clisp.org>
37615         roundf: Move AC_LIBOBJ invocations to module description.
37616         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
37617         * modules/roundf (configure.ac): ... to here.
37619 2011-05-21  Bruno Haible  <bruno@clisp.org>
37621         truncl: Move AC_LIBOBJ invocations to module description.
37622         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
37623         * modules/truncl (configure.ac): ... to here.
37625 2011-05-21  Bruno Haible  <bruno@clisp.org>
37627         trunc: Move AC_LIBOBJ invocations to module description.
37628         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
37629         * modules/trunc (configure.ac): ... to here.
37631 2011-05-21  Bruno Haible  <bruno@clisp.org>
37633         truncf: Move AC_LIBOBJ invocations to module description.
37634         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
37635         * modules/truncf (configure.ac): ... to here.
37637 2011-05-21  Bruno Haible  <bruno@clisp.org>
37639         ceill: Move AC_LIBOBJ invocations to module description.
37640         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
37641         * modules/ceill (configure.ac): ... to here.
37643 2011-05-21  Bruno Haible  <bruno@clisp.org>
37645         ceil: Move AC_LIBOBJ invocations to module description.
37646         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
37647         * modules/ceil (configure.ac): ... to here.
37649 2011-05-21  Bruno Haible  <bruno@clisp.org>
37651         ceilf: Move AC_LIBOBJ invocations to module description.
37652         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
37653         * modules/ceilf (configure.ac): ... to here.
37655 2011-05-21  Bruno Haible  <bruno@clisp.org>
37657         floorl: Respect rules for use of AC_LIBOBJ.
37658         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
37659         * modules/floorl (configure.ac): ... to here.
37661 2011-05-21  Bruno Haible  <bruno@clisp.org>
37663         floor: Respect rules for use of AC_LIBOBJ.
37664         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
37665         * modules/floor (configure.ac): ... to here.
37667 2011-05-21  Bruno Haible  <bruno@clisp.org>
37669         floorf: Move AC_LIBOBJ invocations to module description.
37670         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
37671         * modules/floorf (configure.ac): ... to here.
37673 2011-05-20  Bruno Haible  <bruno@clisp.org>
37675         sqrtl: Respect rules for use of AC_LIBOBJ.
37676         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
37677         * modules/sqrtl (configure.ac): ... to here.
37679 2011-05-20  Bruno Haible  <bruno@clisp.org>
37681         ldexpl: Respect rules for use of AC_LIBOBJ.
37682         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
37683         * modules/ldexpl (configure.ac): ... to here.
37685 2011-05-20  Bruno Haible  <bruno@clisp.org>
37687         frexpl*: Respect rules for use of AC_LIBOBJ.
37688         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
37689         invocation from here...
37690         * modules/frexpl (configure.ac): ... to here.
37691         * modules/frexpl-nolibm (configure.ac): ... and here.
37693 2011-05-20  Bruno Haible  <bruno@clisp.org>
37695         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
37696         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
37697         invocation from here...
37698         * modules/frexp (configure.ac): ... to here.
37699         * modules/frexp-nolibm (configure.ac): ... and here.
37701 2011-05-20  Bruno Haible  <bruno@clisp.org>
37703         isnan: Respect rules for use of AC_LIBOBJ.
37704         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
37705         invocations here.
37706         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
37707         REPLACE_ISNAN.
37708         * modules/isnand (configure.ac): Likewise.
37709         * modules/isnanl (configure.ac): Likewise.
37711 2011-05-20  Bruno Haible  <bruno@clisp.org>
37713         isnanl*: Respect rules for use of AC_LIBOBJ.
37714         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
37715         invocation from here...
37716         * modules/isnanl (configure.ac): ... to here.
37717         * modules/isnanl-nolibm (configure.ac): ... and here.
37719 2011-05-20  Bruno Haible  <bruno@clisp.org>
37721         isnand*: Move AC_LIBOBJ invocations to module description.
37722         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
37723         invocation from here...
37724         * modules/isnand (configure.ac): ... to here.
37725         * modules/isnand-nolibm (configure.ac): ... and here.
37727 2011-05-20  Bruno Haible  <bruno@clisp.org>
37729         isnanf*: Move AC_LIBOBJ invocations to module description.
37730         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
37731         invocation from here...
37732         * modules/isnanf (configure.ac): ... to here.
37733         * modules/isnanf-nolibm (configure.ac): ... and here.
37735 2011-05-20  Bruno Haible  <bruno@clisp.org>
37737         isnan*: Separate the AC_LIBOBJ invocations.
37738         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
37739         AC_LIBOBJ invocation.
37740         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
37741         here.
37742         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
37743         AC_LIBOBJ invocation.
37744         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
37745         here.
37746         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
37747         AC_LIBOBJ invocation.
37748         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
37749         here.
37750         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
37752 2011-05-08  Bruno Haible  <bruno@clisp.org>
37754         isinf: Move AC_LIBOBJ invocations to module description.
37755         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
37756         * modules/isinf (configure.ac): ... to here.
37758 2011-05-08  Bruno Haible  <bruno@clisp.org>
37760         isfinite: Move AC_LIBOBJ invocations to module description.
37761         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
37762         * modules/isfinite (configure.ac): ... to here.
37764 2011-05-08  Bruno Haible  <bruno@clisp.org>
37766         isblank: Move AC_LIBOBJ invocations to module description.
37767         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
37768         here...
37769         * modules/isblank (configure.ac): ... to here.
37771 2011-05-08  Bruno Haible  <bruno@clisp.org>
37773         isapipe: Move AC_LIBOBJ invocations to module description.
37774         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
37775         gl_PREREQ_ISAPIPE invocations from here...
37776         * modules/isapipe (configure.ac): ... to here.
37777         (Depends-on): Update condition.
37779 2011-05-08  Bruno Haible  <bruno@clisp.org>
37781         ioctl: Move AC_LIBOBJ invocations to module description.
37782         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
37783         invocations from here...
37784         * modules/ioctl (configure.ac): ... to here.
37785         (Depends-on): Update condition.
37787 2011-05-08  Bruno Haible  <bruno@clisp.org>
37789         imaxdiv: Move AC_LIBOBJ invocations to module description.
37790         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
37791         invocations from here...
37792         * modules/imaxdiv (configure.ac): ... to here.
37794 2011-05-08  Bruno Haible  <bruno@clisp.org>
37796         imaxabs: Move AC_LIBOBJ invocations to module description.
37797         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
37798         invocations from here...
37799         * modules/imaxabs (configure.ac): ... to here.
37801 2011-05-08  Bruno Haible  <bruno@clisp.org>
37803         getaddrinfo: Move AC_LIBOBJ invocations to module description.
37804         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
37805         AC_LIBOBJ invocations from here...
37806         * modules/getaddrinfo (configure.ac): ... to here.
37807         (Depends-on): Add conditions.
37809 2011-05-08  Bruno Haible  <bruno@clisp.org>
37811         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
37812         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
37813         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
37814         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
37815         (gl_PREREQ_INET_PTON): ... from here.
37816         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
37817         gl_PREREQ_INET_PTON here.
37818         (Depends-on): Update condition.
37820 2011-05-08  Bruno Haible  <bruno@clisp.org>
37822         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
37823         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
37824         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
37825         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
37826         (gl_PREREQ_INET_NTOP): ... from here.
37827         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
37828         gl_PREREQ_INET_NTOP here.
37829         (Depends-on): Update condition.
37831 2011-05-08  Bruno Haible  <bruno@clisp.org>
37833         iconv_open: Move AC_LIBOBJ invocations to module description.
37834         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
37835         AC_LIBOBJ invocations from here...
37836         * modules/iconv_open (configure.ac): ... to here.
37838 2011-05-08  Bruno Haible  <bruno@clisp.org>
37840         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
37841         If module 'iconv_open' is among the main modules and module
37842         'iconv_open-utf' is among the tests dependencies, then
37843         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
37844         return the special iconv_t values. Therefore iconv() and iconv_close()
37845         must support these special iconv_t values, already in lib, not only in
37846         tests.
37847         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
37848         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
37849         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
37850         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
37851         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
37852         (Depends-on): Add the dependencies of iconv_open-utf.
37853         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
37854         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
37855         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
37857 2011-05-08  Bruno Haible  <bruno@clisp.org>
37859         group-member: Move AC_LIBOBJ invocations to module description.
37860         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
37861         gl_PREREQ_GROUP_MEMBER invocations from here...
37862         * modules/group-member (configure.ac): ... to here.
37864 2011-05-08  Bruno Haible  <bruno@clisp.org>
37866         grantpt: Move AC_LIBOBJ invocations to module description.
37867         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
37868         invocations from here...
37869         * modules/grantpt (configure.ac): ... to here.
37871 2011-05-08  Bruno Haible  <bruno@clisp.org>
37873         glob: Move AC_LIBOBJ invocations to module description.
37874         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
37875         from here...
37876         * modules/glob (configure.ac): ... to here.
37878 2011-05-08  Bruno Haible  <bruno@clisp.org>
37880         getusershell: Move AC_LIBOBJ invocations to module description.
37881         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
37882         Move AC_LIBOBJ invocation from here...
37883         * modules/getusershell (configure.ac): ... to here.
37884         (Depends-on): Update condition.
37886 2011-05-08  Bruno Haible  <bruno@clisp.org>
37888         gettimeofday: Move AC_LIBOBJ invocations to module description.
37889         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
37890         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
37891         gl_PREREQ_GETTIMEOFDAY invocations from here...
37892         * modules/gettimeofday (configure.ac): ... to here.
37894 2011-05-08  Bruno Haible  <bruno@clisp.org>
37896         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
37897         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
37898         just gl_FUNC_TZSET.
37899         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
37900         (gl_FUNC_TZSET_CLOBBER): Remove actions.
37901         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
37902         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
37904 2011-05-08  Bruno Haible  <bruno@clisp.org>
37906         getsubopt: Move AC_LIBOBJ invocations to module description.
37907         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
37908         gl_PREREQ_GETSUBOPT invocations from here...
37909         * modules/getsubopt (configure.ac): ... to here.
37911 2011-05-08  Bruno Haible  <bruno@clisp.org>
37913         getpass-gnu: Move AC_LIBOBJ invocations to module description.
37914         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
37915         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
37916         * modules/getpass-gnu (configure.ac): ... to here.
37918 2011-05-08  Bruno Haible  <bruno@clisp.org>
37920         getpass: Move AC_LIBOBJ invocations to module description.
37921         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
37922         gl_PREREQ_GETPASS invocations from here...
37923         * modules/getpass (configure.ac): ... to here.
37925 2011-05-08  Bruno Haible  <bruno@clisp.org>
37927         getpagesize: Move AC_LIBOBJ invocations to module description.
37928         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
37929         from here...
37930         * modules/getpagesize (configure.ac): ... to here.
37932 2011-05-08  Bruno Haible  <bruno@clisp.org>
37934         getopt: Move AC_LIBOBJ invocations to module description.
37935         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
37936         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
37937         invocations from here...
37938         * modules/getopt-gnu (configure.ac): ... to here.
37939         * modules/getopt-posix (configure.ac): ... and here.
37940         (Depends-on): Update condition.
37942 2011-05-08  Bruno Haible  <bruno@clisp.org>
37944         getopt, argp: Respect rules for use of AC_LIBOBJ.
37945         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
37946         (gl_REPLACE_GETOPT_ALWAYS): New macro.
37947         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
37948         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
37950 2011-05-08  Bruno Haible  <bruno@clisp.org>
37952         getlogin_r: Move AC_LIBOBJ invocations to module description.
37953         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
37954         gl_PREREQ_GETLOGIN_R invocations from here...
37955         * modules/getlogin_r (configure.ac): ... to here.
37957 2011-05-08  Bruno Haible  <bruno@clisp.org>
37959         getlogin: Move AC_LIBOBJ invocations to module description.
37960         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
37961         here...
37962         * modules/getlogin (configure.ac): ... to here.
37964 2011-05-08  Bruno Haible  <bruno@clisp.org>
37966         getloadavg: Move AC_LIBOBJ invocations to module description.
37967         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
37968         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
37969         * modules/getloadavg (configure.ac): ... to here.
37971 2011-05-08  Bruno Haible  <bruno@clisp.org>
37973         gethrxtime: Move AC_LIBOBJ invocations to module description.
37974         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
37975         LIB_GETHRXTIME from here...
37976         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
37977         invocations from here...
37978         * modules/gethrxtime (configure.ac): ... to here.
37980 2011-05-08  Bruno Haible  <bruno@clisp.org>
37982         gethostname: Move AC_LIBOBJ invocations to module description.
37983         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
37984         gl_PREREQ_GETHOSTNAME invocations from here...
37985         * modules/gethostname (configure.ac): ... to here.
37987 2011-05-08  Bruno Haible  <bruno@clisp.org>
37989         getgroups: Move AC_LIBOBJ invocations to module description.
37990         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
37991         here...
37992         * modules/getgroups (configure.ac): ... to here.
37994 2011-05-08  Bruno Haible  <bruno@clisp.org>
37996         getdtablesize: Move AC_LIBOBJ invocations to module description.
37997         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
37998         invocation from here...
37999         * modules/getdtablesize (configure.ac): ... to here.
38001 2011-05-08  Bruno Haible  <bruno@clisp.org>
38003         getdomainname: Move AC_LIBOBJ invocations to module description.
38004         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
38005         gl_PREREQ_GETDOMAINNAME invocations from here...
38006         * modules/getdomainname (configure.ac): ... to here.
38008 2011-05-08  Bruno Haible  <bruno@clisp.org>
38010         getline: Move AC_LIBOBJ invocations to module description.
38011         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
38012         invocations from here...
38013         * modules/getline (configure.ac): ... to here.
38015 2011-05-08  Bruno Haible  <bruno@clisp.org>
38017         getline: Simplify.
38018         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
38019         It's already handled through the module dependency.
38021 2011-05-08  Bruno Haible  <bruno@clisp.org>
38023         getdelim: Move AC_LIBOBJ invocations to module description.
38024         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
38025         and gl_PREREQ_GETDELIM invocations from here...
38026         * modules/getdelim (configure.ac): ... to here.
38027         (Depends-on): Fix condition.
38029 2011-05-08  Bruno Haible  <bruno@clisp.org>
38031         getcwd: Move AC_LIBOBJ invocations to module description.
38032         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
38033         invocations from here...
38034         * modules/getcwd (configure.ac): ... to here.
38036 2011-05-08  Bruno Haible  <bruno@clisp.org>
38038         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
38039         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
38040         here...
38041         * modules/getcwd-lgpl (configure.ac): ... to here.
38043 2011-05-07  Bruno Haible  <bruno@clisp.org>
38045         crypto/gc: Move AC_LIBOBJ invocations to module description.
38046         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
38047         * modules/crypto/gc (configure.ac): ... to here.
38049 2011-05-07  Bruno Haible  <bruno@clisp.org>
38051         fwriting: Move AC_LIBOBJ invocations to module description.
38052         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
38053         here...
38054         * modules/fwriting (configure.ac): ... to here.
38056 2011-05-07  Bruno Haible  <bruno@clisp.org>
38058         fwritable: Move AC_LIBOBJ invocations to module description.
38059         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
38060         here...
38061         * modules/fwritable (configure.ac): ... to here.
38063 2011-05-07  Bruno Haible  <bruno@clisp.org>
38065         futimens: Move AC_LIBOBJ invocations to module description.
38066         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
38067         here...
38068         * modules/futimens (configure.ac): ... to here.
38070 2011-05-07  Bruno Haible  <bruno@clisp.org>
38072         ftruncate: Move AC_LIBOBJ invocations to module description.
38073         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
38074         gl_PREREQ_FTRUNCATE invocations from here...
38075         * modules/ftruncate (configure.ac): ... to here.
38077 2011-05-07  Bruno Haible  <bruno@clisp.org>
38079         fsync: Move AC_LIBOBJ invocations to module description.
38080         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
38081         invocations from here...
38082         * modules/fsync (configure.ac): ... to here.
38084 2011-05-07  Bruno Haible  <bruno@clisp.org>
38086         fsusage: Move AC_LIBOBJ invocations to module description.
38087         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
38088         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
38089         * modules/fsusage (configure.ac): ... to here.
38091 2011-05-07  Bruno Haible  <bruno@clisp.org>
38093         freopen: Move AC_LIBOBJ invocations to module description.
38094         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
38095         invocations from here...
38096         * modules/freopen (configure.ac): ... to here.
38098 2011-05-07  Bruno Haible  <bruno@clisp.org>
38100         free: Move AC_LIBOBJ invocations to module description.
38101         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
38102         invocations from here...
38103         * modules/free (configure.ac): ... to here.
38105 2011-05-07  Bruno Haible  <bruno@clisp.org>
38107         freadable: Move AC_LIBOBJ invocations to module description.
38108         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
38109         here...
38110         * modules/freadable (configure.ac): ... to here.
38112 2011-05-07  Bruno Haible  <bruno@clisp.org>
38114         fpurge: Move AC_LIBOBJ invocations to module description.
38115         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
38116         invocations from here...
38117         * modules/fpurge (configure.ac): ... to here.
38119 2011-05-07  Bruno Haible  <bruno@clisp.org>
38121         fpending: Move AC_LIBOBJ invocations to module description.
38122         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
38123         gl_FUNC_FPENDING.
38124         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
38125         invocations from here...
38126         * modules/fpending (configure.ac): ... to here.
38128 2011-05-07  Bruno Haible  <bruno@clisp.org>
38130         fopen: Move AC_LIBOBJ invocations to module description.
38131         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
38132         invocations from here...
38133         * modules/fopen (configure.ac): ... to here.
38135 2011-05-07  Bruno Haible  <bruno@clisp.org>
38137         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
38138         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
38139         gl_FUNC_FNMATCH_POSIX.
38140         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
38141         invocations from here...
38142         * modules/fnmatch (configure.ac): ... to here.
38143         * modules/fnmatch-gnu (configure.ac): ... and here.
38145 2011-05-07  Bruno Haible  <bruno@clisp.org>
38147         flock: Move AC_LIBOBJ invocations to module description.
38148         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
38149         invocations from here...
38150         * modules/flock (configure.ac): ... to here.
38152 2011-05-07  Bruno Haible  <bruno@clisp.org>
38154         fileblocks: Move AC_LIBOBJ invocations to module description.
38155         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
38156         gl_PREREQ_FILEBLOCKS invocations from here...
38157         * modules/fileblocks (configure.ac): ... to here.
38159 2011-05-06  Bruno Haible  <bruno@clisp.org>
38161         fflush: Move AC_LIBOBJ invocations to module description.
38162         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
38163         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
38164         invocations from here...
38165         * modules/fflush (configure.ac): ... to here.
38167 2011-05-06  Bruno Haible  <bruno@clisp.org>
38169         fdopendir: Move AC_LIBOBJ invocations to module description.
38170         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
38171         here...
38172         * modules/fdopendir (configure.ac): ... to here.
38173         (Depends-on): Improve conditions.
38175 2011-05-06  Bruno Haible  <bruno@clisp.org>
38177         _Exit: Move AC_LIBOBJ invocations to module description.
38178         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
38179         invocations from here...
38180         * modules/_Exit (configure.ac): ... to here.
38182 2011-05-21  Bruno Haible  <bruno@clisp.org>
38184         euidaccess: Respect rules for use of AC_LIBOBJ.
38185         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
38186         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
38187         from here...
38188         * modules/euidaccess (configure.ac): ... to here.
38190 2011-05-06  Bruno Haible  <bruno@clisp.org>
38192         error: Move AC_LIBOBJ invocations to module description.
38193         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
38194         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
38195         invocations from here...
38196         * modules/error (configure.ac): ... to here.
38198 2011-05-06  Bruno Haible  <bruno@clisp.org>
38200         duplocale: Move AC_LIBOBJ invocations to module description.
38201         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
38202         gl_PREREQ_DUPLOCALE invocations from here...
38203         * modules/duplocale (configure.ac): ... to here.
38205 2011-05-05  Bruno Haible  <bruno@clisp.org>
38207         dirfd: Move AC_LIBOBJ invocations to module description.
38208         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
38209         gl_FUNC_DIRFD.
38210         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
38211         here...
38212         * modules/dirfd (configure.ac): ... to here.
38213         (Depends-on): Fix condition.
38215 2011-05-05  Bruno Haible  <bruno@clisp.org>
38217         chown: Respect rules for use of AC_LIBOBJ.
38218         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
38219         * modules/chown (configure.ac): ... to here.
38221 2011-05-05  Bruno Haible  <bruno@clisp.org>
38223         chdir-long: Move AC_LIBOBJ invocations to module description.
38224         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
38225         gl_PREREQ_CHDIR_LONG invocations from here...
38226         * modules/chdir-long (configure.ac): ... to here.
38228 2011-05-05  Bruno Haible  <bruno@clisp.org>
38230         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
38231         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
38232         from here...
38233         * modules/canonicalize-lgpl (configure.ac): ... to here.
38235 2011-05-05  Bruno Haible  <bruno@clisp.org>
38237         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
38238         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
38239         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
38240         REPLACE_CALLOC.
38241         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
38242         * modules/calloc-gnu (configure.ac): Likewise.
38244 2011-05-05  Bruno Haible  <bruno@clisp.org>
38246         btowc: Move AC_LIBOBJ invocations to module description.
38247         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
38248         invocations from here...
38249         * modules/btowc (configure.ac): ... to here.
38251 2011-05-21  Bruno Haible  <bruno@clisp.org>
38253         atexit: Move AC_LIBOBJ invocations to module description.
38254         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
38255         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
38256         here...
38257         * modules/atexit (configure.ac): ... to here.
38259 2011-05-05  Bruno Haible  <bruno@clisp.org>
38261         atoll: Move AC_LIBOBJ invocations to module description.
38262         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
38263         invocations from here...
38264         * modules/atoll (configure.ac): ... to here.
38266 2011-05-05  Bruno Haible  <bruno@clisp.org>
38268         argz: Move AC_LIBOBJ invocations to module description.
38269         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
38270         * modules/argz (configure.ac): ... to here.
38272 2011-05-05  Bruno Haible  <bruno@clisp.org>
38274         alphasort: Move AC_LIBOBJ invocations to module description.
38275         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
38276         gl_PREREQ_ALPHASORT invocations from here...
38277         * modules/alphasort (configure.ac): ... to here.
38279 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
38281         verify: new macro verify_expr; verify_true deprecated
38282         * NEWS: Mention this.
38283         * doc/verify.texi (Compile-time Assertions): Document this.
38284         * lib/verify.h (verify_true): Deprecate.
38285         (verify_expr): New macro.
38286         * tests/test-verify.c (function): Test verify_expr.
38288 2011-06-14  Jim Meyering  <meyering@redhat.com>
38290         init.sh: give more portable redirection-related advice in a comment
38291         * tests/init.sh (stderr_fileno_): Update the advice in comments.
38292         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
38293         for lots of discussion.  Stefano Lattarini suggested the solution
38294         of putting "9>&2" after the command.  Reported by Bruno Haible.
38296 2011-06-13  Bruno Haible  <bruno@clisp.org>
38298         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
38299         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
38300         'none'.
38302 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
38304         ftoastr: use strtof only if HAVE_STRTOF
38305         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
38306         <http://lists.gnu.org/r/bug-gnulib/2011-06/msg00154.html>.
38307         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
38308         * modules/ftoastr (configure.ac): Check for strtof.
38310 2011-06-13  Bruno Haible  <bruno@clisp.org>
38312         gnulib-tool: Addendum to 2011-06-08 commit.
38313         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
38314         and --witness-c-macro have been given, augment AM_CPPFLAGS.
38316 2011-06-13  Bruno Haible  <bruno@clisp.org>
38318         fseeko: Provide a non-inline replacement of fseek().
38319         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
38320         * modules/fseeko (Depends-on): Add fseek.
38321         * modules/fseek (License): Change to LGPLv2+.
38323 2011-06-13  Bruno Haible  <bruno@clisp.org>
38325         ftello: Provide a non-inline replacement of ftell().
38326         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
38327         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
38328         not have ftello() (such as on mingw).
38329         * modules/ftello (Depends-on): Add ftell.
38330         * modules/ftell (License): Change to LGPLv2+.
38332 2011-05-07  Bruno Haible  <bruno@clisp.org>
38334         ftell: Move AC_LIBOBJ invocations to module description.
38335         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
38336         * modules/ftell (configure.ac): ... to here.
38338 2011-05-07  Bruno Haible  <bruno@clisp.org>
38340         ftello: Respect rules for use of AC_LIBOBJ.
38341         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
38342         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
38343         here...
38344         * modules/ftello (configure.ac): ... to here.
38346 2011-05-07  Bruno Haible  <bruno@clisp.org>
38348         fseeko: Simplify.
38349         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
38350         (gl_FUNC_FSEEKO): Inline it here.
38352 2011-05-07  Bruno Haible  <bruno@clisp.org>
38354         fseek: Move AC_LIBOBJ invocations to module description.
38355         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
38356         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
38357         * modules/fseek (configure.ac): ... to here.
38359 2011-05-07  Bruno Haible  <bruno@clisp.org>
38361         fseek: Respect rules for use of AC_LIBOBJ.
38362         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
38363         here...
38364         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
38366 2011-05-07  Bruno Haible  <bruno@clisp.org>
38368         fseeko: Respect rules for use of AC_LIBOBJ.
38369         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
38370         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
38371         here...
38372         * modules/fseeko (configure.ac): ... to here.
38374 2011-06-13  Bruno Haible  <bruno@clisp.org>
38376         gnulib-tool: Allow comments in the 'Depends-on' section.
38377         * doc/gnulib.texi (Module description): Mention comment syntax in the
38378         Depends-on section.
38379         * gnulib-tool (func_get_dependencies): Filter out comment lines.
38381 2011-06-13  Bruno Haible  <bruno@clisp.org>
38383         file-set.h: guard __attibute__ use, now that it's not always defined
38384         * lib/file-set.h (record_file): Use __attribute__ only with compiler
38385         versions that support it.  This fixes a coreutils build failure with
38386         the vendor cc on HP-UX 11.31.
38388 2011-06-12  Bruno Haible  <bruno@clisp.org>
38390         acl: Add support for HP-UX >= 11.11 JFS ACLs.
38391         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
38392         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
38393         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
38394         (acl, aclsort): New declarations.
38395         (aclv_nontrivial): New declaration.
38396         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
38397         (file_has_acl): Read also the second kind of HP-UX ACLs.
38398         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
38399         kind of HP-UX ACLs if the first kind fails.
38400         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
38401         second kind of HP-UX ACLs.
38402         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
38403         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
38404         agree.
38405         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
38406         hpuxjfs.
38407         Handle hpuxjfs.
38408         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
38409         hpuxjfs.
38410         Handle hpuxjfs.
38411         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
38412         (func_test_same_acls): Use both lsacl and getacl.
38413         Handle hpuxjfs.
38414         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
38415         (func_test_same_acls): Use both lsacl and getacl.
38416         Handle hpuxjfs.
38418 2011-06-12  Bruno Haible  <bruno@clisp.org>
38420         acl: Complete the 2010-08-10 fix.
38421         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
38422         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
38423         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
38424         explicitly.
38425         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
38426         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
38428 2011-06-12  Bruno Haible  <bruno@clisp.org>
38430         spawn-pipe tests: Comments.
38431         * tests/test-spawn-pipe-child.c (main): Update comment.
38432         Reported by James Youngman <jay@gnu.org>.
38434 2011-06-11  James Youngman  <jay@gnu.org>
38436         New module 'stat-size'.
38437         * modules/stat-size: New module.  Provides macros for accessing
38438         file size information in instances of struct stat.  Depends on the
38439         fileblocks module because it calls st_blocks.
38440         * lib/stat-size.h: New file, adapted from coreutils' system.h.
38441         * doc/gnulib.texi: Include stat-size.texi.
38442         * doc/stat-size.texi: Documentation for this module.
38443         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
38444         * m4/fileblocks.m4: Mention that stat-size depends on the call to
38445         AC_STRUCT_ST_BLOCKS.
38447 2011-06-09  Bruno Haible  <bruno@clisp.org>
38449         thread: Support pthreads-win32.
38450         * lib/glthread/thread.h (gl_thread_self): Define differently on
38451         pthreads-win32.
38452         (gl_null_thread): New declaration.
38453         (gl_thread_self_pointer): New macro.
38454         * lib/glthread/thread.c (gl_null_thread): New constant.
38455         * tests/test-lock.c: Use gl_thread_self_pointer instead of
38456         gl_thread_self.
38457         * tests/test-tls.c: Likewise.
38458         Suggested by Paul Eggert. Reported by Eric Blake.
38460 2011-06-09  Bruno Haible  <bruno@clisp.org>
38462         thread: Fix confusion between NULL and 0.
38463         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
38464         Reported by Paul Eggert.
38466 2011-06-09  Bruno Haible  <bruno@clisp.org>
38468         spawn-pipe tests: Avoid test failure on HP-UX 11.
38469         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
38470         is closed.
38472 2011-06-09  Bruno Haible  <bruno@clisp.org>
38474         acl tests: Fix compilation error on HP-UX 11.
38475         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
38477 2011-06-09  Bruno Haible  <bruno@clisp.org>
38479         rmdir: Avoid test failure on HP-UX 10.20.
38480         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
38481         EEXIST.
38483 2011-06-08  Eric Blake  <eblake@redhat.com>
38485         perror: fix test on mingw
38486         * modules/perror-tests (Depends-on): Add dup2.
38488         strerror_r-posix: fix on MacOS
38489         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
38490         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
38491         logic bug.
38492         * lib/strerror_r.c (strerror_r): Fix the bug.
38493         * lib/strerror.c (strerror): Likewise.
38494         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
38495         problem.
38496         * doc/posix-functions/strerror.texi (strerror): Likewise.
38497         * doc/posix-functions/perror.texi (perror): Likewise.
38498         * tests/test-strerror.c (main): Enhance test.
38499         * tests/test-strerror_r.c (main): Likewise.
38501 2011-06-08  Bruno Haible  <bruno@clisp.org>
38503         gnulib-tool: Better isolation between different gnulib-tool invocations.
38504         * gnulib-tool: New option --witness-c-macro.
38505         (witness_c_macro): New variable.
38506         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
38507         AM_CPPFLAGS define it as a C macro.
38508         (func_emit_tests_Makefile_am): Likewise.
38509         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
38510         read it from there.
38511         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
38512         m4_define, not AC_DEFUN.
38513         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
38514         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
38515         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
38516         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
38517         s|...|...|, to substitute the values of the GNULIB_* module indicator
38518         variables.
38519         * modules/dirent (Makefile.am): Likewise.
38520         * modules/fcntl-h (Makefile.am): Likewise.
38521         * modules/iconv-h (Makefile.am): Likewise.
38522         * modules/langinfo (Makefile.am): Likewise.
38523         * modules/locale (Makefile.am): Likewise.
38524         * modules/math (Makefile.am): Likewise.
38525         * modules/netdb (Makefile.am): Likewise.
38526         * modules/poll-h (Makefile.am): Likewise.
38527         * modules/pty (Makefile.am): Likewise.
38528         * modules/search (Makefile.am): Likewise.
38529         * modules/signal (Makefile.am): Likewise.
38530         * modules/spawn (Makefile.am): Likewise.
38531         * modules/stdio (Makefile.am): Likewise.
38532         * modules/stdlib (Makefile.am): Likewise.
38533         * modules/string (Makefile.am): Likewise.
38534         * modules/sys_ioctl (Makefile.am): Likewise.
38535         * modules/sys_select (Makefile.am): Likewise.
38536         * modules/sys_socket (Makefile.am): Likewise.
38537         * modules/sys_stat (Makefile.am): Likewise.
38538         * modules/sys_times (Makefile.am): Likewise.
38539         * modules/sys_utsname (Makefile.am): Likewise.
38540         * modules/sys_wait (Makefile.am): Likewise.
38541         * modules/termios (Makefile.am): Likewise.
38542         * modules/time (Makefile.am): Likewise.
38543         * modules/unistd (Makefile.am): Likewise.
38544         * modules/wchar (Makefile.am): Likewise.
38546 2011-06-08  Eric Blake  <eblake@redhat.com>
38548         strerror: simplify replacement
38549         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
38550         * modules/strerror (configure.ac): No prereqs needed here...
38551         * modules/strerror-override (configure.ac): ...but this needs it.
38552         (Files): Add file for needed prereq macro.
38554 2011-06-08  Bruno Haible  <bruno@clisp.org>
38556         strerror_r-posix: Tweaks.
38557         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
38558         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
38559         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
38560         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
38561         (gl_FUNC_STRERROR_R): ... to here.
38562         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
38564 2011-06-07  Eric Blake  <eblake@redhat.com>
38566         perror: document fixed bugs
38567         * doc/posix-functions/perror.texi (perror): Document recent
38568         patches.
38570 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
38572         stat-time: get_stat_birthtime failure is better-defined
38573         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
38574         return a timestamp whose tv_sec and tv_nsec values are both -1.
38575         Previously, the spec said only that the tv_nsec value was negative.
38576         This upward-compatible change simplifies GNU tar a bit.
38578 2011-06-07  Eric Blake  <eblake@redhat.com>
38580         strerror_r-posix: work around cygwin 1.7.9
38581         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
38582         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
38583         bug without replacing strerror_r.
38584         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
38585         strerror_r is buggy, but without requiring strerror_r compilation.
38586         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
38588         test-perror: relax test to ignore cygwin bug
38589         * tests/test-perror2.c (main): Relax test on requiring detection
38590         of stream errors, and use unbuffered stream.
38591         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
38592         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
38593         * doc/posix-functions/fputc.texi (fputc): Likewise.
38594         * doc/posix-functions/fputs.texi (fputs): Likewise.
38595         * doc/posix-functions/fputws.texi (fputws): Likewise.
38596         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
38597         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
38598         * doc/posix-functions/getopt.texi (getopt): Likewise.
38599         * doc/posix-functions/perror.texi (perror): Likewise.
38600         * doc/posix-functions/printf.texi (printf): Likewise.
38601         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
38602         * doc/posix-functions/psignal.texi (psignal): Likewise.
38603         * doc/posix-functions/putc.texi (putc): Likewise.
38604         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
38605         Likewise.
38606         * doc/posix-functions/putchar.texi (putchar): Likewise.
38607         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
38608         Likewise.
38609         * doc/posix-functions/puts.texi (puts): Likewise.
38610         * doc/posix-functions/putwc.texi (putwc): Likewise.
38611         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
38612         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
38613         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
38614         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
38615         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
38616         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
38617         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
38618         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
38620 2011-05-22  Bruno Haible  <bruno@clisp.org>
38622         strerror: Move AC_LIBOBJ invocations to module description.
38623         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
38624         gl_PREREQ_STRERROR invocations from here...
38625         * modules/strerror (configure.ac): ... to here.
38627 2011-05-21  Bruno Haible  <bruno@clisp.org>
38629         perror: Use common idiom.
38630         * modules/perror (configure.ac): Reorder statements.
38632 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
38634         tests: fix usage message in 'mktempd_'
38635         * tests/init.sh (mktempd_): In the usage message, use literal
38636         'mktempd_', not '$ME' (which is even undefined), as the name of
38637         the subroutine.
38639 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
38641         tests init: new function 'fatal_', for hard errors
38642         Before this patch, the only way offered by tests/init.sh to
38643         properly signal a hard error was the `framework_failure_'
38644         function.  But the error message issued by that function,
38645         as its name would suggest, refers to a set-up failure in the
38646         testsuite, while hard errors can obviously also be due to
38647         other reasons.  The best way to fix this inconsistency is to
38648         introduce a new function with a more general error message.
38649         * tests/init.sh (fatal_): New function.
38651 2011-06-06  Eric Blake  <eblake@redhat.com>
38653         canonicalize-lgpl: use common idiom
38654         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
38655         over newer POSIX -Rf.
38656         Reported by Bruno Haible.
38658         canonicalize-lgpl: work around AIX realpath bug
38659         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
38660         * doc/posix-functions/realpath.texi (realpath): Document it.
38661         Reported by Bruno Haible.
38663         strerror: work around FreeBSD bug
38664         * lib/strerror.c (strerror): Special case 0.
38665         Reported by Bruno Haible.
38667         strerror-override: avoid bloating errno module
38668         * modules/errno (Files, configure.ac): Move replacement strings...
38669         * modules/strerror-override: ...to new module.
38670         * modules/strerror (Depends-on): Add strerror-override.
38671         * modules/strerror_r-posix (Depends-on): Likewise.
38672         * MODULES.html.sh: Document new module.
38673         Reported by Bruno Haible.
38675 2011-06-06  Bruno Haible  <bruno@clisp.org>
38677         spawn-pipe tests: Rename program.
38678         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
38679         * tests/test-spawn-pipe-child.c: Update comment.
38680         * tests/test-spawn-pipe.sh: Update.
38681         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
38683         spawn-pipe tests: Link the child program only against libc.
38684         * tests/test-spawn-pipe-child.c: New file, extracted from
38685         tests/test-spawn-pipe.c.
38686         (main): Expect only one argument.
38687         (is_open): New function, copied from tests/test-pipe.c.
38688         * tests/test-spawn-pipe.c: Don't include <errno.h>.
38689         (child_main): Remove function.
38690         (test_pipe): Pass only one argument to the child program.
38691         (main): Remove child process code. Expect the child program's name as
38692         first argument.
38693         * tests/test-spawn-pipe.sh: Pass the child program's name as first
38694         argument.
38695         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
38696         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
38697         test-spawn-pipe-child against no libraries.
38699 2011-06-06  Bruno Haible  <bruno@clisp.org>
38701         careadlinkat: Avoid mismatch between ssize_t and int.
38702         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
38703         * lib/careadlinkat.c (careadlinkatcwd): Define always.
38705 2011-06-06  Jim Meyering  <meyering@redhat.com>
38707         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
38708         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
38709         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
38711 2011-06-05  Bruno Haible  <bruno@clisp.org>
38713         ansi-c++-opt: Interoperability with libtool.
38714         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
38715         set the variable to "no", not to ":".
38716         * NEWS: Mention the change.
38718 2011-06-05  Bruno Haible  <bruno@clisp.org>
38720         acl: Fix test failure on AIX 7.
38721         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
38722         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
38724 2011-06-05  Bruno Haible  <bruno@clisp.org>
38726         pipe-filter-ii: Fix test failure on AIX and IRIX.
38727         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
38728         with EAGAIN, retry with a smaller buffer size.
38730 2011-06-05  Bruno Haible  <bruno@clisp.org>
38732         localename: Fix link dependencies.
38733         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
38734         * modules/localename-tests (Makefile.am): Link test-localename with
38735         $(LIBTHREAD).
38737 2011-06-05  Bruno Haible  <bruno@clisp.org>
38739         error: Avoid gcc warning.
38740         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
38742 2011-06-05  Bruno Haible  <bruno@clisp.org>
38744         unsetenv: Avoid gcc warning.
38745         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
38747 2011-06-05  Bruno Haible  <bruno@clisp.org>
38749         setenv: Avoid gcc warning.
38750         * lib/setenv.c (setenv): Provide declaration if system lacks it.
38752 2011-06-05  Bruno Haible  <bruno@clisp.org>
38754         sys_select: Ensure memset is declared also on AIX 7.
38755         * lib/sys_select.in.h: Include <string.h> also on AIX.
38756         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
38757         self-contained also on AIX 7.1.
38759 2011-06-04  Jim Meyering  <meyering@redhat.com>
38761         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
38762         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
38763         function name, "error".
38764         (_gl_translatable_diag_func_re): New configurable variable.
38766 2011-06-04  Bruno Haible  <bruno@clisp.org>
38768         getopt: Avoid gcc warning.
38769         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
38771 2011-06-04  Bruno Haible  <bruno@clisp.org>
38773         strerror_r: Fix comments.
38774         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
38775         commit.
38777 2011-06-04  Bruno Haible  <bruno@clisp.org>
38779         perror: Fix compilation error.
38780         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
38781         Undefine fprintf, not sprintf.
38782         * modules/perror (Depends-on): Remove intprops, verify.
38784 2011-06-04  Bruno Haible  <bruno@clisp.org>
38786         setlocale: Enable replacement on Cygwin 1.5.
38787         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
38788         Cygwin 1.5.x.
38789         * doc/posix-functions/setlocale.texi: Mention that the problem with the
38790         LC_CTYPE category also exists on Cygwin 1.5.x.
38792 2011-06-04  Bruno Haible  <bruno@clisp.org>
38794         strerror-override: Don't disable symbol renamings.
38795         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
38796         * lib/strerror-override.c: Include config.h.
38797         (strerror_override): Don't undefine.
38799 2011-06-03  Bruno Haible  <bruno@clisp.org>
38801         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
38802         * lib/localename.h: Update copyright header.
38803         * lib/localename.c: Likewise.
38804         * lib/relocatable.h: Likewise.
38805         * lib/relocatable.c: Likewise.
38807 2011-06-02  Bruno Haible  <bruno@clisp.org>
38809         doc: Fix a module name.
38810         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
38812 2011-06-02  Bruno Haible  <bruno@clisp.org>
38814         pipe2: Remove dependency on 'nonblocking' module.
38815         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
38816         O_NONBLOCK is defined by gnulib.
38817         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
38818         is zero.
38819         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
38820         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
38821         defined by gnulib.
38822         (get_nonblocking_flag): New function.
38823         (main): Test O_NONBLOCK flag only if it is nonzero.
38824         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
38826 2011-06-03  Jim Meyering  <meyering@redhat.com>
38828         maint: three new prohibit-header-without-use rules
38829         Prohibit use of cloexec.h, posixver.h, same.h without use.
38830         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
38831         (sc_prohibit_posixver_without_use): Likewise.
38832         (sc_prohibit_same_without_use): Likewise.
38834 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
38836         allocator: 'die' routine is now given requested size
38837         * lib/allocator.h (struct allocator.die): New size arg.
38838         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
38839         If the actual problem is an ssize_t limitation, not a size_t or
38840         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
38842 2011-06-01  Eric Blake  <eblake@redhat.com>
38844         strerror: drop strerror_r dependency
38845         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
38846         * lib/strerror-override.c (strerror_override): ...to new file.
38847         * lib/strerror-override.h: Add prototype.
38848         * lib/strerror-impl.h: Delete.
38849         * lib/strerror.c (strerror): New implementation.
38850         * modules/errno (Files): Add new files.
38851         (configure.ac): Compile new file as appropriate.
38852         * modules/strerror (Files): Drop unused file.
38853         (Depends-on): Drop strerror_r-posix.
38854         * MODULES.html.sh: Document strerror_r-posix.
38855         Requested by Sam Steingold.
38857         perror: call strerror_r directly
38858         * modules/perror (Files): Drop strerror-impl.h.
38859         * lib/perror.c (perror): Use our own stack buffer, rather than
38860         calling a wrapper that uses static storage.
38861         * doc/posix-functions/perror.texi (perror): Document a limitation
38862         of our replacement.
38864         strerror_r: fix includes for FreeBSD
38865         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
38866         since we use abort on some platforms.
38867         Reported by Matthias Bolte.
38869 2011-05-31  Bruno Haible  <bruno@clisp.org>
38871         Fix link errors in tests: openat-die uses gettext-h.
38872         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
38873         against $(LIBINTL).
38874         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
38875         against $(LIBINTL).
38876         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
38877         $(LIBINTL).
38878         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
38879         against $(LIBINTL).
38880         * modules/linkat-tests (Makefile.am): Link test-linkat against
38881         $(LIBINTL).
38882         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
38883         $(LIBINTL).
38884         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
38885         against $(LIBINTL).
38886         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
38887         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
38888         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
38889         $(LIBINTL).
38890         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
38891         $(LIBINTL).
38892         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
38893         $(LIBINTL).
38894         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
38896 2011-05-31  Bruno Haible  <bruno@clisp.org>
38898         Fix link errors in tests: wait-process uses gettext-h.
38899         * modules/nonblocking-pipe-tests (Makefile.am): Set
38900         test_nonblocking_pipe_main_LDADD.
38901         * modules/nonblocking-socket-tests (Makefile.am): Link
38902         test-nonblocking-socket-main against $(LIBINTL).
38903         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
38905 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
38907         assert-h: work around 'verify' incompatibility
38908         * lib/verify.h: Use @...@ directives, not ifdef.
38909         * modules/assert-h (assert.h): Implement the directives.
38910         (assert.h): Substitute the symbol-prefix more consistently.
38912 2011-05-29  Jim Meyering  <meyering@redhat.com>
38914         trim: remove three superfluous assignments
38915         * lib/trim.c (trim2): Remove three superfluous assignments
38916         and correct brace positioning.
38918 2011-05-29  Bruno Haible  <bruno@clisp.org>
38920         wctype-h: Avoid namespace pollution on Solaris 2.6.
38921         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
38922         identifiers.
38923         * doc/posix-headers/wctype.texi: Mention the problem.
38924         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
38926 2011-05-28  Jim Meyering  <meyering@redhat.com>
38928         parse-datetime.y: accommodate -Wstrict-overflow
38929         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
38930         placate -Wstrict-overflow.
38932         trim: avoid a warning from -O2 -Wstrict-overflow
38933         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
38935 2011-05-29  Bruno Haible  <bruno@clisp.org>
38937         gnulib-tool: Fix bug in yesterday's commit.
38938         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
38939         twice.
38941 2011-05-29  Bruno Haible  <bruno@clisp.org>
38943         Allow multiple gnulib generated include files to be combined.
38944         * gnulib-tool (func_compute_include_guard_prefix): New function.
38945         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
38946         ${gl_include_guard_prefix} references.
38947         (func_import, func_create_testdir): Invoke
38948         func_compute_include_guard_prefix.
38949         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
38950         * lib/ctype.in.h: Likewise.
38951         * lib/dirent.in.h: Likewise.
38952         * lib/errno.in.h: Likewise.
38953         * lib/fcntl.in.h: Likewise.
38954         * lib/float.in.h: Likewise.
38955         * lib/getopt.in.h: Likewise.
38956         * lib/iconv.in.h: Likewise.
38957         * lib/langinfo.in.h: Likewise.
38958         * lib/locale.in.h: Likewise.
38959         * lib/math.in.h: Likewise.
38960         * lib/netdb.in.h: Likewise.
38961         * lib/netinet_in.in.h: Likewise.
38962         * lib/poll.in.h: Likewise.
38963         * lib/pthread.in.h: Likewise.
38964         * lib/pty.in.h: Likewise.
38965         * lib/sched.in.h: Likewise.
38966         * lib/se-selinux.in.h: Likewise.
38967         * lib/search.in.h: Likewise.
38968         * lib/signal.in.h: Likewise.
38969         * lib/spawn.in.h: Likewise.
38970         * lib/stdarg.in.h: Likewise.
38971         * lib/stddef.in.h: Likewise.
38972         * lib/stdint.in.h: Likewise.
38973         * lib/stdio.in.h: Likewise.
38974         * lib/stdlib.in.h: Likewise.
38975         * lib/string.in.h: Likewise.
38976         * lib/strings.in.h: Likewise.
38977         * lib/sys_file.in.h: Likewise.
38978         * lib/sys_ioctl.in.h: Likewise.
38979         * lib/sys_select.in.h: Likewise.
38980         * lib/sys_socket.in.h: Likewise.
38981         * lib/sys_stat.in.h: Likewise.
38982         * lib/sys_time.in.h: Likewise.
38983         * lib/sys_times.in.h: Likewise.
38984         * lib/sys_uio.in.h: Likewise.
38985         * lib/sys_utsname.in.h: Likewise.
38986         * lib/sys_wait.in.h: Likewise.
38987         * lib/sysexits.in.h: Likewise.
38988         * lib/termios.in.h: Likewise.
38989         * lib/time.in.h: Likewise.
38990         * lib/unistd.in.h: Likewise.
38991         * lib/wchar.in.h: Likewise.
38992         * lib/wctype.in.h: Likewise.
38993         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
38994         * modules/ctype (Makefile.am): Likewise.
38995         * modules/dirent (Makefile.am): Likewise.
38996         * modules/errno (Makefile.am): Likewise.
38997         * modules/fcntl-h (Makefile.am): Likewise.
38998         * modules/float (Makefile.am): Likewise.
38999         * modules/getopt-posix (Makefile.am): Likewise.
39000         * modules/iconv-h (Makefile.am): Likewise.
39001         * modules/langinfo (Makefile.am): Likewise.
39002         * modules/locale (Makefile.am): Likewise.
39003         * modules/math (Makefile.am): Likewise.
39004         * modules/netdb (Makefile.am): Likewise.
39005         * modules/netinet_in (Makefile.am): Likewise.
39006         * modules/poll-h (Makefile.am): Likewise.
39007         * modules/pthread (Makefile.am): Likewise.
39008         * modules/pty (Makefile.am): Likewise.
39009         * modules/sched (Makefile.am): Likewise.
39010         * modules/search (Makefile.am): Likewise.
39011         * modules/selinux-h (Makefile.am): Likewise.
39012         * modules/signal (Makefile.am): Likewise.
39013         * modules/spawn (Makefile.am): Likewise.
39014         * modules/stdarg (Makefile.am): Likewise.
39015         * modules/stddef (Makefile.am): Likewise.
39016         * modules/stdint (Makefile.am): Likewise.
39017         * modules/stdio (Makefile.am): Likewise.
39018         * modules/stdlib (Makefile.am): Likewise.
39019         * modules/string (Makefile.am): Likewise.
39020         * modules/strings (Makefile.am): Likewise.
39021         * modules/sys_file (Makefile.am): Likewise.
39022         * modules/sys_ioctl (Makefile.am): Likewise.
39023         * modules/sys_select (Makefile.am): Likewise.
39024         * modules/sys_socket (Makefile.am): Likewise.
39025         * modules/sys_stat (Makefile.am): Likewise.
39026         * modules/sys_time (Makefile.am): Likewise.
39027         * modules/sys_times (Makefile.am): Likewise.
39028         * modules/sys_uio (Makefile.am): Likewise.
39029         * modules/sys_utsname (Makefile.am): Likewise.
39030         * modules/sys_wait (Makefile.am): Likewise.
39031         * modules/sysexits (Makefile.am): Likewise.
39032         * modules/termios (Makefile.am): Likewise.
39033         * modules/time (Makefile.am): Likewise.
39034         * modules/unistd (Makefile.am): Likewise.
39035         * modules/wchar (Makefile.am): Likewise.
39036         * modules/wctype-h (Makefile.am): Likewise.
39037         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
39039 2011-05-29  Bruno Haible  <bruno@clisp.org>
39041         assert-h: Allow multiple gnulib generated replacements to coexist.
39042         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
39044 2011-05-29  Bruno Haible  <bruno@clisp.org>
39046         argp: Allow coexistence with strerror_r-posix module.
39047         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
39048         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
39049         by gnulib's <string.h> replacement), assume it has the POSIX signature,
39050         not the glibc signature.
39052 2011-05-28  Bruno Haible  <bruno@clisp.org>
39054         gnulib-tool: Alternative structure of testdirs, similar to --import.
39055         * gnulib-tool: New option --single-configure.
39056         (func_usage): Document it.
39057         (single_configure): New variable.
39058         (func_modules_transitive_closure_separately,
39059         func_modules_transitive_closure_separately,
39060         func_determine_use_libtests, func_modules_add_dummy_separately,
39061         func_modules_to_filelist_separately): New functions, extracted from
39062         func_import.
39063         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
39064         (func_import): Use the new functions.
39065         (func_create_testdir): Set final_modules. Handle $single_configure =
39066         true case.
39068 2011-05-28  Bruno Haible  <bruno@clisp.org>
39070         getloadavg: Remove an unreliable safety check.
39071         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
39072         getloadavg.c is in place.
39073         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
39074         Reported by Sam Steingold <sds@gnu.org>.
39076 2011-05-28  Bruno Haible  <bruno@clisp.org>
39078         doc: Cleanup yet another file produced by texinfo.tex.
39079         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
39081 2011-05-28  Bruno Haible  <bruno@clisp.org>
39083         Finish the conditional dependencies mechanism.
39084         * gnulib-tool: New option --no-conditional-dependencies.
39085         (func_usage): Document it. Don't mark --conditional-dependencies as
39086         experimental.
39087         (cond_dependencies): The possible values can now be true, false, empty.
39088         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
39089         (func_import): Store setting in gnulib-cache.m4 and read it from there.
39090         * doc/gnulib-tool.texi (Conditional dependencies): New section.
39092 2011-05-28  Bruno Haible  <bruno@clisp.org>
39094         doc: Use a recent texinfo.tex.
39095         * doc/Makefile (tex_opts): New variable.
39096         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
39098 2011-05-28  Jim Meyering  <meyering@redhat.com>
39100         intprops.h: adjust comment to match code change
39101         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
39102         only once, it *may* have side effects.  Also fix an unrelated typo.
39103         (_GL_INT_SIGNED): Likewise.
39105 2011-05-26  Simon Josefsson  <simon@josefsson.org>
39107         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
39109 2011-05-26  Bruno Haible  <bruno@clisp.org>
39111         mbsrchr: Avoid collision with system function on Interix.
39112         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
39113         Reported by Markus Duft <mduft@gentoo.org>.
39115 2011-05-15  James Youngman  <jay@gnu.org>
39117         getopt: for ambiguous options, enumerate the possibilities.
39118         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
39119         the ambiguous options when an ambiguous prefix is given. This was
39120         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
39121         glibc change was
39122         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
39124 2011-05-25  Eric Blake  <eblake@redhat.com>
39126         getcwd: work around mingw bug
39127         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
39128         * doc/posix-functions/getcwd.texi (getcwd): Document it.
39129         Reported by Matthias Bolte.
39131 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
39133         test-intprops: disable -Wtype-limits diagnostics
39134         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
39135         diagnostics.  Otherwise, the integer overflow macros generate many
39136         diagnostics.  Reported by Jim Meyering in
39137         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00528.html>.
39139         intprops: shorten, to pacify gcc -Woverlength-strings
39140         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
39141         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
39142         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
39143         likely to run afoul of C compiler limits for string constant lengths.
39144         See <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00528.html>.
39146 2011-05-24  Eric Blake  <eblake@redhat.com>
39148         docs: document recently fixed glibc printf bug
39149         * doc/posix-functions/fprintf.texi (fprintf): Document it.
39150         * doc/posix-functions/printf.texi (printf): Likewise.
39151         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
39152         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
39154         closein-tests: convert to init.sh
39155         * modules/closein-tests (Files): Add init.sh
39156         * tests/test-closein.sh Use it.
39158         yesno-tests: convert to init.sh
39159         * modules/yesno-tests (Files): Add init.sh.
39160         * tests/test-yesno.sh: Use it.
39162         atexit-tests: ensure reliable exit status
39163         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
39164         Reported by Bruno Haible.
39166 2011-05-24  Bruno Haible  <bruno@clisp.org>
39168         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
39169         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
39170         gl_PREREQ_STRERROR_R invocations from here...
39171         * modules/strerror_r-posix (configure.ac): ... to here.
39173 2011-05-24  Eric Blake  <eblake@redhat.com>
39175         strerror_r: fix missing header
39176         * lib/strerror_r.c: Avoid compiler warning about snprintf.
39178         strerror_r: fix AIX test failures
39179         * lib/strerror_r.c (strerror_r): Convert silent truncation to
39180         ERANGE failure.
39182         strerror_r: fix Solaris test failures
39183         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
39184         failures.
39185         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
39187         strerror_r: enforce POSIX recommendations
39188         * lib/strerror_r.c (safe_copy): New helper method.
39189         (strerror_r): Guarantee a non-empty string.
39190         * tests/test-strerror_r.c (main): Enhance tests to incorporate
39191         recent POSIX rulings and to match our strerror guarantees.
39192         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
39194 2011-05-24  Jim Meyering  <meyering@redhat.com>
39196         test-perror2.c: avoid warning about unused variable
39197         * tests/test-perror2.c (main): Remove declaration of unused "fp".
39199 2011-05-24  Eric Blake  <eblake@redhat.com>
39201         perror: avoid spurious test failure on HP-UX
39202         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
39204         tests: fix logic bug in init.sh
39205         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
39206         shell.
39208 2011-05-24  Jim Meyering  <meyering@redhat.com>
39210         utimensat: do not reference an out-of-scope buffer
39211         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
39212         declared in an inner scope, yet "times" would be dereferenced outside
39213         the scope in which "ts" was valid.
39214         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
39215         of ts[2] "out/up", so that the use of aliased "times" (via
39216         "times = ts;") does not end up referencing an out-of-scope "ts"
39218         opendir-safer.c: don't clobber errno; don't close negative FD
39219         * lib/opendir-safer.c (opendir_safer):
39220         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
39221         file descriptor, and more importantly, don't clobber the
39222         offending errno value with EINVAL.  Before, upon failure
39223         of dup_safer, we would pass the negative file descriptor to
39224         fdopendir, which would clobber errno.
39226 2011-05-23  Bruno Haible  <bruno@clisp.org>
39228         idcache: Fix module description.
39229         * modules/idcache (Include): Set to "idcache.h".
39231 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
39233         gnulib-tool: fix portability problem with MacOS sed
39234         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
39235         before the "}".  Problem reported by Leo in
39236         <http://lists.gnu.org/r/emacs-devel/2011-05/msg00717.html>.
39237         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
39238         sed_extract_condition1, sed_extract_condition2.
39240 2011-05-23  Bruno Haible  <bruno@clisp.org>
39242         hash: Simplify autoconf macro.
39243         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
39245 2011-05-23  Bruno Haible  <bruno@clisp.org>
39247         getugroups: Fix module description.
39248         * modules/getugroups (Include): Set to "getugroups.h".
39250 2011-05-23  Bruno Haible  <bruno@clisp.org>
39252         linkat: Simplify autoconf macro.
39253         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
39255 2011-05-23  Bruno Haible  <bruno@clisp.org>
39256             Eric Blake  <eblake@redhat.com>
39258         linkat, renameat: Update dependencies.
39259         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
39260         * modules/linkat (Depends-on): Likewise. Remove also readlink,
39261         symlinkat.
39263 2011-05-23  Jim Meyering  <meyering@redhat.com>
39265         maint.mk: more tight_scope improvements
39266         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
39267         (_gl_TS_headers): Define only in if-0'd block.
39268         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
39269         sometimes we must *not* use it.  Adjust uses accordingly.
39270         (sc_tight_scope): Use much simpler grep-based test to determine
39271         whether we skip this rule.
39273         maint.mk: generalize/improve the tight-scope rule
39274         * top/maint.mk: Emit a warning when the test is skipped.
39275         (_gl_TS_dir): Add $(srcdir)/ prefix.
39276         (_gl_TS_function_match): Simplify, rather than trying
39277         to enumerate common types.  Otherwise, it would fail to match an
39278         "extern unsigned char const *" declaration in idutils.
39279         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
39280         a way to support use of that type of macro.
39281         (_gl_TS_var_match): Simplify regexp.
39282         (_gl_TS_obj_files): New configurable variable.
39283         (_gl_TS_headers): Likewise.
39285 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
39287         verify: fix bug when gnulib <assert.h> is also included
39288         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
39289         is defined, not if _GL_STATIC_ASSERT_H is not defined.
39290         Perhaps there's a better way, but this fixes the immediate problem.
39291         Problem reported by Bruno Haible in
39292         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00478.html>.
39294 2011-05-22  Bruno Haible  <bruno@clisp.org>
39296         xgetcwd: Simplify autoconf macro.
39297         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
39299 2011-05-22  Bruno Haible  <bruno@clisp.org>
39301         New module 'mktime-internal'.
39302         * modules/mktime-internal: New file.
39303         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
39304         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
39305         mktime_internal as a C macro if libc has __mktime_internal.
39306         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
39307         conditions.
39308         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
39310 2011-05-22  Bruno Haible  <bruno@clisp.org>
39312         timegm: Correct mktime replacement statements.
39313         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
39314         defining mktime as a C macro. This completes a 2009-07-28 commit.
39316 2011-05-22  Bruno Haible  <bruno@clisp.org>
39318         timegm: Simplify autoconf macro.
39319         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
39321 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
39323         clock-time: change to LGPLv2+.
39324         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
39325         BSD-like but we have no mark for that; this is good enough for now.
39327 2011-05-21  Bruno Haible  <bruno@clisp.org>
39329         strerror_r: Fix comments.
39330         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
39332 2011-05-21  Bruno Haible  <bruno@clisp.org>
39334         relocatable-prog-wrapper: Fix possible link error.
39335         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
39336         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
39337         (gl_FUNC_SETENV): ... to here.
39338         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
39339         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
39341 2011-05-21  Bruno Haible  <bruno@clisp.org>
39343         relocatable-prog-wrapper: Assume strerror() exists.
39344         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
39345         m4/strerror.m4.
39346         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
39347         * lib/relocwrapper.c: Remove mention of strerror module.
39348         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
39349         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
39350         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
39351         C macro.
39353 2011-05-21  Bruno Haible  <bruno@clisp.org>
39355         select: Simplify replacement idiom.
39356         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
39357         Win32 platforms.
39358         * lib/sys_select.in.h (select): Simplify accordingly.
39359         * modules/select (Depends-on): Likewise.
39361 2011-05-21  Bruno Haible  <bruno@clisp.org>
39363         mkdir-p: Simplify autoconf macro.
39364         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
39365         gl_FUNC_LCHOWN.
39367 2011-05-21  Eric Blake  <eblake@redhat.com>
39369         strerror_r: avoid clobbering strerror on cygwin
39370         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
39371         fall back instead to sys_errlist.
39372         * modules/strerror (configure.ac): Add witness.
39373         * tests/test-strerror_r.c (main): Enhance test.
39374         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
39375         * tests/test-perror2.c (main): Free memory before exit.
39377 2011-05-21  Bruno Haible  <bruno@clisp.org>
39379         mkdtemp: Use gnulib naming conventions.
39380         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
39381         * modules/mkdtemp (configure.ac): Update.
39383 2011-05-20  Eric Blake  <eblake@redhat.com>
39385         strerror_r: avoid corrupting errno on Solaris
39386         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
39387         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
39389         strerror_r: avoid compiler warning
39390         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
39392         strerror_r: simplify AIX code
39393         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
39395         test-perror: avoid spurious failure on FreeBSD
39396         * modules/perror-tests (Depends-on): Add strerror, now that
39397         strerror_r no longer pulls it in.
39399 2011-05-20  Bruno Haible  <bruno@clisp.org>
39401         strerror_r-posix: Remove unused dependencies.
39402         * modules/strerror_r-posix (Depends-on): Remove strerror.
39403         Reported by Eric Blake.
39405 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
39407         intprops: remove assumption about A|B representation
39408         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
39409         is a valid integer if both A and B are.  Although this is true for
39410         all known practical hosts, the C standard doesn't guarantee it,
39411         and the code need not assume it.  Also, this change may work around
39412         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
39413         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00426.html>.
39415 2011-05-20  Eric Blake  <eblake@redhat.com>
39417         perror: work around FreeBSD bug
39418         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
39419         is broken.  Move AC_LIBOBJ...
39420         * modules/perror (configure.ac): Here.
39421         * doc/posix-functions/perror.texi (perror): Document this.
39422         * tests/test-perror2.c (main): Enhance test.
39424         test-perror: check for strerror interactions
39425         * tests/macros.h (STREQ): Add macro.
39426         * modules/perror-tests (Files): Add second test.
39427         * tests/test-perror2.c (main): New file.
39428         * doc/posix-functions/perror.texi (perror): Document glibc bug.
39430         test-perror: rewrite to use init script
39431         * modules/perror-tests (Files): Add init.sh.
39432         * tests/test-perror.sh: Use temporary directory.
39434 2011-05-20  Jim Meyering  <meyering@redhat.com>
39436         maint: replace misused "a" with "an"
39437         * doc/intprops.texi: "a integer"
39438         * doc/regex.texi: "a explanation"
39439         * lib/alignof.h: "a object"
39440         * lib/argmatch.h: "a explanation"
39441         * lib/argp-help.c: "a option" and "a OPTION_DOC"
39442         * lib/stdint.in.h: "a integer"
39443         * lib/userspec.c: "a owner"
39444         * doc/gnulib.texi: Fix "a idea", and reword.
39446 2011-05-19  Jim Meyering  <meyering@redhat.com>
39448         maint: correct misuse of "a" and "an"
39449         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
39450         * lib/argp-help.c: "an docum...": s/an/a/
39451         * lib/argp-parse.c: "An vector": s/An/A/
39452         * lib/execute.c: "an native": s/an/a/
39453         * lib/spawn-pipe.c: Likewise.
39454         * lib/gc.h: "an Gc_rc": s/an/a/
39455         * lib/unigbrk.in.h: "an grapheme": s/an/a/
39456         * lib/fts.c: "an stat.st_dev": s/an/a/
39458 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
39460         intprops-tests: work around HP-UX 11.23 cc bug with constants
39461         * tests/test-intprops.c (VERIFY): New macro.
39462         (main): Use it, instead of verify, to work around the compiler bug; see
39463         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00401.html>.
39465         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
39466         See http://lists.gnu.org/r/bug-gnulib/2011-05/msg00406.html
39467         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
39468         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
39469         (_GL_REMAINDER_OVERFLOW): Use it.
39471         intprops-tests: revert unsigned part of previous change
39472         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
39473         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
39474         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
39475         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00406.html>.
39477 2011-05-19  Bruno Haible  <bruno@clisp.org>
39479         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
39480         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
39481         strerror_r() returned without filling the buffer.
39482         Reported by Eric Blake.
39484 2011-05-19  Eric Blake  <eblake@redhat.com>
39486         strerror_r: guarantee unchanged errno
39487         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
39488         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
39489         failure.
39490         * tests/test-strerror_r.c (main): Enhance test.
39492 2011-05-19  Bruno Haible  <bruno@clisp.org>
39494         strerror_r: Reorder #if blocks.
39495         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
39496         for consistency with the previous commit.
39498 2011-05-19  Bruno Haible  <bruno@clisp.org>
39500         perror: Avoid clobbering the strerror buffer when possible.
39501         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
39502         * lib/strerror.c: Include it.
39503         * modules/strerror (Files): Add lib/strerror-impl.h.
39504         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
39505         (my_strerror): New function, defined through lib/strerror-impl.h.
39506         (perror): Use it instead of strerror.
39507         * modules/perror (Files): Add lib/strerror-impl.h.
39508         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
39510 2011-05-19  Eric Blake  <eblake@redhat.com>
39512         strerror_r: fix on newer cygwin
39513         * lib/strerror_r.c (strerror_r): Cygwin now has
39514         __xpg_strerror_r, use it.
39516 2011-05-19  Bruno Haible  <bruno@clisp.org>
39518         strerror_r: Avoid clobbering the strerror buffer when possible.
39519         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
39520         (sys_nerr, sys_errlist): New declarations.
39521         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
39522         HP-UX, native Win32, IRIX, and 32-bit Solaris.
39523         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
39525 2011-05-19  Bruno Haible  <bruno@clisp.org>
39527         strerror_r: Fix test failure on mingw.
39528         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
39529         EXTEND_STRERROR_R.
39530         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
39531         macros from errno.in.h instead.
39533 2011-05-19  Eric Blake  <eblake@redhat.com>
39535         strerror: relax test for Solaris
39536         * tests/test-strerror.c (main): Permit Solaris behavior.
39537         * tests/test-strerror_r.c (main): Likewise.
39539         strerror: enforce POSIX ruling on strerror(0)
39540         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
39541         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
39542         * lib/strerror_r.c (rpl_strerror_r): Work around it.
39543         * doc/posix-functions/strerror.texi (strerror): Document it.
39544         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
39545         * tests/test-strerror.c (main): Strengthen test.
39546         * tests/test-strerror_r.c (main): Likewise.
39548 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
39550         intprop-tests: port to older and more-pedantic compilers
39551         * modules/intprops-tests (Files): Add tests/macros.h.
39552         * tests/test-intprops.c: Include macros.h.
39553         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
39554         it's no longer documented to expand to an integer constant expression.
39555         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
39556         argument is floating point, as it's no longer documented to expand
39557         to an integer constant expression in that case.
39558         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
39559         compiler bugs reported by Bruno Haible.  See
39560         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00401.html>.
39561         (U0, U1): New constants, to work around the same bugs.  Also,
39562         in tests, use e.g., "(unsigned int) 39" rather than "39u".
39564         intprops: work around C compiler bugs
39565         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
39566         bug in Sun C 5.11 2010/08/13 and other compilers; see
39567         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00401.html>.
39569         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
39570         * doc/intprops.texi (Integer Type Determination): Fix
39571         documentation for TYPE_IS_INTEGER: it returns an constant
39572         expression, not an integer constant expression.  Fix doc for
39573         TYPE_SIGNED: it returns an integer constant expression only if its
39574         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
39575         hardly worth documented that way....)
39577 2011-05-18  Bruno Haible  <bruno@clisp.org>
39579         strerror_r: Avoid clobbering the strerror buffer when possible.
39580         * lib/strerror_r.c (strerror_r): Merge the three implementations.
39581         Handle gnulib defined errno values here. When strerror() returns NULL
39582         or an empty string, return EINVAL.
39583         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
39584         gnulib defined errno values here.
39585         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
39587 2011-05-18  Eric Blake  <eblake@redhat.com>
39589         fnmatch: avoid compiler warning
39590         * lib/fnmatch_loop.c (FCT): Use correct type.
39591         Reported by Matthias Bolte.
39593 2011-05-13  Jim Meyering  <meyering@redhat.com>
39595         maint.mk: three new prohibit_<HDR>_without_use rules
39596         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
39597         (sc_prohibit_stdio-safer_without_use): Likewise.
39598         (sc_prohibit_xfreopen_without_use): Likewise.
39600 2011-05-17  Jim Meyering  <meyering@redhat.com>
39602         announce-gen: fail if the NEWS delta is empty
39603         If there's nothing noteworthy in NEWS, then either you forgot
39604         or you shouldn't be releasing.
39605         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
39607 2011-05-17  Pádraig Brady  <P@draigBrady.com>
39609         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
39610         reserved symbols starting with double underscore from the check.
39612 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
39614         intprops: add doc
39615         * doc/intprops.texi: New file, documenting intprops.
39616         * doc/gnulib.texi (Particular Modules): Include it.
39618         verify: add doc to gnulib manual and fix example
39619         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
39620         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
39621         (Compile-time Assertions): Fix example so it can't overflow.
39623 2011-05-17  Jim Meyering  <meyering@redhat.com>
39625         warnings.m4: don't usurp save_CPPFLAGS variable name
39626         * m4/warnings.m4: Prefix local temporary variable name with gl_.
39628         doc: fix typo
39629         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
39631 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
39632             Bruno Haible  <bruno@clisp.org>
39634         doc: Tweak recent change.
39635         * README (Portability guidelines): Tweak new text.
39636         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
39637         Interix 6.1.
39639 2011-05-16  Eric Blake  <eblake@redhat.com>
39641         inttypes: avoid autoconf warning
39642         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
39643         * m4/stdint.m4 (gl_STDINT_H): Likewise.
39645 2011-05-16  Sam Steingold  <sds@gnu.org>
39646         and Eric Blake  <eblake@redhat.com>
39648         vc-list-files: accept multiple directory operands
39649         * build-aux/vc-list-files: Iterate over all remaining operands.
39651 2011-05-16  Bruno Haible  <bruno@clisp.org>
39653         Fix confusion regarding deprecated modules.
39654         * modules/calloc (Status, Notice): Mark module as deprecated, not
39655         obsolete.
39656         * modules/fnmatch-posix (Status, Notice): Likewise.
39657         * modules/getdate (Status, Notice): Likewise.
39658         * modules/getopt (Status, Notice): Likewise.
39659         * modules/malloc (Status, Notice): Likewise.
39660         * modules/pipe (Status, Notice): Likewise.
39661         * modules/realloc (Status, Notice): Likewise.
39662         * modules/rename-dest-slash (Status, Notice): Likewise.
39663         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
39664         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
39665         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
39666         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
39667         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
39669 2011-05-16  Bruno Haible  <bruno@clisp.org>
39671         doc: List the target platforms.
39672         * doc/gnulib-intro.texi (Target Platforms): New section.
39673         * doc/gnulib.texi (Introduction): Update menu.
39674         * README (Portability guidelines): Refer to the new section. Update
39675         statement about oldest supported environment. Remove rationale why
39676         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
39677         unportable C89 function.
39678         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
39679         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
39681 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
39683         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
39685 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
39687         intprops-tests: new module
39688         * modules/intprops-tests, tests/test-intprops.c: New files.
39690         intprops: add safe, portable integer overflow checking
39691         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
39692         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
39693         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
39694         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
39695         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
39696         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
39697         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
39698         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
39699         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
39700         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
39701         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
39703 2011-05-12  James Youngman  <jay@gnu.org>
39705         Add a test for glibc's Bugzilla bug #12378.
39706         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
39707         doesn't allow the literal matching of a lone "[" (which is
39708         required by POSIX).
39709         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
39711 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
39713         Sync glibc change fixing Bugzilla bug #12378.
39714         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
39715         beginning and fall back to matching as normal character if the
39716         string ends before the matching ']' is found.  This is what POSIX
39717         requires.
39719 2011-05-13  Eric Blake  <eblake@redhat.com>
39721         getcwd-lgpl: relax test for FreeBSD
39722         * doc/posix-functions/getcwd.texi (getcwd): Document portability
39723         issue.
39724         * tests/test-getcwd-lgpl.c (main): Relax test.
39725         Reported by Matthias Bolte.
39727 2011-05-11  Eric Blake  <eblake@redhat.com>
39729         test-fflush: silence compiler warning
39730         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
39732 2011-05-11  Bruno Haible  <bruno@clisp.org>
39734         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
39735         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
39736         * modules/canonicalize (Depends-on): Add 'nocrash'.
39737         * modules/canonicalize-lgpl (Depends-on): Likewise.
39738         * doc/posix-functions/realpath.texi: Update platforms list.
39739         Reported by Ryan Schmidt <ryandesign@macports.org>.
39741 2011-05-11  Bruno Haible  <bruno@clisp.org>
39743         group-member: Declare function in <unistd.h>.
39744         * lib/unistd.in.h (group_member): New declaration.
39745         * lib/group-member.h: Remove file.
39746         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
39747         * tests/test-unistd-c++.cc: Check signature of group_member.
39748         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
39749         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
39750         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
39751         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
39752         HAVE_GROUP_MEMBER.
39753         * modules/group-member (Files): Remove lib/group-member.h.
39754         (Depends-on): Add unistd. Specify conditions.
39755         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
39756         (Include): Change to <unistd.h>.
39757         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
39758         HAVE_GROUP_MEMBER.
39759         * NEWS: Mention the change.
39760         * lib/euidaccess.c: Don't include group-member.h.
39762 2011-05-11  Bruno Haible  <bruno@clisp.org>
39764         group-member: Document module.
39765         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
39766         module.
39768 2011-05-11  Bruno Haible  <bruno@clisp.org>
39770         fclose: Fix mistake earlier today.
39771         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
39773 2011-05-11  Eric Blake  <eblake@redhat.com>
39775         fclose: preserve fflush errors
39776         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
39777         Reported by Jim Meyering.
39779         bootstrap: support a prereq of 'rpcgen -' on RHEL5
39780         * build-aux/bootstrap (check_versions): When no specific version
39781         is required, merely check that the app produces an exit status
39782         that indicates its existence.
39784         maint.mk: drop redundant check
39785         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
39786         the same but better.
39788 2011-05-11  Bruno Haible  <bruno@clisp.org>
39790         fclose: Fix possible link error.
39791         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
39792         unregister_shadow_fd. Improve comments.
39793         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
39794         Eric Blake.
39796 2011-05-11  Jim Meyering  <meyering@redhat.com>
39798         maint.mk: improve "can not" detection and generalize rule name
39799         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
39800         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
39801         Use the same technique as in sc_prohibit_doubled_word, so that
39802         we recognize "can not" also when the words are separated by a newline.
39803         Suggested by Eric Blake.
39804         (perl_filename_lineno_text_): Define.  Factored out of...
39805         (prohibit_doubled_word_): ...here.  Use the new definition.
39806         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
39807         (prohibit_undesirable_word_seq_RE_): New overridable variable.
39808         (ignore_undesirable_word_sequence_RE_): New overridable variable.
39810 2011-05-10  Eric Blake  <eblake@redhat.com>
39812         fclose: avoid double close race when possible
39813         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
39814         all but WINDOWS_SOCKETS.
39816 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
39818         openat: correct new comment
39819         * lib/openat-proc.c (openat_proc_name): Correct the comment.
39821 2011-05-10  Jim Meyering  <meyering@redhat.com>
39823         openat: add comments
39824         * lib/openat-proc.c (openat_proc_name): Add comments,
39825         mostly from Eric Blake.
39827 2011-05-09  Eric Blake  <eblake@redhat.com>
39829         openat: reduce syscalls in first probe of /proc
39830         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
39831         be a directory.  Simplify the probe for .. bugs.
39832         * modules/openat (Depends-on): Drop same-inode.
39833         Reported by Bastien ROUCARIES.
39835 2011-05-09  Jim Meyering  <meyering@redhat.com>
39837         maint.mk: change semantics/name of tight_scope variables
39838         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
39839         Rename variables to align with semantics that make them more useful.
39841         maint.mk: tweak new rule's name not to impinge
39842         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
39843         (sc_tight_scope): Use new rule name rather than $@-0.
39845         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
39846         * top/maint.mk (sc_tight_scope): New rule.
39847         (sc_tight_scope-0): New rule, ifdef'd out.
39848         (_gl_TS_dir): Default.
39849         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
39850         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
39852 2011-05-09  Simon Josefsson  <simon@josefsson.org>
39854         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
39855         Haible <bruno@clisp.org>.
39857 2011-05-08  Bruno Haible  <bruno@clisp.org>
39859         Comments.
39860         * m4/isnanf.m4: Add comment.
39861         * m4/isnanl.m4: Likewise.
39863 2011-05-08  Bruno Haible  <bruno@clisp.org>
39865         glob: Remove obsolete macro.
39866         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
39868 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
39870         intprops: Sun C 5.11 supports __typeof__
39871         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
39872         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
39873         which is new.
39874         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
39876         intprops: switch to usual gnulib indenting and naming
39877         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
39878         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
39880         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
39882 2011-05-08  Jim Meyering  <meyering@redhat.com>
39884         maint.mk: suppress "Entering/Leaving directory" diag in announcement
39885         * top/maint.mk (release-prep): Use make's --no-print-directory
39886         option when generating the announcement.  This eliminates the
39887         pesky "make[2]: Entering/Leaving directory" diagnostics in the
39888         generated announcement template.
39890 2011-05-08  Bruno Haible  <bruno@clisp.org>
39892         tzset: Fix gettimeofday wrapper on Solaris 2.6.
39893         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
39894         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
39896 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
39898         ignore-value, verify: Omit include files from lib_SOURCES.
39899         * modules/ignore-value, modules/verify (Makefile.am):
39900         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
39901         that leads Automake to duplicate use of am__objects_... variables
39902         in Makefile.in.  See
39903         <http://lists.gnu.org/r/emacs-devel/2011-05/msg00257.html>.
39905 2011-05-07  Bruno Haible  <bruno@clisp.org>
39907         fclose: Simplify autoconf macro.
39908         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
39909         defined.
39911 2011-05-07  Bruno Haible  <bruno@clisp.org>
39913         canonicalize-lgpl: Fix autoconf macro ordering bug.
39914         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
39915         gl_STDLIB_H_DEFAULTS.
39917 2011-05-06  Eric Blake  <eblake@redhat.com>
39919         maintainer-makefile: make sc_po_check easier to tune
39920         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
39921         to probe for strings, such as an alternate location for gnulib.
39923         fclose: guarantee behavior on seekable stdin
39924         * modules/fclose (Depends-on): Add fflush.
39925         * doc/posix-functions/fclose.texi (fclose): Document this.
39926         * tests/test-fclose.c (main): Make test for this unconditional.
39928 2011-05-06  Bruno Haible  <bruno@clisp.org>
39930         fflush, fpurge: Relicense under LGPLv2+.
39931         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
39932         * modules/fpurge (License): Likewise.
39933         With permission from Eric Blake and Jim Meyering.
39934         Suggested by Eric Blake.
39936 2011-05-06  Karl Berry  <karl@gnu.org>
39938         * MODULES.html.sh (func_all_modules): remove exit.
39940 2011-05-06  Jim Meyering  <meyering@redhat.com>
39942         maint.mk: use info-gnu@ as the default only for a stable release
39943         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
39944         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
39945         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
39946         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
39948 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
39950         assert-h: new module, which supports C1X-style static_assert
39951         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
39952         * lib/verify.h: Revamp so that this can be copied into assert.h,
39953         while retaining the ability to use it standalone as before.
39954         Rename private identifiers so as not to encroach on the
39955         standard C namespace, since this is now used by assert.h.
39956         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
39957         the old verify_true.
39958         (_GL_VERIFY_TRUE): New macro, with much of the contents of
39959         the old verify_true.  Use _GL_VERIFY_TYPE.
39960         (_GL_VERIFY): New macro, with much of the contents of the old verify.
39961         (static_assert): New macro, if _GL_STATIC_ASSERT_H
39962         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
39963         defined when this file is copied into the replacement assert.h.
39964         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
39965         and _Static_assert is not built in.
39966         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
39967         defined, and use the new macros mentioned above.
39968         * doc/posix-headers/assert.texi: Document this.
39970 2011-05-05  Bruno Haible  <bruno@clisp.org>
39972         fclose, fflush: Respect rules for use of AC_LIBOBJ.
39973         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
39974         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
39975         gl_REPLACE_FCLOSE here.
39976         * modules/fflush (Depends-on): Remove fclose.
39977         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
39978         combination with module 'fclose'.
39980 2011-05-05  Bruno Haible  <bruno@clisp.org>
39982         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
39983         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
39984         gl_FUNC_FFLUSH.
39985         (gl_FUNC_FFLUSH): Use it.
39986         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
39987         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
39988         gl_REPLACE_FSEEKO here.
39990 2011-05-05  Bruno Haible  <bruno@clisp.org>
39992         tzset: Relicense under LGPL.
39993         * modules/tzset (License): Change to LGPL.
39994         No agreement needed; it's a no-op.
39996         strtoimax, strtoumax: Relicense under LGPL.
39997         * modules/strtoimax (License): Change to LGPL.
39998         * modules/strtoumax (License): Likewise.
39999         With permission from Jim Meyering, Paul Eggert:
40000         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00124.html>
40001         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00109.html>
40003         getgroups: Relicense under LGPL.
40004         * modules/getgroups (License): Change to LGPL.
40005         With permission from Jim Meyering, Paul Eggert, Eric Blake:
40006         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00111.html>
40007         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00148.html>
40008         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>
40010         nanosleep: Relicense under LGPL.
40011         * modules/nanosleep (License): Change to LGPL.
40012         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
40013         Haible:
40014         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00111.html>
40015         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00148.html>
40016         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>
40017         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00131.html>
40019         futimens: Relicense under LGPL.
40020         * modules/futimens (License): Change to LGPL.
40021         With permission from Eric Blake:
40022         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>
40024         fflush: Relicense under LGPL.
40025         * modules/fflush (License): Change to LGPL.
40026         With permission from Eric Blake, Bruno Haible, Jim Meyering:
40027         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>
40028         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00131.html>
40029         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00133.html>
40031         tmpfile: Relicense under LGPL.
40032         * modules/tmpfile (License): Change to LGPL.
40033         With permission from Ben Pfaff:
40034         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00185.html>
40036         isfinite: Relicense under LGPL.
40037         * modules/isfinite (License): Change to LGPL.
40038         With permission from Ben Pfaff, Bruno Haible:
40039         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00185.html>
40040         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00130.html>
40042         acosl..tanl: Relicense under LGPL.
40043         * modules/acosl (License): Change to LGPL.
40044         * modules/asinl (License): Likewise.
40045         * modules/atanl (License): Likewise.
40046         * modules/cosl (License): Likewise.
40047         * modules/expl (License): Likewise.
40048         * modules/logl (License): Likewise.
40049         * modules/sinl (License): Likewise.
40050         * modules/sqrtl (License): Likewise.
40051         * modules/tanl (License): Likewise.
40052         Source code originally from glibc and Paolo Bonzini. Agreements:
40053         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00137.html>
40054         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00128.html>
40056 2011-05-05  Bruno Haible  <bruno@clisp.org>
40058         signal: Define sighandler_t.
40059         * lib/signal.in.h (sighandler_t): New type.
40060         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
40061         whether sighandler_t is defined.
40062         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
40063         * modules/signal (Depends-on): Add extensions.
40064         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
40065         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
40066         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
40068 2011-05-05  Eric Blake  <eblake@redhat.com>
40070         maint: remove useless REPLACE_*_H macros
40071         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
40072         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
40073         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
40074         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
40075         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
40076         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
40077         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
40078         * m4/btowc.m4: Update callers.
40079         * m4/dirfd.m4: Likewise.
40080         * m4/duplocale.m4: Likewise.
40081         * m4/fchdir.m4: Likewise.
40082         * m4/fdopendir.m4: Likewise.
40083         * m4/inet_ntop.m4: Likewise.
40084         * m4/inet_pton.m4: Likewise.
40085         * m4/ioctl.m4: Likewise.
40086         * m4/mbrlen.m4: Likewise.
40087         * m4/mbrtowc.m4: Likewise.
40088         * m4/mbsinit.m4: Likewise.
40089         * m4/mbsnrtowcs.m4: Likewise.
40090         * m4/mbsrtowcs.m4: Likewise.
40091         * m4/poll.m4: Likewise.
40092         * m4/setlocale.m4: Likewise.
40093         * m4/wcrtomb.m4: Likewise.
40094         * m4/wcsnrtombs.m4: Likewise.
40095         * m4/wcsrtombs.m4: Likewise.
40096         * m4/wctob.m4: Likewise.
40097         * m4/wcwidth.m4: Likewise.
40098         * modules/posix_spawn: Likewise.
40099         * modules/posix_spawn_file_actions_addclose: Likewise.
40100         * modules/posix_spawn_file_actions_adddup2: Likewise.
40101         * modules/posix_spawn_file_actions_addopen: Likewise.
40102         * modules/posix_spawn_file_actions_destroy: Likewise.
40103         * modules/posix_spawn_file_actions_init: Likewise.
40104         * modules/posix_spawnattr_destroy: Likewise.
40105         * modules/posix_spawnattr_getflags: Likewise.
40106         * modules/posix_spawnattr_getpgroup: Likewise.
40107         * modules/posix_spawnattr_getschedparam: Likewise.
40108         * modules/posix_spawnattr_getschedpolicy: Likewise.
40109         * modules/posix_spawnattr_getsigdefault: Likewise.
40110         * modules/posix_spawnattr_getsigmask: Likewise.
40111         * modules/posix_spawnattr_init: Likewise.
40112         * modules/posix_spawnattr_setflags: Likewise.
40113         * modules/posix_spawnattr_setpgroup: Likewise.
40114         * modules/posix_spawnattr_setschedparam: Likewise.
40115         * modules/posix_spawnattr_setschedpolicy: Likewise.
40116         * modules/posix_spawnattr_setsigdefault: Likewise.
40117         * modules/posix_spawnattr_setsigmask: Likewise.
40118         * modules/posix_spawnp: Likewise.
40120 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
40122         Add option to do-release-commit-and-tag to specify branch.
40123         * build-aux/do-release-commit-and-tag: Add --branch.
40125 2011-05-03  Bruno Haible  <bruno@clisp.org>
40127         Avoid unnecessary compilation units, through conditional dependencies.
40128         * modules/accept (Depends-on): Add conditions to the dependencies.
40129         * modules/acosl (Depends-on): Likewise.
40130         * modules/argz (Depends-on): Likewise.
40131         * modules/asinl (Depends-on): Likewise.
40132         * modules/atanl (Depends-on): Likewise.
40133         * modules/atoll (Depends-on): Likewise.
40134         * modules/bind (Depends-on): Likewise.
40135         * modules/btowc (Depends-on): Likewise.
40136         * modules/canonicalize-lgpl (Depends-on): Likewise.
40137         * modules/ceil (Depends-on): Likewise.
40138         * modules/ceilf (Depends-on): Likewise.
40139         * modules/ceill (Depends-on): Likewise.
40140         * modules/chdir-long (Depends-on): Likewise.
40141         * modules/chown (Depends-on): Likewise.
40142         * modules/close (Depends-on): Likewise.
40143         * modules/connect (Depends-on): Likewise.
40144         * modules/cosl (Depends-on): Likewise.
40145         * modules/dirfd (Depends-on): Likewise.
40146         * modules/dprintf (Depends-on): Likewise.
40147         * modules/dprintf-posix (Depends-on): Likewise.
40148         * modules/error (Depends-on): Likewise.
40149         * modules/euidaccess (Depends-on): Likewise.
40150         * modules/expl (Depends-on): Likewise.
40151         * modules/faccessat (Depends-on): Likewise.
40152         * modules/fchdir (Depends-on): Likewise.
40153         * modules/fclose (Depends-on): Likewise.
40154         * modules/fcntl (Depends-on): Likewise.
40155         * modules/fdopendir (Depends-on): Likewise.
40156         * modules/fflush (Depends-on): Likewise.
40157         * modules/floor (Depends-on): Likewise.
40158         * modules/floorf (Depends-on): Likewise.
40159         * modules/floorl (Depends-on): Likewise.
40160         * modules/fnmatch (Depends-on): Likewise.
40161         * modules/fopen (Depends-on): Likewise.
40162         * modules/fprintf-posix (Depends-on): Likewise.
40163         * modules/frexp (Depends-on): Likewise.
40164         * modules/frexp-nolibm (Depends-on): Likewise.
40165         * modules/frexpl (Depends-on): Likewise.
40166         * modules/frexpl-nolibm (Depends-on): Likewise.
40167         * modules/fseek (Depends-on): Likewise.
40168         * modules/fsusage (Depends-on): Likewise.
40169         * modules/ftell (Depends-on): Likewise.
40170         * modules/ftello (Depends-on): Likewise.
40171         * modules/futimens (Depends-on): Likewise.
40172         * modules/getcwd (Depends-on): Likewise.
40173         * modules/getcwd-lgpl (Depends-on): Likewise.
40174         * modules/getdelim (Depends-on): Likewise.
40175         * modules/getdomainname (Depends-on): Likewise.
40176         * modules/getgroups (Depends-on): Likewise.
40177         * modules/gethostname (Depends-on): Likewise.
40178         * modules/getline (Depends-on): Likewise.
40179         * modules/getlogin_r (Depends-on): Likewise.
40180         * modules/getopt-posix (Depends-on): Likewise.
40181         * modules/getpeername (Depends-on): Likewise.
40182         * modules/getsockname (Depends-on): Likewise.
40183         * modules/getsockopt (Depends-on): Likewise.
40184         * modules/getsubopt (Depends-on): Likewise.
40185         * modules/getusershell (Depends-on): Likewise.
40186         * modules/glob (Depends-on): Likewise.
40187         * modules/grantpt (Depends-on): Likewise.
40188         * modules/iconv_open (Depends-on): Likewise.
40189         * modules/iconv_open-utf (Depends-on): Likewise.
40190         * modules/inet_ntop (Depends-on): Likewise.
40191         * modules/inet_pton (Depends-on): Likewise.
40192         * modules/ioctl (Depends-on): Likewise.
40193         * modules/isapipe (Depends-on): Likewise.
40194         * modules/isfinite (Depends-on): Likewise.
40195         * modules/isinf (Depends-on): Likewise.
40196         * modules/lchown (Depends-on): Likewise.
40197         * modules/ldexpl (Depends-on): Likewise.
40198         * modules/link (Depends-on): Likewise.
40199         * modules/linkat (Depends-on): Likewise.
40200         * modules/listen (Depends-on): Likewise.
40201         * modules/logl (Depends-on): Likewise.
40202         * modules/lstat (Depends-on): Likewise.
40203         * modules/mbrlen (Depends-on): Likewise.
40204         * modules/mbrtowc (Depends-on): Likewise.
40205         * modules/mbsinit (Depends-on): Likewise.
40206         * modules/mbsnrtowcs (Depends-on): Likewise.
40207         * modules/mbsrtowcs (Depends-on): Likewise.
40208         * modules/mbtowc (Depends-on): Likewise.
40209         * modules/memcmp (Depends-on): Likewise.
40210         * modules/mkdir (Depends-on): Likewise.
40211         * modules/mkdtemp (Depends-on): Likewise.
40212         * modules/mkfifo (Depends-on): Likewise.
40213         * modules/mkfifoat (Depends-on): Likewise.
40214         * modules/mknod (Depends-on): Likewise.
40215         * modules/mkostemp (Depends-on): Likewise.
40216         * modules/mkostemps (Depends-on): Likewise.
40217         * modules/mkstemp (Depends-on): Likewise.
40218         * modules/mkstemps (Depends-on): Likewise.
40219         * modules/mktime (Depends-on): Likewise.
40220         * modules/nanosleep (Depends-on): Likewise.
40221         * modules/open (Depends-on): Likewise.
40222         * modules/openat (Depends-on): Likewise.
40223         * modules/perror (Depends-on): Likewise.
40224         * modules/poll (Depends-on): Likewise.
40225         * modules/popen (Depends-on): Likewise.
40226         * modules/posix_spawn (Depends-on): Likewise.
40227         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
40228         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
40229         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
40230         * modules/posix_spawnp (Depends-on): Likewise.
40231         * modules/pread (Depends-on): Likewise.
40232         * modules/printf-posix (Depends-on): Likewise.
40233         * modules/ptsname (Depends-on): Likewise.
40234         * modules/putenv (Depends-on): Likewise.
40235         * modules/pwrite (Depends-on): Likewise.
40236         * modules/readline (Depends-on): Likewise.
40237         * modules/readlink (Depends-on): Likewise.
40238         * modules/readlinkat (Depends-on): Likewise.
40239         * modules/recv (Depends-on): Likewise.
40240         * modules/recvfrom (Depends-on): Likewise.
40241         * modules/regex (Depends-on): Likewise.
40242         * modules/remove (Depends-on): Likewise.
40243         * modules/rename (Depends-on): Likewise.
40244         * modules/renameat (Depends-on): Likewise.
40245         * modules/rmdir (Depends-on): Likewise.
40246         * modules/round (Depends-on): Likewise.
40247         * modules/roundf (Depends-on): Likewise.
40248         * modules/roundl (Depends-on): Likewise.
40249         * modules/rpmatch (Depends-on): Likewise.
40250         * modules/select (Depends-on): Likewise.
40251         * modules/send (Depends-on): Likewise.
40252         * modules/sendto (Depends-on): Likewise.
40253         * modules/setenv (Depends-on): Likewise.
40254         * modules/setlocale (Depends-on): Likewise.
40255         * modules/setsockopt (Depends-on): Likewise.
40256         * modules/shutdown (Depends-on): Likewise.
40257         * modules/sigaction (Depends-on): Likewise.
40258         * modules/signbit (Depends-on): Likewise.
40259         * modules/sigprocmask (Depends-on): Likewise.
40260         * modules/sinl (Depends-on): Likewise.
40261         * modules/sleep (Depends-on): Likewise.
40262         * modules/snprintf (Depends-on): Likewise.
40263         * modules/snprintf-posix (Depends-on): Likewise.
40264         * modules/socket (Depends-on): Likewise.
40265         * modules/sprintf-posix (Depends-on): Likewise.
40266         * modules/sqrtl (Depends-on): Likewise.
40267         * modules/stat (Depends-on): Likewise.
40268         * modules/strchrnul (Depends-on): Likewise.
40269         * modules/strdup-posix (Depends-on): Likewise.
40270         * modules/strerror (Depends-on): Likewise.
40271         * modules/strerror_r-posix (Depends-on): Likewise.
40272         * modules/strndup (Depends-on): Likewise.
40273         * modules/strnlen (Depends-on): Likewise.
40274         * modules/strptime (Depends-on): Likewise.
40275         * modules/strsep (Depends-on): Likewise.
40276         * modules/strsignal (Depends-on): Likewise.
40277         * modules/strstr-simple (Depends-on): Likewise.
40278         * modules/strtod (Depends-on): Likewise.
40279         * modules/strtoimax (Depends-on): Likewise.
40280         * modules/strtok_r (Depends-on): Likewise.
40281         * modules/strtoumax (Depends-on): Likewise.
40282         * modules/symlink (Depends-on): Likewise.
40283         * modules/symlinkat (Depends-on): Likewise.
40284         * modules/tanl (Depends-on): Likewise.
40285         * modules/tcgetsid (Depends-on): Likewise.
40286         * modules/tmpfile (Depends-on): Likewise.
40287         * modules/trunc (Depends-on): Likewise.
40288         * modules/truncf (Depends-on): Likewise.
40289         * modules/truncl (Depends-on): Likewise.
40290         * modules/uname (Depends-on): Likewise.
40291         * modules/unlink (Depends-on): Likewise.
40292         * modules/unlockpt (Depends-on): Likewise.
40293         * modules/unsetenv (Depends-on): Likewise.
40294         * modules/usleep (Depends-on): Likewise.
40295         * modules/utimensat (Depends-on): Likewise.
40296         * modules/vasprintf (Depends-on): Likewise.
40297         * modules/vdprintf (Depends-on): Likewise.
40298         * modules/vdprintf-posix (Depends-on): Likewise.
40299         * modules/vfprintf-posix (Depends-on): Likewise.
40300         * modules/vprintf-posix (Depends-on): Likewise.
40301         * modules/vsnprintf (Depends-on): Likewise.
40302         * modules/vsnprintf-posix (Depends-on): Likewise.
40303         * modules/vsprintf-posix (Depends-on): Likewise.
40304         * modules/wcrtomb (Depends-on): Likewise.
40305         * modules/wcscasecmp (Depends-on): Likewise.
40306         * modules/wcscspn (Depends-on): Likewise.
40307         * modules/wcsdup (Depends-on): Likewise.
40308         * modules/wcsncasecmp (Depends-on): Likewise.
40309         * modules/wcsnrtombs (Depends-on): Likewise.
40310         * modules/wcspbrk (Depends-on): Likewise.
40311         * modules/wcsrtombs (Depends-on): Likewise.
40312         * modules/wcsspn (Depends-on): Likewise.
40313         * modules/wcsstr (Depends-on): Likewise.
40314         * modules/wcstok (Depends-on): Likewise.
40315         * modules/wcswidth (Depends-on): Likewise.
40316         * modules/wctob (Depends-on): Likewise.
40317         * modules/wctomb (Depends-on): Likewise.
40318         * modules/wctype (Depends-on): Likewise.
40319         * modules/wcwidth (Depends-on): Likewise.
40320         * modules/write (Depends-on): Likewise.
40322 2011-05-03  Bruno Haible  <bruno@clisp.org>
40324         Support for conditional dependencies.
40325         * doc/gnulib.texi (Module description): Document the syntax of
40326         conditional dependencies.
40327         * gnulib-tool: New option --conditional-dependencies.
40328         (func_usage): Document it.
40329         (cond_dependencies): New variable.
40330         (func_get_automake_snippet_conditional,
40331         func_get_automake_snippet_unconditional): New functions, extracted from
40332         func_get_automake_snippet.
40333         (func_get_automake_snippet): Use them.
40334         (sed_first_32_chars): New variable.
40335         (func_module_shellfunc_name): New function.
40336         (func_module_shellvar_name): New function.
40337         (func_module_conditional_name): New function.
40338         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
40339         func_cond_module_condition): New functions.
40340         (func_modules_transitive_closure): Add support for conditional
40341         dependencies.
40342         (func_emit_lib_Makefile_am): For a conditional module, enclose the
40343         conditional automake snippet in an automake conditional.
40344         (func_emit_autoconf_snippets): Emit shell functions that contain the
40345         code for conditional modules.
40346         (func_import, func_create_testdir): Update specification.
40348 2011-05-03  Eric Blake  <eblake@redhat.com>
40350         test-getaddrinfo: report error information
40351         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
40353 2011-05-03  Jim Meyering  <meyering@redhat.com>
40355         bootstrap: avoid build failure when $GZIP is set
40356         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
40357         program name.  If defined at all, it is supposed to list gzip options.
40358         Reported by Alan Curry in http://debbugs.gnu.org/8609
40360 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
40362         readme-release: new module with release instructions
40363         * modules/readme-release: New module.
40364         * top/README-release: New file, from coreutils, grep, diffutils.
40365         * MODULES.html.sh (Support for maintaining and releasing): Add it.
40367 2011-05-02  Eric Blake  <eblake@redhat.com>
40369         fflush: also replace fclose when fixing fflush
40370         * modules/fflush (Depends-on): Add fclose.
40371         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
40372         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
40373         memstreams with no backing fd.
40374         * doc/posix-functions/fclose.texi (fclose): Document the use of
40375         fflush module to fix the bug.
40376         * tests/test-fclose.c (main): Relax test when fclose is used in
40377         isolation.
40379         fclose: add some tests
40380         * modules/fclose-tests: New test module.
40381         * tests/test-fclose.c: New file.
40382         * doc/posix-functions/fclose.texi (fclose): Document the bug.
40384         fclose: reduced dependencies
40385         * modules/fclose (Depends-on): Switch from fflush/fseeko to
40386         simpler lseek.
40387         * lib/fclose.c (rpl_fclose): Likewise.
40388         Reported by Simon Josefsson.
40390         exit: drop remaining clients
40391         * modules/argmatch (Depends-on): Replace exit with stdlib.
40392         * modules/copy-file (Depends-on): Likewise.
40393         * modules/execute (Depends-on): Likewise.
40394         * modules/exitfail (Depends-on): Likewise.
40395         * modules/obstack (Depends-on): Likewise.
40396         * modules/pagealign_alloc (Depends-on): Likewise.
40397         * modules/pipe-filter-gi (Depends-on): Likewise.
40398         * modules/pipe-filter-ii (Depends-on): Likewise.
40399         * modules/savewd (Depends-on): Likewise.
40400         * modules/spawn-pipe (Depends-on): Likewise.
40401         * modules/wait-process (Depends-on): Likewise.
40402         * modules/xsetenv (Depends-on): Likewise.
40403         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
40404         * modules/git-merge-changelog (Depends-on): Likewise.
40405         * modules/long-options (Depends-on): Likewise.
40406         * modules/pt_chown (Depends-on): Likewise.
40407         * modules/sysexits (Depends-on): Likewise.
40409         freading: relax license from LGPLv3+ to LGPLv2+
40410         * modules/freading (License): Relax LGPL version.
40412 2011-05-02  Bruno Haible  <bruno@clisp.org>
40414         fchdir: Remove unused dependencies.
40415         * modules/fchdir (Depends-on): Remove include_next.
40417 2011-05-02  Bruno Haible  <bruno@clisp.org>
40419         gnulib-tool: Refactor.
40420         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
40421         from func_emit_autoconf_snippets.
40422         (func_emit_autoconf_snippets): Use it.
40424 2011-05-02  Simon Josefsson  <simon@josefsson.org>
40426         * NEWS: Document removal of 'exit'.
40427         * modules/exit: Remove file.
40429 2011-05-01  Bruno Haible  <bruno@clisp.org>
40431         Update DEPENDENCIES.
40432         * DEPENDENCIES (gettext): Recommend the newest release.
40433         Reported by Simon Josefsson.
40435 2011-05-01  Bruno Haible  <bruno@clisp.org>
40437         gnulib-tool: Reduce code duplication.
40438         * gnulib-tool (func_emit_autoconf_snippets): New function.
40439         (func_import, func_create_testdir): Use it.
40441 2011-04-30  Eric Blake  <eblake@redhat.com>
40443         fclose: don't fail on non-seekable input stream
40444         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
40445         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
40446         since fflush is allowed to fail in that case.
40448 2011-04-30  Bruno Haible  <bruno@clisp.org>
40450         dup3: cleanup
40451         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
40453 2011-04-30  Bruno Haible  <bruno@clisp.org>
40455         netdb: Make it work in C++ mode.
40456         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
40457         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
40458         module.
40459         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
40460         gl_MODULE_INDICATOR_FOR_TESTS.
40461         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
40462         * modules/netdb-c++-tests: New file.
40463         * tests/test-netdb-c++.cc: New file.
40465 2011-04-30  Bruno Haible  <bruno@clisp.org>
40467         New modules 'vfscanf', 'vscanf'.
40468         * modules/vfscanf: New file.
40469         * modules/vscanf: New file.
40470         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
40471         here.
40472         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
40473         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
40475 2011-04-30  Bruno Haible  <bruno@clisp.org>
40477         passfd: Add comments.
40478         * lib/passfd.c: Add comments about platforms.
40480 2011-04-30  Bruno Haible  <bruno@clisp.org>
40482         sys_uio: Make <sys/uio.h> self-contained.
40483         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
40484         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
40486 2011-04-30  Bruno Haible  <bruno@clisp.org>
40488         sys_socket: Ensure 'struct iovec' definition.
40489         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
40490         <sys/socket.h>.
40491         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
40493 2011-04-30  Bruno Haible  <bruno@clisp.org>
40495         sys_uio: Protect definition of 'struct iovec'.
40496         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
40497         it as a C struct.
40499 2011-04-30  Bruno Haible  <bruno@clisp.org>
40501         manywarnings: fix indentation
40502         * m4/manywarnings.m4: Indent by 2 spaces consistently.
40504 2011-04-30  Pádraig Brady  <P@draigBrady.com>
40506         manywarnings: add -Wno-missing-field-initializers if needed.
40507         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
40508         option if it's needed to allow initialization with { 0, }
40510 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
40512         announce-gen: cosmetic improvement
40513         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
40515 2011-04-29  Jim Meyering  <meyering@redhat.com>
40517         vc-list-files: indent with spaces, not TABs
40518         * build-aux/vc-list-files: Convert leading TABs to spaces,
40519         to match the style of most other files in gnulib.
40521         announce-gen: indent with spaces, not TABs
40522         * build-aux/announce-gen: Convert all TABs to spaces, to match
40523         the style of most other files in gnulib.
40525 2011-04-29  Eric Blake  <eblake@redhat.com>
40527         quotearg: avoid uninitialized variable use
40528         * lib/quotearg.c (quoting_options_from_style): Initialize
40529         remaining fields, and ensure that custom styles are only used via
40530         quoting_options rather than quoting_style.
40532 2011-04-29  Jim Meyering  <meyering@redhat.com>
40534         maint.mk: remove unused VC-tag variable
40535         * top/maint.mk (VC-tag): Remove unused variable.
40537 2011-04-29  Bruno Haible  <bruno@clisp.org>
40539         netdb: fix gai_strerror replacements
40540         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
40541         * modules/netdb: Substitute it.
40543 2011-04-29  Jim Meyering  <meyering@redhat.com>
40545         test-getcwd.c: avoid new set-but-not-used warning
40546         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
40547         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
40548         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
40549         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
40551         test-hash.c: avoid a new shadowing warning
40552         * tests/test-hash.c (main): Don't shadow "dup".
40554 2011-04-28  Eric Blake  <eblake@redhat.com>
40556         getaddrinfo: fix gai_strerror signature
40557         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
40558         and work around mingw with UNICODE defined.
40559         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
40560         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
40561         * modules/netdb (Makefile.am): Substitute it.
40562         * lib/netdb.in.h (gai_strerror): Declare replacement.
40563         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
40564         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
40565         the fix.
40567         getsockopt: avoid compiler warning
40568         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
40569         Reported by Matthias Bolte.
40571         tests: drop unused link dependency
40572         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
40573         * modules/dirent-safer-tests (Makefile.am): Likewise.
40574         * modules/fdopendir-tests (Makefile.am): Likewise.
40575         * modules/mkfifoat-tests (Makefile.am): Likewise.
40576         * modules/openat-safer-tests (Makefile.am): Likewise.
40577         * modules/openat-tests (Makefile.am): Likewise.
40578         * modules/readlinkat-tests (Makefile.am): Likewise.
40579         * modules/symlinkat-tests (Makefile.am): Likewise.
40580         * modules/linkat-tests (Makefile.am): Likewise.
40581         (Depends-on): Switch to filenamecat-lgpl.
40582         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
40583         LIBINTL.
40584         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
40585         * tests/test-linkat.c (main): Don't require xalloc.
40587         hash, mgetgroups: drop xalloc dependency
40588         * lib/hash.c (includes): Adjust includes.
40589         * lib/mgetgroups.c (includes): Likewise.
40590         (xgetgroups): Move...
40591         * lib/xgetgroups.c: ...to new file.
40592         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
40593         * modules/xgetgroups: New file, split from...
40594         * modules/mgetgroups: ...here.
40595         (Depends-on): Add xalloc-oversized.
40596         * modules/hash (Depends-on): Likewise.
40597         * modules/hash-tests (Depends-on): Drop xalloc.
40598         (test_hash_LDADD): Drop unused library.
40599         * tests/test-hash.c (main): Break xalloc dependency.
40600         (includes): Drop unused include.
40602         xalloc-oversized: new module
40603         * modules/xalloc-oversized: New module.
40604         * modules/xalloc (Depends-on): Add it.
40605         * lib/xalloc.h (xalloc_oversized): Move...
40606         * lib/xalloc-oversized.h: ...into new file.
40608         utimecmp: drop dependency on xmalloc
40609         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
40610         due to memory pressure.
40611         * modules/utimecmp (Depends-on): Drop xalloc.
40613 2011-04-27  Eric Blake  <eblake@redhat.com>
40615         getcwd: fix mingw bugs
40616         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
40617         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
40618         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
40620 2011-04-27  Bruno Haible  <bruno@clisp.org>
40622         mkstemps: Ensure declaration on MacOS X 10.5.
40623         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
40624         * doc/glibc-functions/mkstemps.texi: Document header file problem on
40625         MacOS X.
40627 2011-04-27  Bruno Haible  <bruno@clisp.org>
40629         mkstemp: More documentation.
40630         * doc/posix-functions/mkstemp.texi: Document header file problem on
40631         MacOS X.
40633 2011-04-27  Bruno Haible  <bruno@clisp.org>
40635         mkstemp: Tweak configure message when cross-compiling.
40636         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
40637         result as a guess.
40639 2011-04-27  Bruno Haible  <bruno@clisp.org>
40641         clean-temp: Clarify what it does.
40642         * lib/clean-temp.h: Add more comments.
40643         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
40644         module.
40645         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
40646         * doc/glibc-functions/mkstemps.texi: Likewise.
40647         * doc/glibc-functions/mkostemps.texi: Likewise.
40649 2011-04-27  Eric Blake  <eblake@redhat.com>
40651         fchdir: avoid extra chdir and fix test
40652         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
40653         getcwd-lgpl.
40654         * lib/fchdir.c (get_name): Any absolute name will do; it does not
40655         have to be canonical.
40656         (canonicalize_file_name): Drop unused macro.
40657         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
40659         filenamecat-lgpl: fix licence
40660         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
40661         when it was first created.
40663         linkat, renameat: add missing dependency
40664         * modules/linkat (Depends-on): Require getcwd-lgpl.
40665         * modules/renameat (Depends-on): Likewise.
40667         tests: reduce dependencies
40668         * tests/test-linkat.c (main): Use lighter-weight getcwd.
40669         * tests/test-renameat.c (main): Likewise.
40670         * modules/linkat-tests (Depends-on): Relax dependency.
40671         * modules/renameat-tests (Depends-on): Likewise.
40672         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
40673         dependency explicit.
40675         save-cwd: reduce default dependency
40676         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
40677         * lib/save-cwd.c: Update comments.
40678         * NEWS: Document the semantic change.
40680         getcwd: enhance tests
40681         * tests/test-getcwd-lgpl.c: New file, taken from...
40682         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
40683         repeat long path stress tests from m4 probe.
40684         * modules/getcwd-lgpl-tests: New module.
40685         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
40686         * m4/getcwd-abort-bug.m4: Update comment.
40687         * m4/getcwd-path-max.m4: Likewise.
40689         getcwd-lgpl: new module
40690         * modules/getcwd-lgpl: New module.
40691         * lib/getcwd-lgpl.c: New file.
40692         * doc/posix-functions/getcwd.texi (getcwd): Document it.
40693         * MODULES.html.sh (lacking POSIX:2008): Likewise.
40694         * modules/getcwd (configure.ac): Set C witness.
40695         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
40697         getcwd: tweak comments
40698         * m4/getcwd-abort-bug.m4: Fix comments.
40699         * m4/getcwd-path-max.m4: Likewise.
40700         * m4/getcwd.m4: Likewise.
40702 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
40703         and Eric Blake  <eblake@redhat.com>
40705         mkstemp: replace if system version uses wrong permissions
40706         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
40707         read/write mode bits set in file created by mkstemp.
40708         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
40710 2011-04-27  Eric Blake  <eblake@redhat.com>
40712         passfd: avoid compiler warning
40713         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
40714         Reported by Laine Stump.
40716 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
40718         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
40719         required by the NetBSD (and perhaps other 4.4BSD derived) join.
40721 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
40722         and Eric Blake  <eblake@redhat.com>
40724         mkstemp: mention clean-temp module
40725         * lib/mkstemp.c: Add comment.
40726         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
40728 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
40730         inttypes: also provide default values for 32-bit tests
40731         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
40732         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
40734 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
40736         strtoumax: remove dependency on strtoimax
40737         This is like the strtoull change of yesterday.
40738         * modules/strtoumax (Files): Add lib/strtoimax.c.
40739         (Depends-on): Remove strtoimax and add verify.
40741         inttypes-incomplete: new module
40742         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
40743         all but the PRI* and SCN* parts of gl_INTTYPES_H.
40744         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
40745         of gl_INTTYPES_H.
40746         (gl_INTTYPES_H): Rewrite in terms of these new macros.
40747         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
40748         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
40749         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
40750         * modules/strtoumax, modules/xstrtol (Depends-on):
40751         Depend on inttypes-incomplete, not inttypes.
40752         * modules/inttypes-incomplete: New module, containing the contents
40753         of the old modules/inttypes module, except that the Files: section
40754         omits m4/inttypes-pri.m4, and the configure.ac section invokes
40755         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
40756         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
40757         (Depends-on): Depend only on inttypes-incomplete.
40758         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
40760         inttypes: omit now-redundant strtoimax and strtoumax work
40761         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
40762         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
40764         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
40765         This supports apps that need pointers to strtoimax and strtoumax,
40766         and ports to HP-UX 11.00 64.bit, which has macros that expand to
40767         nonexistent functions.  See
40768         <http://lists.gnu.org/r/bug-gnulib/2011-04/msg00241.html>
40769         et seq.
40770         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
40771         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
40772         a macro.
40773         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
40775 2011-04-25  Simon Josefsson  <simon@josefsson.org>
40777         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
40779 2011-04-25  Bruno Haible  <bruno@clisp.org>
40781         strtol, strtoul: Mark modules as obsolete.
40782         * modules/strtol (Status, Notice): New sections.
40783         * modules/strtoul (Status, Notice): New sections.
40785 2011-04-25  Bruno Haible  <bruno@clisp.org>
40787         strtod: Remove check for strtod, unless supporting old platforms.
40788         * modules/strtod-obsolete: New file.
40789         * m4/strtod-obsolete.m4: New file.
40790         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
40791         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
40792         * modules/strtod (Depends-on): Add strtod-obsolete.
40793         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
40795 2011-04-25  Bruno Haible  <bruno@clisp.org>
40797         strcase: Make module obsolete.
40798         * modules/strcase (Status, Notice): New sections.
40800 2011-04-25  Bruno Haible  <bruno@clisp.org>
40802         dup2: Remove check for dup2, unless supporting old obsolete platforms.
40803         * modules/dup2-obsolete: New file.
40804         * m4/dup2-obsolete.m4: New file.
40805         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
40806         gl_FUNC_DUP2_OBSOLETE is not also defined.
40807         * modules/dup2 (Depends-on): Add dup2-obsolete.
40808         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
40810 2011-04-25  Bruno Haible  <bruno@clisp.org>
40812         strnlen: Avoid memchr related link error on old obsolete platforms.
40813         * modules/memchr-obsolete: New file.
40814         * m4/memchr-obsolete.m4: New file.
40815         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
40816         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
40817         * modules/memchr (Depends-on): Add memchr-obsolete.
40818         * modules/strnlen (Depends-on): Likewise.
40819         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
40821 2011-04-25  Jim Meyering  <meyering@redhat.com>
40823         maint.mk: makefile_at_at_check extend and clean up
40824         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
40825         in addition to */Makefile.am.
40826         Exempt legitimate uses of @VAR@ notation, e.g.,
40827         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
40828         Remove obsolete coreutils-specific comment.
40829         Prompted by discussion here:
40830         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
40832 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
40834         strtoul: remove dependency on strtol
40835         This is so that 'configure' need not check for strtol merely because
40836         the application needs strtoul.
40837         * modules/strtoul (Files): Add lib/strtol.c.
40838         (Depends-on): Remove strtol.
40840         strtoull: remove dependency on strtoul
40841         This is like the strtoll change.
40842         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
40843         (Depends-on): Remove strtoul.
40845         strtoll: remove dependency on strtol
40846         This is so that 'configure' need not check for strtol merely because
40847         the application needs strtoll.
40848         * modules/strtoll (Files): Add lib/strtol.c.
40849         (Depends-on): Remove strtol.
40851 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
40853         inttypes: Move some configure check to module 'imaxdiv'.
40854         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
40855         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
40856         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
40858 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
40860         inttypes: Move some configure check to module 'imaxabs'.
40861         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
40862         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
40863         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
40865 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
40867         inttypes: Remove configure tests that are not needed since 2009-12-31.
40868         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
40869         gl_cv_header_working_inttypes_h.
40871 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
40873         * modules/strnlen (Depends-on): Remove memchr.
40874         The strnlen implementation doesn't need the memchr module's fixes; see
40875         <http://lists.gnu.org/r/bug-gnulib/2011-04/msg00237.html>.
40877         strtol: remove dependency on wchar
40878         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
40879         * modules/strtol (Depends-on): Remove wchar.
40881 2011-04-21  Eric Blake  <eblake@redhat.com>
40883         passfd: fix test regression on Linux
40884         * modules/passfd-tests (configure.ac): Correct socketpair check.
40886         passfd: speed up configure and drop unused code
40887         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
40888         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
40889         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
40890         Instead of probing at configure for unix_scm_rights_bsd44_way,
40891         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
40892         check to a struct member probe.
40893         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
40894         (sendfd, recvfd): Update preprocessor checks.
40895         * modules/passfd (Files): Reflect rename, and drop unused file.
40896         (Depends-on): Drop unused dependency.
40898         passfd: allow compilation on mingw
40899         * modules/sys_socket (Depends-on): Add sys_uio.
40900         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
40901         iovec and a minimal struct msghdr.
40902         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
40903         * tests/test-sys_socket.c (main): Enhance test.
40904         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
40905         guaranteed to provide what we need.
40906         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
40907         * modules/passfd-tests (Depends-on): Add sys_wait.
40908         * tests/test-passfd.c (main): Skip test on mingw, for now.
40909         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
40910         partial 'struct msghdr' implementation.
40912         sys_uio: new module
40913         * modules/sys_uio: New module.
40914         * modules/sys_uio-tests: Likewise.
40915         * lib/sys_uio.in.h: New file.
40916         * m4/sys_uio_h.m4: Likewise.
40917         * tests/test-sys_uio.c: Likewise.
40918         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
40919         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
40921 2011-04-20  Jim Meyering  <meyering@redhat.com>
40923         useless-if-before-free: avoid false-positive
40924         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
40925         disjunct so that it too requires a terminating ";".  Without that,
40926         this script would identify as useless one statement from gcc that
40927         was not:
40928           if (aligned_ptr)
40929             free (((void **) aligned_ptr) [-1]);
40931 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
40933         doc: update users.txt.
40934         * users.txt: Add barcode.
40936 2011-04-19  Bruno Haible  <bruno@clisp.org>
40938         ioctl: Remove link dependency on native Windows.
40939         * lib/fd-hook.h: Renamed from lib/close-hook.h.
40940         (gl_close_fn, gl_ioctl_fn): New types.
40941         (struct fd_hook): Renamed from struct close_hook. Change type of
40942         private_close_fn field. Add private_ioctl_fn field.
40943         (close_hook_fn): Add parameter for primary close method.
40944         (execute_close_hooks, execute_all_close_hooks): Likewise.
40945         (ioctl_hook_fn): New type.
40946         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
40947         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
40948         argument.
40949         (unregister_fd_hook): Renamed from unregister_close_hook.
40950         * lib/fd-hook.c: Renamed from lib/close-hook.c.
40951         Don't include <unistd.h>.
40952         (close): Remove undef.
40953         (anchor): Update.
40954         (execute_close_hooks): Add argument for primary close method.
40955         (execute_all_close_hooks): Likewise.
40956         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
40957         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
40958         argument. Allow each argument to be NULL.
40959         (unregister_fd_hook): Renamed from unregister_close_hook.
40960         * lib/close.c (rpl_close): Pass 'close' function pointer to
40961         execute_all_close_hooks.
40962         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
40963         (primary_ioctl): New function.
40964         (ioctl): Don't call ioctlsocket here. Instead, call
40965         execute_all_ioctl_hooks.
40966         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
40967         close method.
40968         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
40969         (fd_sockets_hook): Renamed from close_sockets_hook.
40970         (gl_sockets_startup, gl_sockets_cleanup): Update.
40971         * modules/fd-hook: Renamed from modules/close-hook. Update.
40972         * modules/close (Depends-on): Add fd-hook, remove close-hook.
40973         * modules/sockets (Depends-on): Likewise.
40974         * modules/ioctl (Depends-on): Add fd-hook.
40975         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
40976         GNULIB_SOCKET.
40978 2011-04-19  Bruno Haible  <bruno@clisp.org>
40980         Move the support of O_NONBLOCK in open() to the 'open' module.
40981         * modules/nonblocking (Depends-on): Remove 'open'.
40982         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
40983         gl_cv_have_open_O_NONBLOCK.
40984         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
40985         O_NONBLOCK support.
40986         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
40988 2011-04-17  Bruno Haible  <bruno@clisp.org>
40990         pipe2: Simplify code.
40991         * lib/pipe2.c (pipe2): Reduce code duplication.
40993 2011-04-17  Bruno Haible  <bruno@clisp.org>
40995         nonblocking: Add comment.
40996         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
40998 2011-04-17  Bruno Haible  <bruno@clisp.org>
41000         nonblocking: Add tests for sockets.
41001         * tests/test-nonblocking-socket.sh: New file.
41002         * tests/test-nonblocking-socket-main.c: New file.
41003         * tests/test-nonblocking-socket-child.c: New file.
41004         * tests/test-nonblocking-socket.h: New file.
41005         * tests/socket-server.h: New file.
41006         * tests/socket-client.h: New file.
41007         * modules/nonblocking-socket-tests: New file.
41008         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
41010 2011-04-17  Bruno Haible  <bruno@clisp.org>
41012         nonblocking: Add tests for pipes.
41013         * tests/test-nonblocking-pipe.sh: New file.
41014         * tests/test-nonblocking-pipe-main.c: New file.
41015         * tests/test-nonblocking-pipe-child.c: New file.
41016         * tests/test-nonblocking-pipe.h: New file.
41017         * tests/test-nonblocking-writer.h: New file.
41018         * tests/test-nonblocking-reader.h: New file.
41019         * tests/test-nonblocking-misc.h: New file.
41020         * modules/nonblocking-pipe-tests: New file.
41021         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
41023 2011-04-16  Bruno Haible  <bruno@clisp.org>
41025         gettext: Clarify the needed programmer actions.
41026         * modules/gettext (Notice): New field.
41027         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
41029 2011-04-16  Bruno Haible  <bruno@clisp.org>
41031         strchrnul: Tweak last commit.
41032         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
41033         bug.
41034         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
41035         as in _GL_FUNCDECL_SYS.
41036         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
41037         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
41039 2011-04-15  Eric Blake  <eblake@redhat.com>
41041         strchrnul: work around cygwin bug
41042         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
41043         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
41044         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
41045         * modules/string (Makefile.am): Substitute it.
41046         * lib/string.in.h (strchrnul): Use it.
41048 2011-04-15  Bruno Haible  <bruno@clisp.org>
41050         Don't require lib/stdio-write.c when only module 'stdio' is used.
41051         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
41052         invocation.
41053         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
41055 2011-04-14  Bruno Haible  <bruno@clisp.org>
41057         Support non-blocking pipe I/O in read() on native Windows.
41058         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
41059         (read): New declaration.
41060         * lib/read.c: New file.
41061         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
41062         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
41063         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
41064         vscanf): New declarations.
41065         * lib/stdio-read.c: New file.
41066         * m4/read.m4: New file.
41067         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
41068         REPLACE_READ.
41069         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
41070         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
41071         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
41072         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
41073         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
41074         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
41075         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
41076         * modules/read: New file.
41077         * modules/nonblocking (Files): Add lib/stdio-read.c.
41078         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
41079         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
41080         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
41081         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
41082         * modules/pread (Depends-on): Add read.
41083         * modules/safe-read (Depends-on): Likewise.
41084         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
41085         gets, scanf, vfscanf, vscanf): Verify signatures.
41086         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
41087         problem with non-blocking pipes.
41088         * doc/posix-functions/fgetc.texi: Likewise.
41089         * doc/posix-functions/fgets.texi: Likewise.
41090         * doc/posix-functions/fread.texi: Likewise.
41091         * doc/posix-functions/fscanf.texi: Likewise.
41092         * doc/posix-functions/getc.texi: Likewise.
41093         * doc/posix-functions/getchar.texi: Likewise.
41094         * doc/posix-functions/gets.texi: Likewise.
41095         * doc/posix-functions/scanf.texi: Likewise.
41096         * doc/posix-functions/vfscanf.texi: Likewise.
41097         * doc/posix-functions/vscanf.texi: Likewise.
41099 2011-04-14  Bruno Haible  <bruno@clisp.org>
41101         Support non-blocking pipe I/O in write() on native Windows.
41102         * lib/write.c (rpl_write): Split a write request that failed merely
41103         because the byte count was larger than the pipe buffer's size.
41104         * doc/posix-functions/write.texi: Mention the problem with large byte
41105         counts.
41107 2011-04-14  Bruno Haible  <bruno@clisp.org>
41109         wchar: Ensure that wchar_t gets defined on uClibc.
41110         * lib/wchar.in.h: On uClibc, include <stddef.h>.
41111         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
41113 2011-04-13  Bruno Haible  <bruno@clisp.org>
41115         safe-write, full-read: Avoid unnecessary compilation units.
41116         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
41117         (Depends-on): Remove safe-read. Add ssize_t.
41118         * modules/full-read (Files): Add lib/full-write.c.
41119         (Depends-on): Add full-write.
41121 2011-04-13  Bruno Haible  <bruno@clisp.org>
41123         Support non-blocking pipe I/O and SIGPIPE in pwrite().
41124         * modules/pwrite (Depends-on): Add 'write'.
41126 2011-04-13  Bruno Haible  <bruno@clisp.org>
41128         Support non-blocking pipe I/O in write() on native Windows.
41129         * lib/unistd.in.h (write): Enable replacement also if
41130         GNULIB_UNISTD_H_NONBLOCKING is 1.
41131         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
41132         (rpl_write): When failing to write on a non-blocking pipe, change
41133         errno from ENOSPC to EAGAIN.
41134         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
41135         putchar, puts, vfprintf, vprintf): Enable replacement also if
41136         GNULIB_STDIO_H_NONBLOCKING is 1.
41137         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
41138         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
41139         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
41140         CALL_WITH_SIGPIPE_EMULATION.
41141         (CALL_WITH_SIGPIPE_EMULATION): Use them.
41142         * m4/nonblocking.m4: New file.
41143         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
41144         for non-blocking I/O support.
41145         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
41146         GNULIB_UNISTD_H_NONBLOCKING.
41147         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
41148         required for non-blocking I/O support.
41149         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
41150         * modules/nonblocking (Files): Add m4/nonblocking.m4,
41151         lib/stdio-write.c, m4/asm-underscore.m4.
41152         (Depends-on): Add stdio, unistd.
41153         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
41154         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
41155         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
41156         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
41157         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
41158         problem with non-blocking pipes.
41159         * doc/posix-functions/fputc.texi: Likewise.
41160         * doc/posix-functions/fputs.texi: Likewise.
41161         * doc/posix-functions/fwrite.texi: Likewise.
41162         * doc/posix-functions/printf.texi: Likewise.
41163         * doc/posix-functions/putc.texi: Likewise.
41164         * doc/posix-functions/putchar.texi: Likewise.
41165         * doc/posix-functions/puts.texi: Likewise.
41166         * doc/posix-functions/vfprintf.texi: Likewise.
41167         * doc/posix-functions/vprintf.texi: Likewise.
41168         * doc/posix-functions/write.texi: Likewise.
41170 2011-04-10  Jim Meyering  <meyering@redhat.com>
41172         maint.mk: prohibit doubled words
41173         Detect them also when they're separated by a newline.
41174         There are 3 ways to customize it:
41175           - disable the test on a per file basis, as usual with rules using
41176             $(VC_LIST_EXCEPT)
41177           - replace the default doubled-word-selecting regexp (affects all files)
41178           - ignore a particular file-vs-doubled-word match
41179         I nearly used that last one to ignore the "is is" match in
41180         coreutils' NEWS file, since the text was "ls -is is ..."
41181         To do that, I would have added this line to cfg.mk:
41182           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
41183         but it would have ignored any "is is" match in NEWS.
41184         Low probability, but still...
41185         Instead, I changed the text, slightly:
41186           -  ls -is is now consistent with ls -lis in ignoring values returned
41187           +  "ls -is" is now consistent with ls -lis in ignoring values returned
41188         * top/maint.mk (prohibit_double_word_RE_): Provide default.
41189         (prohibit_doubled_word_): Define.
41190         (sc_prohibit_doubled_word): New rule.
41191         (sc_prohibit_the_the): Remove.  Subsumed by the above.
41193 2011-04-10  Jim Meyering  <meyering@redhat.com>
41195         maint: fix doubled-word typo in comment
41196         * m4/gethostname.m4: s/is is/it is/
41197         * m4/getdomainname.m4: Likewise.
41199 2011-04-10  Jim Meyering  <meyering@redhat.com>
41201         maint: remove doubled word: s/it it/it/
41202         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
41204 2011-04-10  Jim Meyering  <meyering@redhat.com>
41206         maint.mk: remove useless semicolon and backslash
41207         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
41208         semicolon and backslash.
41210 2011-04-10  Bruno Haible  <bruno@clisp.org>
41212         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
41213         * modules/stdint-tests (Depends-on): Add wchar.
41215 2011-04-10  Jim Meyering  <meyering@redhat.com>
41217         maint: remove doubled words in comments, e.g., s/a a/a/
41218         * lib/strptime.c (day_of_the_week): s/the the/the/
41219         * tests/test-chown.h (test_chown): s/a a/a/
41221         test-chown.h: correct a cast
41222         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
41223         when the destination is a stat.st_gid.
41225 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
41227         getaddrinfo: Fix test for sa_len member.
41228         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
41229         include <sys/types.h> before <sys/socket.h>.
41231 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
41233         maint: change "can not" to "cannot"
41234         * doc/posix-functions/iconv.texi (iconv): This one crossed line
41235         boundaries.
41237 2011-04-09  Jim Meyering  <meyering@redhat.com>
41239         maint: change "a a" to "a"
41240         * tests/test-lchown.h (test_lchown): s/a a/a/
41242         maint.mk: prohibit \<the the\>
41243         * top/maint.mk (sc_prohibit_the_the): New rule.
41245         maint: fix "the the" in comment
41246         * lib/count-one-bits.h: s/the the/the/
41248         maint: change "can not" to "cannot"
41249         But do not change the occurrences in maintain.texi or in
41250         build-aux/po/Makefile.in.in, which I presume comes from gettext.
41251         * doc/gnulib-tool.texi: s/can not/cannot/
41252         * doc/posix-functions/accept.texi (accept): Likewise.
41253         * doc/posix-functions/socket.texi (socket): Likewise.
41254         * lib/mbrtowc.c: Likewise.
41256         maint.mk: prohibit use of "can not"
41257         * top/maint.mk (sc_prohibit_can_not): New rule.
41258         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
41260 2011-04-09  Bruno Haible  <bruno@clisp.org>
41262         careadlinkat: Guard against misuse of careadlinkatcwd.
41263         * lib/careadlinkat.c: Include <stdlib.h>.
41264         (careadlinkatcwd): Check that the fd argument is as expected.
41266 2011-04-09  Bruno Haible  <bruno@clisp.org>
41268         careadlinkat: Use common coding style.
41269         * lib/careadlinkat.c: Move gnulib includes after system includes.
41271 2011-04-09  Bruno Haible  <bruno@clisp.org>
41273         careadlinkat: Clarify specification.
41274         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
41275         (careadlinkatcwd): Add comment.
41276         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
41278 2011-04-09  Bruno Haible  <bruno@clisp.org>
41280         areadlinkat: Avoid link error on many platforms.
41281         * modules/areadlinkat (Depends-on): Add areadlink.
41283 2011-04-09  Bruno Haible  <bruno@clisp.org>
41285         allocator, careadlinkat: Fix double-inclusion guard.
41286         * lib/allocator.h: Fix double-inclusion guard.
41287         * lib/careadlinkat.h: Likewise.
41289 2011-04-09  Bruno Haible  <bruno@clisp.org>
41291         relocatable-prog-wrapper: Update after module 'areadlink' changed.
41292         * lib/relocwrapper.c: Update dependencies hierarchy.
41293         * build-aux/install-reloc: Update list of files to be compiled.
41294         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
41295         lib/allocator.[hc].
41297 2011-04-08  Eric Blake  <eblake@redhat.com>
41299         strftime: silence gnulib-tool warning
41300         * modules/strftime-tests (Depends-on): Drop automatic dependency.
41302 2011-04-08  Bruno Haible  <bruno@clisp.org>
41304         verify: Fix syntax error with GCC 4.6 in C++ mode.
41305         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
41306         (HAVE_STATIC_ASSERT): New macro.
41307         (verify_true, verify): Use 'static_assert' if it is supported and
41308         '_Static_assert' is not supported.
41310 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
41312         allocator: New module.
41313         * modules/allocator, lib/allocator.c: New files.
41314         * lib/allocator.h (stdlib_allocator): New decl.
41315         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
41316         Remove.  Do not include <stdlib.h>.
41317         (careadlinkat): Use stdlib_allocator instead of rolling our own.
41318         * modules/careadlinkat (Files): Remove lib/allocator.h.
41319         (Depends-on): Add allocator.
41321         stdlib: let modules use system malloc, realloc
41322         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
41323         if !_GL_USE_STDLIB_ALLOC.
41324         (malloc, realloc): Limit this change to a smaller scope.
41326         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
41327         (malloc, realloc): Don't #undef; no longer needed.
41328         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
41329         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
41330         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
41331         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
41332         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
41333         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
41334         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
41335         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
41337         careadlinkat: rename members to avoid problem
41338         * lib/allocator.h (struct allocator): Rename members from
41339         malloc/realloc to allocate/reallocate, to avoid problems if malloc
41340         and realloc are #define'd.  Reported by Eric Blake in
41341         <http://lists.gnu.org/r/bug-gnulib/2011-04/msg00091.html>.
41342         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
41344 2011-04-08  Eric Blake  <eblake@redhat.com>
41346         nonblocking: reduce dependency
41347         * tests/test-nonblocking.c: Only test sockets when in use.
41348         * modules/nonblocking-tests (Depends-on): Drop socket.
41349         (Makefile.am): Link even if sockets are not present.
41350         * modules/pipe2-tests (Makefile.am): Likewise.
41351         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
41353         pipe2: fix O_NONBLOCK support on mingw
41354         * modules/pipe2 (Depends-on): Add nonblocking.
41355         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
41356         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
41357         * tests/test-nonblocking.c (main): Likewise.
41358         * modules/pipe2-tests (Makefile.am): Avoid link failure.
41360         fcntl-h: fix O_ACCMODE on cygwin
41361         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
41362         * lib/fcntl.in.h (O_ACCMODE): Fix it.
41364         pipe-filter: drop O_NONBLOCK workarounds
41365         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
41366         * modules/pipe-filter-ii (Depends-on): Likewise.
41367         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
41369         nonblocking: provide O_NONBLOCK for mingw
41370         * modules/nonblocking (Depends-on): Add open.
41371         (configure.ac): Set new witness macro.
41372         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
41373         * modules/fcntl-h (Makefile.am): Substitute it.
41374         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
41375         nonblocking module is in use.
41376         * lib/nonblocking.c: Adjust portability test.
41377         * lib/open.c (open): Don't let native open see gnulib flag.
41378         * tests/test-fcntl-h.c (main): Enhance test.
41379         * tests/test-open.h (test_open): Likewise.
41380         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
41382         careadlinkat: fix compilation error on mingw
41383         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
41384         within struct allocator.
41386 2011-04-06  Eric Blake  <eblake@redhat.com>
41388         binary-io: relicense under LGPLv2+
41389         * modules/binary-io (License): Relax to LGPLv2+.
41390         Requested for libvirt, and required by pipe2.
41392 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
41394         verify: use _Static_assert if available
41395         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
41396         (verify_true, verify): Use it if available.  This generates better
41397         diagnostics with GCC 4.6.0 and later.
41399 2011-04-05  Bruno Haible  <bruno@clisp.org>
41401         Remove leftover generated .h files after config.status changed.
41403         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
41404         GL_GENERATE_ALLOCA_H.
41405         * modules/alloca-opt (Makefile.am): Remove alloca.h if
41406         GL_GENERATE_ALLOCA_H evaluates to false.
41408         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
41409         GL_GENERATE_ARGZ_H.
41410         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
41411         evaluates to false.
41413         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
41414         GL_GENERATE_BYTESWAP_H.
41415         * modules/byteswap (Makefile.am): Remove byteswap.h if
41416         GL_GENERATE_BYTESWAP_H evaluates to false.
41418         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
41419         GL_GENERATE_ERRNO_H.
41420         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
41421         evaluates to false.
41423         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
41424         GL_GENERATE_FLOAT_H.
41425         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
41426         evaluates to false.
41428         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
41429         GL_GENERATE_FNMATCH_H.
41430         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
41431         GL_GENERATE_FNMATCH_H evaluates to false.
41433         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
41434         GL_GENERATE_GLOB_H.
41435         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
41436         evaluates to false.
41438         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
41439         automake conditional GL_GENERATE_ICONV_H.
41440         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
41441         evaluates to false.
41443         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
41444         GL_GENERATE_NETINET_IN_H.
41445         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
41446         GL_GENERATE_NETINET_IN_H evaluates to false.
41448         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
41449         conditional GL_GENERATE_PTHREAD_H.
41450         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
41451         * modules/pthread (Makefile.am): Remove pthread.h if
41452         GL_GENERATE_PTHREAD_H evaluates to false.
41454         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
41455         GL_GENERATE_SCHED_H.
41456         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
41457         evaluates to false.
41459         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
41460         conditional GL_GENERATE_SELINUX_CONTEXT_H.
41461         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
41462         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
41464         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
41465         GL_GENERATE_STDARG_H.
41466         * modules/stdarg (Makefile.am): Remove stdarg.h if
41467         GL_GENERATE_STDARG_H evaluates to false.
41469         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
41470         GL_GENERATE_STDBOOL_H.
41471         * modules/stdbool (Makefile.am): Remove stdbool.h if
41472         GL_GENERATE_STDBOOL_H evaluates to false.
41474         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
41475         conditional GL_GENERATE_STDDEF_H.
41476         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
41477         * modules/stddef (Makefile.am): Remove stddef.h if
41478         GL_GENERATE_STDDEF_H evaluates to false.
41480         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
41481         GL_GENERATE_STDINT_H.
41482         * modules/stdint (Makefile.am): Remove stdint.h if
41483         GL_GENERATE_STDINT_H evaluates to false.
41485         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
41486         GL_GENERATE_SYSEXITS_H.
41487         * modules/sysexits (Makefile.am): Remove sysexits.h if
41488         GL_GENERATE_SYSEXITS_H evaluates to false.
41490         Reported by Karl Berry and Ralf Wildenhues.
41492 2011-04-05  Bruno Haible  <bruno@clisp.org>
41494         Ensure to rebuild generated .h files when config.status has changed.
41495         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
41496         config.status.
41497         * modules/ctype (Makefile.am): Likewise.
41498         * modules/dirent (Makefile.am): Likewise.
41499         * modules/errno (Makefile.am): Likewise.
41500         * modules/fcntl-h (Makefile.am): Likewise.
41501         * modules/float (Makefile.am): Likewise.
41502         * modules/getopt-posix (Makefile.am): Likewise.
41503         * modules/glob (Makefile.am): Likewise.
41504         * modules/iconv-h (Makefile.am): Likewise.
41505         * modules/inttypes (Makefile.am): Likewise.
41506         * modules/langinfo (Makefile.am): Likewise.
41507         * modules/locale (Makefile.am): Likewise.
41508         * modules/math (Makefile.am): Likewise.
41509         * modules/netdb (Makefile.am): Likewise.
41510         * modules/netinet_in (Makefile.am): Likewise.
41511         * modules/poll-h (Makefile.am): Likewise.
41512         * modules/pthread (Makefile.am): Likewise.
41513         * modules/pty (Makefile.am): Likewise.
41514         * modules/sched (Makefile.am): Likewise.
41515         * modules/search (Makefile.am): Likewise.
41516         * modules/selinux-h (Makefile.am): Likewise.
41517         * modules/signal (Makefile.am): Likewise.
41518         * modules/spawn (Makefile.am): Likewise.
41519         * modules/stdarg (Makefile.am): Likewise.
41520         * modules/stdbool (Makefile.am): Likewise.
41521         * modules/stddef (Makefile.am): Likewise.
41522         * modules/stdint (Makefile.am): Likewise.
41523         * modules/stdio (Makefile.am): Likewise.
41524         * modules/stdlib (Makefile.am): Likewise.
41525         * modules/string (Makefile.am): Likewise.
41526         * modules/strings (Makefile.am): Likewise.
41527         * modules/sys_file (Makefile.am): Likewise.
41528         * modules/sys_ioctl (Makefile.am): Likewise.
41529         * modules/sys_select (Makefile.am): Likewise.
41530         * modules/sys_socket (Makefile.am): Likewise.
41531         * modules/sys_stat (Makefile.am): Likewise.
41532         * modules/sys_time (Makefile.am): Likewise.
41533         * modules/sys_times (Makefile.am): Likewise.
41534         * modules/sys_utsname (Makefile.am): Likewise.
41535         * modules/sys_wait (Makefile.am): Likewise.
41536         * modules/sysexits (Makefile.am): Likewise.
41537         * modules/termios (Makefile.am): Likewise.
41538         * modules/time (Makefile.am): Likewise.
41539         * modules/unistd (Makefile.am): Likewise.
41540         * modules/wchar (Makefile.am): Likewise.
41541         * modules/wctype-h (Makefile.am): Likewise.
41542         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
41544 2011-04-05  Bruno Haible  <bruno@clisp.org>
41546         pipe2: Relicense under LGPLv2+.
41547         * modules/pipe2 (License): Change to LGPLv2+.
41548         Requested by Eric Blake, for libvirt.
41550 2011-04-05  Bruce Korb  <bkorb@gnu.org>
41552         bootstrap: compute gnulib_extra_files after updating build_aux
41553         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
41554         change build_aux or also supply gnulib_extra_files.  Handle correctly.
41556 2011-04-05  Eric Blake  <eblake@redhat.com>
41558         bootstrap: preserve git whitelist item sorting
41559         * build-aux/bootstrap (sort_patterns): New function.
41560         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
41562 2011-04-05  Simon Josefsson  <simon@josefsson.org>
41564         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
41565         sc_space_tab check.
41567 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
41569         areadlink, areadlinkat: rewrite in terms of careadlinkat
41570         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
41571         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
41572         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
41573         (malloc, realloc): Remove #undefs.
41574         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
41575         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
41576         readlink, ssize_t, stdint, unistd.
41577         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
41578         areadlink, stdint.
41580         careadlinkat: new module
41581         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
41582         * modules/careadlinkat: New files, written by me with
41583         a review and feedback from Ben Pfaff in
41584         <http://lists.gnu.org/r/bug-gnulib/2011-04/msg00008.html>.
41586 2011-04-01  Bruno Haible  <bruno@clisp.org>
41588         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
41589         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
41590         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
41591         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
41592         Reported by Bruce Korb <bruce.korb@gmail.com>.
41594 2011-04-01  Bruno Haible  <bruno@clisp.org>
41596         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
41597         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
41598         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
41599         * modules/wcpcpy (Depends-on): Add extensions.
41600         * modules/wcpncpy (Depends-on): Likewise.
41601         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
41602         systems.
41603         * doc/posix-functions/wcpncpy.texi: Likewise.
41604         * doc/posix-functions/wcwidth.texi: Likewise.
41606 2011-03-31  Eric Blake  <eblake@redhat.com>
41608         nonblocking: fix mingw test failures
41609         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
41610         non-blocking flag on regular file.
41611         (get_nonblocking_flag): Set errno on invalid fd.
41612         * tests/test-nonblocking.c (main): Avoid test failure on
41613         directories if fchdir is not active.
41614         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
41616 2011-03-31  Bruno Haible  <bruno@clisp.org>
41618         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
41619         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
41620         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
41621         Reported by Simon Josefsson <simon@josefsson.org>.
41623 2011-03-31  Bruno Haible  <bruno@clisp.org>
41624         and Eric Blake  <eblake@redhat.com>
41626         nonblocking: new module
41627         * modules/nonblocking: New module.
41628         * modules/nonblocking-tests: Likewise.
41629         * lib/nonblocking.h: New file.
41630         * lib/nonblocking.c: Likewise.
41631         * tests/test-nonblocking.c: New test.
41632         * lib/ioctl.c (ioctl) [mingw]: Update comment.
41634 2011-03-30  Bruno Haible  <bruno@clisp.org>
41636         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
41637         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
41638         instead of 'printf' format for GCC >= 4.4.
41639         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
41640         (fprintf, printf, vfprintf, vprintf): Declare with
41641         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
41642         the system's vfprintf() function.
41643         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
41645 2011-03-30  Eric Blake  <eblake@redhat.com>
41647         passfd: fix scoping bug
41648         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
41649         before sendmsg/recvmsg.
41651         passfd: standardize coding conventions
41652         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
41653         can be learned at compile time.
41654         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
41655         ifdefs.
41656         (sendfd, recvfd): Follow gnulib code conventions.
41658         passfd: fix incorrect sendmsg arguments
41659         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
41660         incorrect msg_controllen value.
41661         * modules/passfd-tests (Depends-on): Check for alarm.
41662         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
41663         Reported by Bastien ROUCARIES.
41665 2011-03-30  Bruno Haible  <bruno@clisp.org>
41667         c-strcasestr: Relicense under LGPLv2+.
41668         * modules/c-strcasestr (License): Change to LGPLv2+.
41669         Requested by Eric Blake, for libvirt.
41671 2011-03-30  Simon Josefsson  <simon@josefsson.org>
41673         * users.txt: Add libidn2.  Fix libtasn1 link.
41675 2011-03-30  Jim Meyering  <meyering@redhat.com>
41677         tests: readlink* ("",... fails with EINVAL on newer kernels
41678         readlink and readlinkat have typically failed with ENOENT for
41679         the invalid, empty file name,  "".  However, with the advent
41680         of linux-2.6.39, they fail with EINVAL.
41681         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
41682         when operating on the empty file name.
41683         * tests/test-readlink.h (test_readlink): Likewise.
41685 2011-03-29  Bruno Haible  <bruno@clisp.org>
41687         Relicense some modules under LGPLv2+, for libidn2.
41688         * modules/array-mergesort (License): Change to LGPLv2+.
41689         * modules/c-strcaseeq (License): Likewise.
41690         * modules/striconveh (License): Likewise.
41691         * modules/striconveha (License): Likewise.
41692         * modules/uniconv/base (License): Likewise.
41693         * modules/uniconv/u8-conv-from-enc (License): Likewise.
41694         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
41695         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
41696         * modules/unictype/base (License): Likewise.
41697         * modules/unictype/bidiclass-of (License): Likewise.
41698         * modules/unictype/category-M (License): Likewise.
41699         * modules/unictype/category-none (License): Likewise.
41700         * modules/unictype/category-of (License): Likewise.
41701         * modules/unictype/category-test (License): Likewise.
41702         * modules/unictype/category-test-withtable (License): Likewise.
41703         * modules/unictype/combining-class (License): Likewise.
41704         * modules/unictype/joiningtype-of (License): Likewise.
41705         * modules/unictype/scripts (License): Likewise.
41706         * modules/uninorm/base (License): Likewise.
41707         * modules/uninorm/canonical-decomposition (License): Likewise.
41708         * modules/uninorm/composition (License): Likewise.
41709         * modules/uninorm/decompose-internal (License): Likewise.
41710         * modules/uninorm/decomposition-table (License): Likewise.
41711         * modules/uninorm/nfc (License): Likewise.
41712         * modules/uninorm/nfd (License): Likewise.
41713         * modules/uninorm/u32-normalize (License): Likewise.
41714         * modules/unistr/base (License): Likewise.
41715         * modules/unistr/u32-cpy (License): Likewise.
41716         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
41717         * modules/unistr/u32-to-u8 (License): Likewise.
41718         * modules/unistr/u32-uctomb (License): Likewise.
41719         * modules/unistr/u8-check (License): Likewise.
41720         * modules/unistr/u8-mblen (License): Likewise.
41721         * modules/unistr/u8-mbtouc (License): Likewise.
41722         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
41723         * modules/unistr/u8-mbtoucr (License): Likewise.
41724         * modules/unistr/u8-prev (License): Likewise.
41725         * modules/unistr/u8-strlen (License): Likewise.
41726         * modules/unistr/u8-to-u32 (License): Likewise.
41727         * modules/unistr/u8-uctomb (License): Likewise.
41728         * modules/unitypes (License): Likewise.
41729         Requested by Simon Josefsson.
41731 2011-03-29  Simon Josefsson  <simon@josefsson.org>
41733         lib-symbol-visibility: Add a notice.
41734         * modules/lib-symbol-visibility (Notice): New field.
41736 2011-03-29  Bruno Haible  <bruno@clisp.org>
41738         getaddrinfo: Doc fix.
41739         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
41740         section "fixed in Gnulib".
41742 2011-03-28  Simon Josefsson  <simon@josefsson.org>
41744         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
41745         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
41747 2011-03-26  Bruno Haible  <bruno@clisp.org>
41749         unictype/property-byname: Reduce the number of load-time relocations.
41750         * lib/unictype/pr_byname.c: Include <stdlib.h>.
41751         (UC_PROPERTY_INDEX_*): New enumeration values.
41752         (uc_property_byname): Convert an index from the lookup table to an
41753         uc_property_t.
41754         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
41755         values.
41757 2011-03-26  Bruno Haible  <bruno@clisp.org>
41759         unictype/property-byname: Allow omitted word separators and aliases.
41760         * lib/unictype/pr_byname.gperf: Add property names without word
41761         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
41762         for 'space'.
41764 2011-03-26  Bruno Haible  <bruno@clisp.org>
41766         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
41767         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
41768         also hyphens to space.
41769         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
41770         without spaces.
41771         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
41773 2011-03-26  Bruno Haible  <bruno@clisp.org>
41775         unictype/joiningtype-byname: Recognize long names as well.
41776         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
41777         a long name.
41778         * lib/unictype/joiningtype_byname.c: Include <string.h>,
41779         unictype/joiningtype_byname.h.
41780         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
41781         * lib/unictype/joiningtype_byname.gperf: New file.
41782         * modules/unictype/joiningtype-byname (Files): Add
41783         lib/unictype/joiningtype_byname.gperf.
41784         (Depends-on): Add gperf.
41785         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
41786         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
41787         long names.
41789         Tests for module 'unictype/joiningtype-longname'.
41790         * modules/unictype/joiningtype-longname-tests: New file.
41791         * tests/unictype/test-joiningtype_longname.c: New file.
41793         New module 'unictype/joiningtype-longname'.
41794         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
41795         * lib/unictype/joiningtype_longname.c: New file.
41796         * modules/unictype/joiningtype-longname: New file.
41797         * modules/unictype/joiningtype-all (Depends-on): Add
41798         unictype/joiningtype-longname.
41800 2011-03-26  Bruno Haible  <bruno@clisp.org>
41802         unictype/bidiclass-byname: Recognize long names as well.
41803         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
41804         name.
41805         * lib/unictype/bidi_byname.c: Include <string.h>,
41806         unictype/bidi_byname.h.
41807         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
41808         * lib/unictype/bidi_byname.gperf: New file.
41809         * modules/unictype/bidiclass-byname (Files): Add
41810         lib/unictype/bidi_byname.gperf.
41811         (Depends-on): Add gperf.
41812         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
41813         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
41814         long names.
41816         Tests for module 'unictype/bidiclass-longname'.
41817         * modules/unictype/bidiclass-longname-tests: New file.
41818         * tests/unictype/test-bidi_longname.c: New file.
41820         New module 'unictype/bidiclass-longname'.
41821         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
41822         * lib/unictype/bidi_longname.c: New file.
41823         * modules/unictype/bidiclass-longname: New file.
41824         * modules/unictype/bidiclass-all (Depends-on): Add
41825         unictype/bidiclass-longname.
41827 2011-03-26  Bruno Haible  <bruno@clisp.org>
41829         unictype/bidi*: Rename modules.
41830         * modules/unictype/bidiclass-all: Renamed from
41831         modules/unictype/bidicategory-all.
41832         * modules/unictype/bidiclass-name: Renamed from
41833         modules/unictype/bidiclass-name.
41834         (Description): Update.
41835         * modules/unictype/bidiclass-name-tests: Renamed from
41836         modules/unictype/bidicategory-name-tests.
41837         * modules/unictype/bidiclass-byname: Renamed from
41838         modules/unictype/bidicategory-byname.
41839         (Description): Update.
41840         * modules/unictype/bidiclass-byname-tests: Renamed from
41841         modules/unictype/bidicategory-byname-tests.
41842         * modules/unictype/bidiclass-of: Renamed from
41843         modules/unictype/bidicategory-of.
41844         (Description): Update.
41845         * modules/unictype/bidiclass-of-tests: Renamed from
41846         modules/unictype/bidicategory-of-tests.
41847         * modules/unictype/bidiclass-test: Renamed from
41848         modules/unictype/bidicategory-test.
41849         (Description): Update.
41850         * modules/unictype/bidiclass-test-tests: Renamed from
41851         modules/unictype/bidicategory-test-tests.
41852         * modules/unictype/bidicategory-all: New file, a simple redirection.
41853         * modules/unictype/bidicategory-name: Likewise.
41854         * modules/unictype/bidicategory-byname: Likewise.
41855         * modules/unictype/bidicategory-of: Likewise.
41856         * modules/unictype/bidicategory-test: Likewise.
41857         * modules/unictype/property-bidi-* (Dependencies): Update.
41858         * lib/unictype/bidi_*.c: Update comment.
41860 2011-03-26  Bruno Haible  <bruno@clisp.org>
41862         unictype/bidi*: Rename functions, part 2.
41863         * modules/unictype/bidicategory-name (configure.ac): Update required
41864         libunistring version.
41865         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
41867 2011-03-25  Bruno Haible  <bruno@clisp.org>
41869         New module 'unictype/combining-class-all'.
41870         * modules/unictype/combining-class-all: New file.
41872         Tests for module 'unictype/combining-class-byname'.
41873         * modules/unictype/combining-class-byname-tests: New file.
41874         * tests/unictype/test-combiningclass_byname.c: New file.
41876         New module 'unictype/combining-class-byname'.
41877         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
41878         * lib/unictype/combiningclass_byname.c: New file.
41879         * lib/unictype/combiningclass_byname.gperf: New file.
41880         * modules/unictype/combining-class-byname: New file.
41882         Tests for module 'unictype/combining-class-longname'.
41883         * modules/unictype/combining-class-longname-tests: New file.
41884         * tests/unictype/test-combiningclass_longname.c: New file.
41886         New module 'unictype/combining-class-longname'.
41887         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
41888         * lib/unictype/combiningclass_longname.c: New file.
41889         * modules/unictype/combining-class-longname: New file.
41891         Tests for module 'unictype/combining-class-name'.
41892         * modules/unictype/combining-class-name-tests: New file.
41893         * tests/unictype/test-combiningclass_name.c: New file.
41895         New module 'unictype/combining-class-name'.
41896         * lib/unictype.in.h (uc_combining_class_name): New declaration.
41897         * lib/unictype/combiningclass_name.c: New file.
41898         * modules/unictype/combining-class-name: New file.
41900 2011-03-25  Bruno Haible  <bruno@clisp.org>
41902         unictype/combining-class: Rename source files.
41903         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
41904         of unictype/combining.h.
41905         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
41906         Update.
41907         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
41908         * modules/unictype/combining-class (Description): Fix.
41909         (Files, Makefile.am): Update.
41910         * tests/unictype/test-combiningclass.c: Renamed from
41911         tests/unictype/test-combining.c.
41912         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
41914 2011-03-25  Bruno Haible  <bruno@clisp.org>
41916         unictype: Update list of canonical combining classes.
41917         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
41919 2011-03-25  Bruno Haible  <bruno@clisp.org>
41921         unictype/category-byname: Recognize long names as well.
41922         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
41923         a long name.
41924         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
41925         unictype/categ_byname.h.
41926         (UC_CATEGORY_INDEX_*): New enumeration values.
41927         (uc_general_category_byname): Use uc_general_category_lookup and
41928         convert from index to value.
41929         * lib/unictype/categ_byname.gperf: New file.
41930         * modules/unictype/category-byname (Files): Add
41931         lib/unictype/categ_byname.gperf.
41932         (Depends-on): Add gperf.
41933         (Makefile.am): Add rule for generating unictype/categ_byname.h.
41934         * tests/unictype/test-categ_byname.c (main): Test the recognition of
41935         long names.
41937         Tests for module 'unictype/category-longname'.
41938         * modules/unictype/category-longname-tests: New file.
41939         * tests/unictype/test-categ_longname.c: New file.
41941         New module 'unictype/category-longname'.
41942         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
41943         * lib/unictype/categ_longname.c: New file.
41944         * modules/unictype/category-longname: New file.
41945         * modules/unictype/category-all (Depends-on): Add it.
41947 2011-03-25  Bruno Haible  <bruno@clisp.org>
41949         Tests for module 'unictype/category-LC'.
41950         * modules/unictype/category-LC-tests: New file.
41951         * tests/unictype/test-categ_LC.c: New file, automatically generated.
41953         New module 'unictype/category-LC'.
41954         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
41955         (UC_CATEGORY_LC): New declaration.
41956         (UC_CASED_LETTER): New macro.
41957         * lib/gen-uni-tables.c (is_category_LC): New function.
41958         (output_categories): Also handle category LC.
41959         (UC_CATEGORY_MASK_LC): New enumeration value.
41960         (general_category_byname): Also handle category LC.
41961         * lib/unictype/categ_LC.c: New file.
41962         * lib/unictype/categ_LC.h: New file, automatically generated.
41963         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
41964         category LC.
41965         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
41966         * modules/unictype/category-LC: New file.
41967         * modules/unictype/category-byname (Depends-on): Add
41968         unictype/category-LC.
41969         * modules/unictype/category-all (Depends-on): Likewise.
41971 2011-03-25  Eric Blake  <eblake@redhat.com>
41973         xmalloc: revert yesterday's regression
41974         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
41975         realloc's underlying behavior (allowing allocation of zero-size
41976         objects, especially if malloc-gnu is also in use).
41978 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
41980         maint.mk: add missing version to VC-tag
41981         * top/maint.mk: git tag was missing actual tag name; add it.
41983         valgrind: do leak checking, and exit with code 1 on error (not 0)
41984         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
41985         to VALGRIND.
41987 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
41989         posix-modules: say what it does.
41990         * posix-modules: Add a line to the --help output saying what it does.
41992 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
41994         xmalloc: Do not leak if underlying realloc is C99 compatible.
41995         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
41996         This avoids a leak on C99-based systems.  See
41997         <http://lists.gnu.org/r/bug-gnulib/2011-03/msg00243.html>.
41999 2011-03-24  Eric Blake  <eblake@redhat.com>
42001         realloc: document portability problem
42002         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
42003         passing 0 size to realloc.
42005 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
42007         doc: update users.txt
42008         * users.txt: Add cvsps, tmpwatch
42010 2011-03-23  Matt Rice  <ratmice@gmail.com>
42012         doc: update users.txt
42013         * users.txt: Add gdb.
42015 2011-03-23  Jim Meyering  <meyering@redhat.com>
42017         doc: update users.txt
42018         Looking through matches up to the following URL (there are still
42019         several more pages), I found several projects that use gnulib:
42020         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
42021         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
42022         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
42024 2011-03-22  Bruno Haible  <bruno@clisp.org>
42026         unictype/bidi*: Rename functions.
42027         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
42028         uc_bidi_class, uc_is_bidi_class): New declarations.
42029         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
42030         uc_bidi_category_byname.
42031         (uc_bidi_category_byname): New function.
42032         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
42033         u_bidi_category_name.
42034         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
42035         (uc_bidi_category_name): New function.
42036         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
42037         uc_bidi_category.
42038         (uc_bidi_category): New function.
42039         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
42040         uc_is_bidi_category. Invoke uc_bidi_class.
42041         (uc_is_bidi_category): New function.
42042         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
42043         instead of uc_bidi_category_byname.
42044         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
42045         instead of uc_bidi_category_name.
42046         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
42047         uc_bidi_category.
42048         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
42049         instead of uc_is_bidi_category.
42051 2011-03-21  Bruno Haible  <bruno@clisp.org>
42053         New module 'unictype/joininggroup-all'.
42054         * modules/unictype/joininggroup-all: New file.
42056         Tests for module 'unictype/joininggroup-of'.
42057         * modules/unictype/joininggroup-of-tests: New file.
42058         * tests/unictype/test-joininggroup_of.c: New file.
42059         * tests/unictype/test-joininggroup_of.h: New file, automatically
42060         generated by gen-uni-tables.
42062         New module 'unictype/joininggroup-of'.
42063         * modules/unictype/joininggroup-of: New file.
42064         * lib/unictype/joininggroup_of.c: New file.
42065         * lib/unictype/joininggroup_of.h: New file, automatically generated by
42066         gen-uni-tables.
42068         Tests for module 'unictype/joininggroup-byname'.
42069         * modules/unictype/joininggroup-byname-tests: New file.
42070         * tests/unictype/test-joininggroup_byname.c: New file.
42072         New module 'unictype/joininggroup-byname'.
42073         * modules/unictype/joininggroup-byname: New file.
42074         * lib/unictype/joininggroup_byname.c: New file.
42075         * lib/unictype/joininggroup_byname.gperf: New file.
42077         Tests for module 'unictype/joininggroup-name'.
42078         * modules/unictype/joininggroup-name-tests: New file.
42079         * tests/unictype/test-joininggroup_name.c: New file.
42081         New module 'unictype/joininggroup-name'.
42082         * modules/unictype/joininggroup-name: New file.
42083         * lib/unictype/joininggroup_name.c: New file.
42084         * lib/unictype/joininggroup_name.h: New file.
42086         New module 'unictype/joiningtype-all'.
42087         * modules/unictype/joiningtype-all: New file.
42089         Tests for module 'unictype/joiningtype-of'.
42090         * modules/unictype/joiningtype-of-tests: New file.
42091         * tests/unictype/test-joiningtype_of.c: New file.
42092         * tests/unictype/test-joiningtype_of.h: New file, automatically
42093         generated by gen-uni-tables.
42095         New module 'unictype/joiningtype-of'.
42096         * modules/unictype/joiningtype-of: New file.
42097         * lib/unictype/joiningtype_of.c: New file.
42098         * lib/unictype/joiningtype_of.h: New file, automatically generated by
42099         gen-uni-tables.
42101         Tests for module 'unictype/joiningtype-byname'.
42102         * modules/unictype/joiningtype-byname-tests: New file.
42103         * tests/unictype/test-joiningtype_byname.c: New file.
42105         New module 'unictype/joiningtype-byname'.
42106         * modules/unictype/joiningtype-byname: New file.
42107         * lib/unictype/joiningtype_byname.c: New file.
42109         Tests for module 'unictype/joiningtype-name'.
42110         * modules/unictype/joiningtype-name-tests: New file.
42111         * tests/unictype/test-joiningtype_name.c: New file.
42113         New module 'unictype/joiningtype-name'.
42114         * modules/unictype/joiningtype-name: New file.
42115         * lib/unictype/joiningtype_name.c: New file.
42117         unictype: Add support for Arabic shaping properties.
42118         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
42119         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
42120         declarations.
42121         (UC_JOINING_GROUP_*): New enumeration values.
42122         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
42123         declarations.
42124         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
42125         (unicode_joining_type): New variable.
42126         (UC_JOINING_GROUP_*): New enumeration values.
42127         (unicode_joining_group): New variable.
42128         (fill_arabicshaping, joining_type_as_c_identifier,
42129         output_joining_type_test, output_joining_type,
42130         joining_group_as_c_identifier, output_joining_group_test,
42131         output_joining_group): New functions.
42132         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
42133         fill_arabicshaping and output_joining_type_test, output_joining_type,
42134         output_joining_group_test, output_joining_group.
42135         Reported by Simon Josefsson.
42137 2011-03-21  Jim Meyering  <meyering@redhat.com>
42139         strftime: fix a bug in yesterday's change
42140         * lib/strftime.c (add): Accommodate width's initial value of -1.
42141         Otherwise, nstrftime would copy uninitialized data into
42142         the result buffer.
42144 2011-03-21  Jim Meyering  <meyering@redhat.com>
42146         tests: add strftime-tests module
42147         * tests/test-strftime.c: New file.
42148         * modules/strftime-tests: New module.
42150 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
42152         strftime: don't assume a byte count fits in 'int'
42153         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
42154         found this problem by static analysis, using gcc -Wstrict-overflow
42155         (GCC 4.5.2, x86-64).  This reported an optimization that depended
42156         on an integer overflow having undefined behavior, but it turns out
42157         that the argument is a size, which might not fit in 'int' anyway,
42159 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
42161         stdio: don't require ignore_value around fwrite
42163         This patch works around libc bug 11959
42164         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
42165         Without this patch, applications must often write
42166         ignore_value (fwrite (...)) even though the ignore_value is
42167         not helpful here.  It's common to write many objects, using
42168         fwrite/printf/etc., and then use ferror to detect output error.
42170         I considered making this patch optional, but decided against it,
42171         because libc is obviously being inconsistent here: there is no
42172         reason libc should insist that user code must inspect fwrite
42173         return's value without also insisting that it inspect printf's,
42174         putchar's, etc.  If user code wants to have a strict style where
42175         all these functions' values are checked (so that ferror need not
42176         be checked), we could add support for that style in a new gnulib
42177         module, but in the meantime it's better to be consistent and to
42178         support common usage.
42180         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
42181         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
42182         that we are compiling in checking mode, and if not C++, and
42183         if not already wrapping fwrite for some other reason.
42184         (fwrite): #define to rpl_fwrite if the latter is defined.
42186 2011-03-20  Bruno Haible  <bruno@clisp.org>
42188         verror: Fix compilation error introduced on 2011-02-13.
42189         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
42190         instead of __attribute__.
42191         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
42193 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
42194             Bruno Haible  <bruno@clisp.org>
42196         socklen: do not depend on sys_socket
42197         While trying to modify Emacs to use gnulib's socklen module,
42198         I discovered a circular dependency: socklen depends on sys_socket
42199         and vice versa.  Emacs can use socklen, but it does not need
42200         sys_socket because it has its own substitute for sys/socket.h.
42201         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
42202         gl_TYPE_SOCKLEN_T.
42203         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
42204         gl_PREREQ_SYS_H_SOCKET.
42205         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
42206         gl_PREREQ_SYS_H_SOCKET.
42207         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
42208         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
42209         * modules/socklen (Depends-on): Do not depend on sys_socket.
42210         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
42212 2011-03-20  Jim Meyering  <meyering@redhat.com>
42214         maint.mk: sort file names *after* new transformation
42215         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
42216         prefix would have led to an unwarranted failure in GNU parted.
42217         Sort after that transformation.
42219 2011-03-19  Jim Meyering  <meyering@redhat.com>
42221         maint.mk: fix po-file syntax-check rule
42222         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
42223         Patch by Bruno Haible.
42225 2011-03-19  Bruno Haible  <bruno@clisp.org>
42227         socklen: Update comment.
42228         * m4/socklen.m4: Update comment about platforms.
42230 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
42231             Bruno Haible  <bruno@clisp.org>
42233         inet_ntop, inet_pton: Simplify.
42234         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
42235         documented to provide socklen_t and we already depend on sys_socket.
42236         * modules/inet_pton (Depends-on): Likewise.
42237         * lib/arpa_inet.in.h: Adjust comment.
42239 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
42240             Bruno Haible  <bruno@clisp.org>
42242         netdb: Simplify.
42243         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
42244         documented to provide socklen_t and we already depend on sys_socket.
42245         * lib/netdb.in.h: Adjust comment.
42247 2011-03-19  Bruno Haible  <bruno@clisp.org>
42249         sys_socket, netdb: Document problem with socklen_t.
42250         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
42251         platforms.
42252         * doc/posix-headers/netdb.texi: Likewise.
42254 2011-03-18  Eric Blake  <eblake@redhat.com>
42256         maint.mk: let po check work in VPATH build
42257         * top/maint.mk (po_file): Allow cfg.mk override.
42258         (sc_po_check): Allow VPATH use.
42259         Reported by Jiri Denemark.
42261 2011-03-16  Jim Meyering  <meyering@redhat.com>
42263         maint.mk: allow fine-grained syntax-check exclusion via Make variables
42264         Before, you would have had to create one .x-sc_ file per rule in order
42265         to exempt offending files.  Now, you may instead use a Make variable --
42266         usually defined in cfg.mk -- whose name identifies the affected rule.
42267         * top/maint.mk (_sc_excl): Define.
42268         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
42269         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
42271 2011-03-13  Bruno Haible  <bruno@clisp.org>
42273         ignore-value tests: Avoid warnings.
42274         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
42275         empty for gcc < 3.4.
42277 2011-03-13  Bruno Haible  <bruno@clisp.org>
42279         passfd: Fix link error on Solaris.
42280         * modules/passfd (Description): Correct.
42281         (Depends-on): Add socketlib.
42282         (Link): New section.
42283         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
42285 2011-03-13  Bruno Haible  <bruno@clisp.org>
42287         passfd: Fix link error on AIX 5.2.
42288         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
42290 2011-03-13  Bruno Haible  <bruno@clisp.org>
42292         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
42293         * lib/sys_socket.in.h: Include <stddef.h>.
42294         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
42295         CMSG_FIRSTHDR. Remove unused variable.
42297 2011-03-13  Bruno Haible  <bruno@clisp.org>
42299         passfd: Fix compilation error on OpenBSD.
42300         * lib/passfd.c: Include <sys/uio.h>.
42302 2011-03-13  Bruno Haible  <bruno@clisp.org>
42304         passfd test: Fix warnings.
42305         * tests/test-passfd.c: Include <sys/wait.h>.
42306         (main): Fix typo.
42308 2011-03-13  Bruno Haible  <bruno@clisp.org>
42310         passfd module, part 4, tweaks.
42311         * tests/test-passfd.c: Reorder includes.
42312         (main): Fix perror and printf calls.
42314 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
42316         passfd module, part 4.
42317         * modules/passfd-tests: New file.
42318         * tests/test-passfd.c: New file.
42320 2011-03-13  Jim Meyering  <meyering@redhat.com>
42322         Makefile: rely on GNU make; derive syntax-check rule names
42323         Rather than requiring that each sc_ rule be listed as a dependent
42324         of "check", use features of GNU make to derive the list.
42325         * Makefile (syntax-check-rules): Define.
42326         (check): Depend on the new variable, not the hard-coded list.
42328 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
42329             Bruno Haible  <bruno@clisp.org>
42331         passfd module, part 3.
42332         * lib/passfd.h (recvfd): Add a flags argument.
42333         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
42334         (recvfd): Add a flags argument.
42335         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
42336         exists.
42337         * modules/passfd (Depends-on): Add cloexec.
42338         Suggested by Eric Blake.
42340 2011-03-13  Bruno Haible  <bruno@clisp.org>
42342         passfd module, part 2, tweaks.
42343         * modules/passfd (Files): Reorder.
42344         (Depends-on): Remove errno.
42345         (Include): Remove <sys/socket.h>, <sys/un.h>.
42346         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
42347         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
42348         specification header. Include <sys/socket.h> always. Don't include
42349         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
42350         (sendfd): Clarify that it sets errno when it fails.
42351         (recvfd): Fix specification.
42353 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
42355         passfd module, part 2.
42356         * modules/passfd: New file.
42357         * lib/passfd.h: New file.
42358         * lib/passfd.c: New file.
42360 2011-03-12  Bruno Haible  <bruno@clisp.org>
42362         wcswidth, mbswidth: Avoid integer overflow.
42363         * lib/wcswidth.c: Include <limits.h>.
42364         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
42365         * lib/mbswidth.c: Include <limits.h>.
42366         (mbsnwidth): Avoid 'int' overflow.
42367         Reported by Jim Meyering.
42369 2011-03-12  Bruno Haible  <bruno@clisp.org>
42371         futimens, utimensat: Avoid endless recursion on Solaris 10.
42372         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
42373         Solaris.
42374         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
42375         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
42377 2011-03-11  Jim Meyering  <meyering@redhat.com>
42379         maint.mk: relax a regexp to accommodate other formatting styles
42380         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
42381         between "ngettext" and the following "(".
42383 2011-03-11  Pádraig Brady  <P@draigBrady.com>
42385         maint.mk: suppress a false positive warning
42386         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
42387         diagnostics are marked with ngettext.
42389 2011-03-10  Eric Blake  <eblake@redhat.com>
42391         wchar: add explicit dependencies, for Tru64
42392         * modules/mbmemcasecoll (Depends-on): Add wchar.
42393         * modules/mbtowc (Depends-on): Likewise.
42394         * modules/vasnprintf (Depends-on): Likewise.
42395         * modules/unistdio/u-printf-args (Depends-on): Likewise.
42396         * modules/wctomb (Depends-on): Likewise.
42397         Reported by Peter O'Gorman.
42399 2011-03-08  Bruno Haible  <bruno@clisp.org>
42401         passfd module, part 1, tweaks.
42402         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
42403         Improve indentation. Improve AC_MSG_CHECKING messages.
42404         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
42405         gl_SOCKET_FAMILIES.
42407 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
42409         passfd module, part 1.
42410         * m4/afunix.m4: New file.
42411         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
42412         sockets.
42414 2011-03-08  Bruno Haible  <bruno@clisp.org>
42416         regex-quote: New API.
42417         * lib/regex-quote.h: Include <stdbool.h>.
42418         (struct regex_quote_spec): New type.
42419         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
42420         New declarations.
42421         (regex_quote_length, regex_quote_copy, regex_quote): Take a
42422         'const struct regex_quote_spec *' argument.
42423         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
42424         (pcre_special): New constant.
42425         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
42426         New functions.
42427         (regex_quote_length, regex_quote_copy, regex_quote): Take a
42428         'const struct regex_quote_spec *' argument.
42429         * modules/regex-quote (Depends-on): Add stdbool.
42430         * tests/test-regex-quote.c (check): Update for new API. Add test for
42431         anchored results.
42432         * NEWS: Mention the API change.
42433         Reported by Reuben Thomas and Eric Blake.
42435 2011-03-06  Bruno Haible  <bruno@clisp.org>
42437         regex-quote: Fix creation of POSIX extended regular expressions.
42438         * lib/regex-quote.c (ere_special): Add grouping and alternation
42439         operators.
42441 2011-03-05  Bruno Haible  <bruno@clisp.org>
42443         doc: Improve doc regarding autopoint vs. gnulib.
42444         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
42445         disable autopoint while running autoreconf.
42446         Suggested by Ralf Wildenhues.
42448 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42450         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
42451         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
42453 2011-03-03  Bruce Korb  <bkorb@gnu.org>
42455         parse-duration: remove xalloc.h dependency
42456         * lib/parse-duration.c (parse_period): handle NULL return from
42457         strdup instead of calling xstrdup().
42458         * modules/parse-duration: remove "xalloc" dependency
42460 2011-03-03  Matthew Booth  <mbooth@redhat.com>
42462         bootstrap: honor m4_base when running aclocal
42463         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
42465 2011-03-02  Jim Meyering  <meyering@redhat.com>
42467         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
42468         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
42469         on request from Matt Booth.
42471 2011-03-01  Eric Blake  <eblake@redhat.com>
42473         test-link: work on Hurd
42474         * tests/test-link.h (test_link): Hurd rejects linking directories
42475         with EISDIR instead of the POSIX-mandated EPERM.
42477 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
42479         stdio: simplify by moving files to printf-posix, sigpipe
42480         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
42481         since this symbol is needed only if printf is replaced.
42482         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
42483         Require gl_ASM_SYMBOL_PREFIX.
42484         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
42485         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
42486         (Depends-on): Add 'raise'.
42487         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
42488         * modules/stdio (Files): Remove lib/stdio-write.c,
42489         m4/asm-underscore.m4.
42490         (Depends-on): Remove 'raise'.
42492         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
42493         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
42494         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
42495         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
42497 2011-02-28  Bruno Haible  <bruno@clisp.org>
42499         localcharset: Assume ANSI C behaviour of free().
42500         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
42501         calling free().
42502         Suggested by Simon Josefsson <simon@josefsson.org>.
42504 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
42505             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
42506             Bruno Haible  <bruno@clisp.org>  (tiny change)
42508         On Cygwin, use /proc file system instead of win32 API.
42509         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
42510         Win32 file names.
42511         (DllMain): Simplify by removing Cygwin specific code.
42512         (find_shared_library_fullname): Use Linux specific implementation also
42513         for Cygwin.
42514         (get_shared_library_fullname): Update accordingly.
42515         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
42516         Win32 file names.
42517         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
42518         Cygwin specific code.
42520 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
42521             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
42523         Fix OpenMP flag detection for various Fortran compilers.
42524         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
42525         OpenMP-conditional compilation construct, to force compile
42526         failure with missing OpenMP flag.
42527         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
42529 2011-02-25  Eric Blake  <eblake@redhat.com>
42531         strstr: expand test coverage
42532         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
42533         compilation.
42534         * tests/test-memmem.c (main): Duplicate tests.
42535         * tests/test-strcasestr.c (main): Likewise.
42536         * tests/test-c-strcasestr.c (main): Likewise.
42538 2011-02-25  Jim Meyering  <meyering@redhat.com>
42540         maint.mk: detect missing-NL-at-EOF, too
42541         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
42542         it also detects when a file lacks a newline at EOF.
42543         (require_exactly_one_NL_at_EOF_): Renamed from
42544         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
42545         since people may well have .x-sc_... file names tied to the
42546         existing name.  Suggested by Eric Blake.
42548 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
42550         dirname: move m4/dos.m4 functionality into lib/dosname.h
42552         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
42553         extracts symbols from it, puts them into config.h; but it's much
42554         easier to use the symbols directly.  filename.h already does this,
42555         but it disagrees with dos.m4 in some respects.  This patch
42556         introduces a different include file dosname.h that packages up
42557         dos.m4, and then later we can work on merging filename.h and
42558         dosname.h.  Applications that need only the easy-to-configure
42559         symbols should consider including dosname.h rather than dirname.h.
42560         * NEWS: Mention incompatible changes.
42561         * m4/dos.m4: Remove.
42562         * lib/dosname.h, modules/dosname: New files.
42563         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
42564         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
42565         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
42566         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
42567         Include dosname.h, not dirname.h.
42568         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
42569         Include dosname.h, for definitions of symbols like ISSLASH
42570         that used to be in config.h.
42571         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
42572         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
42573         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
42574         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
42575         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
42576         * modules/rmdir (Files): Likewise.
42577         * modules/stat (Files): Likewise.
42578         * modules/unlink (Files): Likewise.
42579         * modules/dirname-lgpl (Depends-on): Add dosname.
42580         * modules/lstat (Depends-on): Likewise.
42581         * modules/openat (Depends-on): Likewise.
42582         * modules/rmdir (Depends-on): Likewise.
42583         * modules/savewd (Depends-on): Likewise.
42584         * modules/stat (Depends-on): Likewise.
42585         * modules/unlink (Depends-on): Likewise.
42586         * modules/openat (Depends-on): Remove dirname-lgpl.
42587         * modules/savewd (Depends-on): Likewise.
42588         * tests/test-dirname.c: Do not use removed symbols like
42589         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
42590         the remaining symbols, e.g., ISSLASH ('\\').
42592 2011-02-25  Eric Blake  <eblake@redhat.com>
42594         strstr: revert patches that introduced bug and pessimization
42595         * lib/str-two-way.h: Add another reference.
42596         (two_way_short_needle, two_way_long_needle): Revert changes from
42597         2011-02-24; they pessimize search speed.
42598         (critical_factorization): Partially revert changes from
42599         2010-06-22; they violate the requirement that the left half of the
42600         needle be smaller than the period of the needle.
42602 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
42604         filenamecat: remove unnecessary dependency on dirname-lgpl
42605         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
42606         is no direct dependency, just an indirect one via filenamecat-lgpl.
42608         remove: remove unnecessary use of m4/dos.m4
42609         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
42610         * modules/remove (FILES): Remove m4/dos.m4.
42612         * lib/openat-proc.c: Don't include dirname.h; not needed.
42614         backupfile: remove unnecessary use of m4/dos.m4
42615         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
42616         of its symbols are used by the backupfile code.  backupfile.c does
42617         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
42618         for the rare case of programs that want all their backup file
42619         names to live within 8+3 limits, and dos.m4 doesn't address that.
42620         * modules/backupfile (Files): Remove m4/dos.m4.
42622 2011-02-24  Jim Meyering  <meyering@redhat.com>
42624         strstr: fix a bug whereby strstr would mistakenly return NULL
42625         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
42626         in period calculation.
42627         (two_way_long_needle): Likewise.
42628         The original problem was reported by Mike Stump in
42629         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
42630         Ralf Wildenhues provided the short needle and haystack.
42631         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
42632         Add a more involved test to trigger the bug in two_way_long_needle.
42634 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
42636         gnulib-tool: remove use of bold display in help screen
42637         * gnulib-tool (func_usage): Do not use bold display anymore in the
42638         help screen.  That was just meant to be a temporary emphasis for a
42639         backward-incompatible change.
42641 2011-02-23  Bruno Haible  <bruno@clisp.org>
42643         Fix misindentation of preprocessor directives.
42644         * lib/argp-namefrob.h: Reindent preprocessor directives.
42645         * lib/getopt_int.h (struct _getopt_data): Likewise.
42646         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
42647         * lib/vasnprintf.c (decode_long_double): Likewise.
42648         * tests/test-argmatch.c: Insert blank lines, for clarity.
42649         * tests/test-exclude.c: Likewise.
42651 2011-02-22  Bruno Haible  <bruno@clisp.org>
42653         ioctl: Fix for MacOS X in 64-bit mode.
42654         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
42655         value.
42656         Suggested by Eric Blake.
42657         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
42659 2011-02-22  Jim Meyering  <meyering@redhat.com>
42661         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
42662         * Makefile (sc_cpp_indent_check): Don't limit the check to files
42663         in lib/.
42665 2011-02-22  Eric Blake  <eblake@redhat.com>
42667         maint: avoid any CDPATH issue
42668         * Makefile (sc_cpp_indent_check): Anchor cd argument.
42670         maint: adjust cpp indentation for my modules, as well
42671         * Makefile (sc_cpp_indent_check): Add my name.
42672         * lib/fbufmode.c: Filter through cppi.
42673         * lib/fpurge.c: Likewise.
42674         * lib/freadable.c: Likewise.
42675         * lib/freading.c: Likewise.
42676         * lib/fwritable.c: Likewise.
42677         * lib/fwriting.c: Likewise.
42678         * lib/sigaction.c: Likewise.
42680 2011-02-22  Jim Meyering  <meyering@redhat.com>
42682         maint: adjust cpp indentation to reflect nesting depth
42683         I.e., in a block of code that begins with an unnested "#if",
42684         put one space between the "#" in column 1 and following token.
42685         For example,
42686         -#include <sys/vfs.h>
42687         +# include <sys/vfs.h>
42688         Do this only in .c files that are part of a module I maintain.
42689         * lib/linkat.c: Filter through cppi.
42690         * lib/nanosleep.c: Likewise.
42691         * lib/openat.c: Likewise.
42692         * lib/openat-die.c: Likewise.
42693         * lib/dup3.c: Likewise.
42694         * lib/fchownat.c: Likewise.
42695         * lib/flock.c: Likewise.
42696         * lib/fsync.c: Likewise.
42697         * lib/fts.c: Likewise.
42698         * lib/getpass.c: Likewise.
42699         * lib/gettimeofday.c: Likewise.
42700         * lib/userspec.c: Likewise.
42701         * Makefile (sc_cpp_indent_check): New rule, to check this.
42703 2011-02-22  Bruno Haible  <bruno@clisp.org>
42705         New module 'wctomb'.
42706         * lib/stdlib.in.h (wctomb): New declaration.
42707         * lib/wctomb.c: New file.
42708         * lib/wctomb-impl.h: New file.
42709         * m4/wctomb.m4: New file.
42710         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
42711         REPLACE_WCTOMB.
42712         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
42713         REPLACE_WCTOMB.
42714         * modules/wctomb: New file.
42715         * tests/test-stdlib-c++.cc: Test signature of wctomb.
42716         * doc/posix-functions/wctomb.texi: Mention the new module.
42717         * modules/wctob (Depends-on): Add wctomb.
42719 2011-02-22  Bruno Haible  <bruno@clisp.org>
42721         New module 'mbtowc'.
42722         * lib/stdlib.in.h (mbtowc): New declaration.
42723         * lib/mbtowc.c: New file.
42724         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
42725         * m4/mbtowc.m4: New file.
42726         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
42727         REPLACE_MBTOWC.
42728         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
42729         REPLACE_MBTOWC.
42730         * modules/mbtowc: New file.
42731         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
42732         * doc/posix-functions/mbtowc.texi: Mention the new module.
42733         * modules/btowc (Depends-on): Add mbtowc.
42735 2011-02-22  Bruno Haible  <bruno@clisp.org>
42737         wcrtomb: Add more tests for native Windows platforms.
42738         * tests/test-wcrtomb-w32-1.sh: New file.
42739         * tests/test-wcrtomb-w32-2.sh: New file.
42740         * tests/test-wcrtomb-w32-3.sh: New file.
42741         * tests/test-wcrtomb-w32-4.sh: New file.
42742         * tests/test-wcrtomb-w32-5.sh: New file.
42743         * tests/test-wcrtomb-w32.c: New file.
42744         * modules/wcrtomb-tests (Files): Add them.
42745         (Makefile.am): Arrange to run these tests.
42746         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
42747         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
42749 2011-02-20  Bruno Haible  <bruno@clisp.org>
42751         wcrtomb: Enhance test.
42752         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
42754 2011-02-20  Bruno Haible  <bruno@clisp.org>
42756         mbrtowc: Tiny optimization.
42757         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
42759 2011-02-20  Jim Meyering  <meyering@redhat.com>
42761         test-exclude.c: remove unmatched #endif
42762         * tests/test-exclude.c: Remove stray #endif, left over from
42763         the change of a week ago.
42765 2011-02-19  Jim Meyering  <meyering@redhat.com>
42767         git-version-gen: skip "-dirty" check when appropriate
42768         * build-aux/git-version-gen: Don't run any git commands when the
42769         version string comes from .tarball-version.  Prior to this, we
42770         would run git update-index --refresh even from a just-unpacked
42771         tarball directory, and that could affect a .git/ directory in a
42772         parent of the build directory.  Reported by Mike Frysinger.
42774 2011-02-19  Bruno Haible  <bruno@clisp.org>
42776         unictype/property-byname: Reduce the size of the 'data' segment.
42777         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
42779 2011-02-19  Bruno Haible  <bruno@clisp.org>
42781         unictype/scripts: Reduce the size of the 'data' segment.
42782         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
42783         '%pic'.
42784         * lib/unictype/scripts_byname.gperf: Regenerated.
42786 2011-02-19  Bruno Haible  <bruno@clisp.org>
42788         stdint: Update documentation.
42789         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
42791 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
42793         stdint: omit redundant check for wchar.h
42794         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
42795         always tests whether wchar.h exists, so remove the now-redundant test.
42797 2011-02-18  Bruno Haible  <bruno@clisp.org>
42799         stdint: Cut dependency to module 'wchar'.
42800         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
42801         include the necessary prerequisites.
42802         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
42803         * modules/stdint (Depends-on): Remove wchar.
42804         (Makefile.am): Substitute HAVE_WCHAR_H.
42805         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
42807 2011-02-18  Eric Blake  <eblake@redhat.com>
42809         longlong: skip, rather than fail, on cross-compilation
42810         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
42811         when cross-compiling; regression from 2011-02-16.
42813 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
42815         * NEWS: Mention 2011-02-08 change to stdlib.
42817 2011-02-17  Bruno Haible  <bruno@clisp.org>
42819         getloadavg: Add comments about platforms.
42820         * m4/getloadavg.m4: Add comment.
42821         * lib/getloadavg.c: Likewise.
42823 2011-02-17  Bruno Haible  <bruno@clisp.org>
42825         getloadavg: Fix link error on Solaris 2.6.
42826         * modules/getloadavg (Link): New section.
42827         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
42828         linking test-getloadavg.
42829         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
42830         getloadavg.
42832 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
42834         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
42835         It was 'int', but this doesn't match the IRIX 6.5 manual.
42836         Suggested by Bruno Haible in
42837         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00207.html>.
42839 2011-02-17  Bruno Haible  <bruno@clisp.org>
42841         havelib: Fix comments.
42842         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
42843         change.
42845 2011-02-17  Bruno Haible  <bruno@clisp.org>
42847         havelib: Update config.rpath.
42848         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
42850 2011-02-17  Bruno Haible  <bruno@clisp.org>
42852         getloadavg test: Add some plausibility checks.
42853         * tests/test-getloadavg.c (check_avg): Print a warning when the value
42854         is improbable.
42856 2011-02-16  Eric Blake  <eblake@redhat.com>
42858         maintainer-makefile: make syntax-check a no-op from tarballs
42859         * top/maint.mk (no-vc-detected): New rule.
42860         (local-checks-available): Use it to avoid hanging if someone tries
42861         'make syntax-check' from a tarball.  Also append to any non-syntax
42862         checks already defined in cfg.mk.
42864 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
42866         longlong: tune, particularly for common case of c99
42868         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
42869         or running anything if c99, or if unsigned long long int does not
42870         work.  In either case, we know the answer without further tests.
42871         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
42872         it at most once, and use its results for both long long int and
42873         unsigned long long int.  This is more likely to be efficient in
42874         the common case where the program wants to check for both long
42875         long int and unsigned long long int.
42876         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
42877         since the answer is already known.
42879 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
42881         getloadavg: set errno
42882         * lib/getloadavg.c: Set errno when returning -1.  If no other
42883         error number looks appropriate, set it to ENOSYS if the getloadavg
42884         looks like it can't possibly ever work, ENOTSUP otherwise.
42885         Suggested by Bruno Haible in
42886         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00187.html>.
42888         getloadavg: trim unused parts and speed up 'configure'
42889         * NEWS: Document this.
42890         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
42891         always compiled if getloadavg is absent.
42892         Move test code to ...
42893         * tests/test-getloadavg.c: New file, containing previous
42894         contents of test from lib/getloadavg.c.  It also contains
42895         suggestions by Bruno Haible in
42896         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00186.html>.
42897         * modules/getloadavg-tests: New file.
42898         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
42899         Do tests in the same order as they're needed for getloadavg.c.
42900         Omit setgid-related tests that generate symbols KMEM_GROUP,
42901         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
42902         Do only the tests that are needed to see whether the system has
42903         getloadavg, moving the other tests into ...
42904         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
42905         NLIST_NAME_UNION; nobody should be using it.  Do not define
42906         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
42907         relevant, as the user of this module shouldn't care how getloadavg
42908         is implemented.
42910         getloadavg: omit unused var
42911         * lib/getloadavg.c (getloadavg): Omit unused local variable.
42913 2011-02-15  Jim Meyering  <meyering@redhat.com>
42915         doc: update users.txt
42916         * users.txt: Update iwhd's URL.
42918 2011-02-13  Bruno Haible  <bruno@clisp.org>
42920         Consistent macro naming for macros that use GCC __attribute__.
42921         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
42922         _ATTRIBUTE_NONNULL_.
42923         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
42924         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
42925         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
42926         ATTRIBUTE_DEPRECATED.
42927         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
42928         ATTRIBUTE_NORETURN.
42929         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
42930         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
42931         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
42932         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
42933         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
42934         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
42935         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
42936         ATTRIBUTE_SENTINEL.
42937         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
42938         ATTRIBUTE_RETURN_CHECK.
42939         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
42940         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
42941         ATTRIBUTE_NORETURN.
42942         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
42943         Reported by Paul Eggert.
42945 2011-02-13  Bruno Haible  <bruno@clisp.org>
42947         Don't interfere with a program's definition of __attribute__.
42948         * lib/argp.h (__attribute__): Remove definition.
42949         (_GL_ATTRIBUTE_FORMAT): New macro.
42950         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
42951         * lib/argp-fmtstream.h (__attribute__): Remove definition.
42952         (_GL_ATTRIBUTE_FORMAT): New macro.
42953         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
42954         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
42955         GCC 3 or newer.
42956         * lib/error.h (__attribute__): Remove definition.
42957         (_GL_ATTRIBUTE_FORMAT): New macro.
42958         (error, error_at_line): Use it.
42959         * lib/hash.h (__attribute__): Remove definition.
42960         (ATTRIBUTE_WUR): Update definition. Define always.
42961         * lib/openat.h (__attribute__): Remove definition.
42962         (ATTRIBUTE_NORETURN): Update definition. Define always.
42963         * lib/sigpipe-die.h (__attribute__): Remove definition.
42964         (ATTRIBUTE_NORETURN): Update definition. Define always.
42965         * lib/vasnprintf.h (__attribute__): Remove definition.
42966         (_GL_ATTRIBUTE_FORMAT): New macro.
42967         (asnprintf, vasnprintf): Use it.
42968         * lib/xalloc.h (__attribute__): Remove definition.
42969         (ATTRIBUTE_NORETURN): Update definition. Define always.
42970         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
42971         * lib/xmemdup0.h (__attribute__): Remove definition.
42972         (ATTRIBUTE_NORETURN): Update definition. Define always.
42973         * lib/xprintf.h (__attribute__): Remove definition.
42974         (_GL_ATTRIBUTE_FORMAT): New macro.
42975         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
42976         * lib/xstrtol.h (__attribute__): Remove definition.
42977         (ATTRIBUTE_NORETURN): Update definition. Define always.
42978         * lib/xvasprintf.h (__attribute__): Remove definition.
42979         (_GL_ATTRIBUTE_FORMAT): New macro.
42980         (xasprintf, xvasprintf): Use it.
42981         * tests/test-argmatch.c (__attribute__): Remove definition.
42982         (ATTRIBUTE_NORETURN): Update definition. Define always.
42983         * tests/test-exclude.c (__attribute__): Remove definition.
42984         (ATTRIBUTE_NORETURN): Update definition. Define always.
42985         Reported by Paul Eggert.
42987 2011-02-13  Bruno Haible  <bruno@clisp.org>
42989         mbrtowc: Add more tests for native Windows platforms.
42990         * tests/test-mbrtowc-w32-1.sh: New file.
42991         * tests/test-mbrtowc-w32-2.sh: New file.
42992         * tests/test-mbrtowc-w32-3.sh: New file.
42993         * tests/test-mbrtowc-w32-4.sh: New file.
42994         * tests/test-mbrtowc-w32-5.sh: New file.
42995         * tests/test-mbrtowc-w32.c: New file.
42996         * modules/mbrtowc-tests (Files): Add them.
42997         (Makefile.am): Arrange to run these tests.
42998         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
42999         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
43001 2011-02-13  Bruno Haible  <bruno@clisp.org>
43003         mbrtowc: Work around native Windows bug.
43004         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
43005         guess when no suitable locale for testing was found.
43006         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
43008 2011-02-13  Bruno Haible  <bruno@clisp.org>
43010         mbsinit: Work around mingw bug.
43011         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
43012         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
43013         Windows.
43014         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
43016 2011-02-13  Bruno Haible  <bruno@clisp.org>
43018         mbsinit: Don't crash for a NULL argument.
43019         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
43020         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
43022 2011-02-13  Bruno Haible  <bruno@clisp.org>
43024         Don't interfere with a program's definition of __attribute__.
43025         * lib/stdio.in.h (__attribute__): Remove definition.
43026         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
43027         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
43028         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
43029         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
43030         * lib/string.in.h (__attribute__): Remove definition.
43031         Reported by Paul Eggert.
43033 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
43035         stdlib: don't get in the way of non-GCC __attribute__
43036         See thread starting at
43037         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00161.html>.
43038         Revert previous stdlib change, installing the following instead:
43039         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
43040         to get in the way of a non-GCC compiler that supports __attribute__.
43041         (_GL_ATTRIBUTE_RETURN): New macro.
43042         (_Exit): Use it instead of __attribute__.
43044 2011-02-12  Bruno Haible  <bruno@clisp.org>
43046         quotearg test: Avoid test failure on mingw.
43047         * tests/test-quotearg.sh: Convert the locale identifier from native
43048         Windows syntax to Unix syntax.
43050 2011-02-12  Bruno Haible  <bruno@clisp.org>
43052         setlocale: Prefer gnulib's override over libintl's override.
43053         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
43054         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
43055         GNULIB_defined_setlocale is set.
43057 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
43059         stdlib: support non-GCC __attribute__
43061         Fix a serious and tricky problem encountered when attempting to
43062         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
43063         5.5, but it crashed due to memory corruption on Solaris 10 with
43064         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
43065         bits that are otherwise zero.  This tagging is optional inside
43066         Emacs but is preferred and is used when __attribute__ ((__aligned
43067         (8))) works, as it does with both recent-enough GCC and with Sun C
43068         5.11.  However, Sun C 5.11 is not GCC and does not #define
43069         __GNUC__ and __GNUC_MINOR__.
43071         When I added the getloadavg module to Emacs, it brought in
43072         stdlib.in.h, which contained this fragment:
43074            #ifndef __attribute__
43075            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
43076            #  define __attribute__(Spec)   /* empty */
43077            # endif
43078            #endif
43080         When files that include <stdlib.h> were compiled with Sun C 5.11,
43081         the above code disabled __attribute__ ((__aligned (8))), which
43082         caused variables to not be properly aligned, which eventually led
43083         to the pointer corruption mentioned above.  (This was a bit hard
43084         to diagnose, unfortunately.)
43086         Several "#define __attribute__(X) /* empty */" code snippets need
43087         to be eradicated from Gnulib to work with non-GCC compilers that
43088         support __attribute__.  The Autoconf way to do this is to test for
43089         each kind of attribute that we want support for, and selectively
43090         enable that in source code.
43092         Fix this problem just for stdlib.h, by adding a test for the
43093         __noreturn__ attribute, and change stdlib.in.h to use that test
43094         when needed.  This technique can be easily generalized to the
43095         other *.in.h files and attributes, and a similar technique can be
43096         used for *.h and *.c files.  This patch is enough to solve the
43097         problem for Emacs + getloadavg, and I thought I'd publish it for
43098         feedback before undertaking further, similar fixes in other
43099         modules.
43101         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
43102         because it's not needed for stdlib.h.  It merely substitutes the
43103         value directly into stdlib.h.  We may well need to #define it, or
43104         similar symbols, for other modules, but it's nice to also have an
43105         option to not #define it for applications like Emacs that do not
43106         need it.
43108         * lib/stdlib.in.h (__attribute__): Do not #define.
43109         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
43110         be defined only if the _Exit module is also used.
43111         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
43112         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
43113         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
43114         platforms.
43115         * modules/_Exit (Files): Add m4/attribute.m4.
43116         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
43117         * m4/attribute.m4: New file.
43119 2011-02-12  Bruno Haible  <bruno@clisp.org>
43121         wcsrtombs: Work around bug on native Windows.
43122         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
43123         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
43124         instead of len.
43125         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
43127 2011-02-12  Bruno Haible  <bruno@clisp.org>
43129         mbsrtowcs: Work around bug on native Windows.
43130         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
43131         against mingw bug.
43132         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
43134 2011-02-12  Bruno Haible  <bruno@clisp.org>
43136         Avoid setlocale bugs in tests.
43137         * modules/btowc (Dependencies): Add setlocale.
43138         * modules/c-strcase (Dependencies): Likewise.
43139         * modules/mbmemcasecmp (Dependencies): Likewise.
43140         * modules/mbmemcasecoll (Dependencies): Likewise.
43141         * modules/mbrtowc (Dependencies): Likewise.
43142         * modules/mbscasecmp (Dependencies): Likewise.
43143         * modules/mbscasestr (Dependencies): Likewise.
43144         * modules/mbschr (Dependencies): Likewise.
43145         * modules/mbscspn (Dependencies): Likewise.
43146         * modules/mbsinit (Dependencies): Likewise.
43147         * modules/mbsncasecmp (Dependencies): Likewise.
43148         * modules/mbsnrtowcs (Dependencies): Likewise.
43149         * modules/mbspbrk (Dependencies): Likewise.
43150         * modules/mbspcasecmp (Dependencies): Likewise.
43151         * modules/mbsrchr (Dependencies): Likewise.
43152         * modules/mbsrtowcs (Dependencies): Likewise.
43153         * modules/mbsspn (Dependencies): Likewise.
43154         * modules/mbsstr (Dependencies): Likewise.
43155         * modules/nl_langinfo (Dependencies): Likewise.
43156         * modules/quotearg (Dependencies): Likewise.
43157         * modules/unicase/locale-language (Dependencies): Likewise.
43158         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
43159         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
43160         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
43161         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
43162         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
43163         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
43164         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
43165         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
43166         * modules/vasnprintf-posix (Dependencies): Likewise.
43167         * modules/wcrtomb (Dependencies): Likewise.
43168         * modules/wcsnrtombs (Dependencies): Likewise.
43169         * modules/wcsrtombs (Dependencies): Likewise.
43171 2011-02-12  Bruno Haible  <bruno@clisp.org>
43173         setlocale: Workaround native Windows bug.
43174         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
43175         succeeds but sets LC_CTYPE to "C", report a failure.
43176         * tests/test-setlocale2.sh: New file.
43177         * tests/test-setlocale2.c: New file.
43178         * modules/setlocale-tests (Files): Add the new files.
43179         (Makefile.am): Enable test-setlocale2.sh test.
43180         * doc/posix-functions/setlocale.texi: Mention workaround.
43182 2011-02-11  Bruno Haible  <bruno@clisp.org>
43184         Tests for module 'setlocale'.
43185         * modules/setlocale-tests: New file.
43186         * tests/test-setlocale1.sh: New file.
43187         * tests/test-setlocale1.c: New file.
43189         New module 'setlocale'.
43190         * lib/locale.in.h (setlocale): New declaration.
43191         * lib/setlocale.c: New file, based on
43192         gettext/gettext-runtime/intl/setlocale.c.
43193         * m4/setlocale.m4: New file.
43194         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
43195         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
43196         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
43197         REPLACE_SETLOCALE.
43198         * modules/setlocale: New file.
43199         * tests/test-locale-c++.cc: Test the declaration of setlocale.
43200         * doc/posix-functions/setlocale.texi: Mention the new module.
43202 2011-02-11  Bruno Haible  <bruno@clisp.org>
43204         Prepare for locale dependent tests on mingw.
43205         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
43206         because it has the wrong locale encoding.
43207         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
43208         French_France.1252 instead of "fr".
43209         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
43210         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
43211         because it has the wrong locale encoding.
43212         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
43213         native Windows, try Turkish_Turkey.65001.
43214         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
43215         Chinese_China.54936.
43217         Prepare for locale dependent tests on mingw.
43218         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
43219         differently.
43220         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
43221         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
43222         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
43223         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
43225 2011-02-11  Eric Blake  <eblake@redhat.com>
43227         strptime: avoid compiler warnings
43228         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
43229         compiler warnings about dead code.
43230         Reported by Daniel P. Berrange.
43232 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
43234         doc: update users.txt
43235         * users.txt: Add rcs.
43237 2011-02-10  John W. Eaton  <jwe@gnu.org>
43239         doc: update users.txt
43240         * users.txt: Add octave.
43242 2011-02-10  Jim Meyering  <meyering@redhat.com>
43244         doc: update users.txt
43245         * users.txt: Add iwhd.
43247 2011-02-09  Bruno Haible  <bruno@clisp.org>
43249         gnulib-tool: Make copyright notice adjustment more robust.
43250         * gnulib-tool (func_import): In sed_transform_main_lib_file,
43251         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
43252         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
43253         License".
43254         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
43256 2011-02-06  Bruno Haible  <bruno@clisp.org>
43258         New module 'towctrans'.
43259         * modules/towctrans: New file.
43260         * lib/wctype.in.h (towctrans): New declaration.
43261         * lib/towctrans.c: New file.
43262         * lib/towctrans-impl.h: New file.
43263         * m4/towctrans.m4: New file.
43264         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
43265         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
43266         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
43267         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
43268         * doc/posix-functions/towctrans.texi: Mention the new module.
43270 2011-02-06  Bruno Haible  <bruno@clisp.org>
43272         New module 'wctrans'.
43273         * modules/wctrans: New file.
43274         * lib/wctype.in.h (wctrans): New declaration.
43275         * lib/wctrans.c: New file.
43276         * lib/wctrans-impl.h: New file.
43277         * m4/wctrans.m4: New file.
43278         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
43279         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
43280         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
43281         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
43282         * doc/posix-functions/wctrans.texi: Mention the new module.
43284 2011-02-06  Bruno Haible  <bruno@clisp.org>
43286         New module 'iswctype'.
43287         * modules/iswctype: New file.
43288         * lib/wctype.in.h (iswctype): New declaration.
43289         * lib/iswctype.c: New file.
43290         * lib/iswctype-impl.h: New file.
43291         * m4/iswctype.m4: New file.
43292         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
43293         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
43294         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
43295         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
43296         * doc/posix-functions/iswctype.texi: Mention the new module and the
43297         HP-UX 11.00 problem.
43299 2011-02-06  Bruno Haible  <bruno@clisp.org>
43301         New module 'wctype'.
43302         * modules/wctype: Change to represent the wctype() substitute.
43303         * lib/wctype.in.h (wctype): New declaration.
43304         * lib/wctype.c: New file.
43305         * lib/wctype-impl.h: New file.
43306         * m4/wctype.m4: New file.
43307         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
43308         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
43309         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
43310         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
43311         * doc/posix-functions/wctype.texi: Mention the new module and the
43312         HP-UX 11.00 problem.
43314 2011-02-06  Bruno Haible  <bruno@clisp.org>
43316         wctype-h: Ensure wctype_t and wctrans_t are defined.
43317         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
43318         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
43319         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
43320         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
43321         HAVE_WCTRANS_T.
43322         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
43324 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
43326         flock: fix license typo
43328         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
43329         omitted.
43331 2011-02-08  Bruno Haible  <bruno@clisp.org>
43333         Split large sed scripts, for HP-UX sed.
43334         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
43335         to avoid HP-UX limit of 99 commands, in the near future.
43336         * modules/stdlib (Makefile.am): Likewise.
43337         * modules/unistd (Makefile.am): Likewise.
43338         * modules/wchar (Makefile.am): Likewise.
43339         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
43340         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
43341         <http://lists.gnu.org/r/bug-gnulib/2010-01/msg00216.html>.
43343 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
43344             Bruno Haible  <bruno@clisp.org>
43346         stdlib: improve random_r modularization
43347         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
43348         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
43349         you also need the random_r module to get this material right.
43350         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
43351         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
43352         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
43354 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
43356         stdlib: don't depend on stdint
43357         * lib/stdlib.in.h: Don't include <stdint.h> merely because
43358         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
43359         be independent of whether stdint.h is needed.
43360         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
43361         here, instead of ...
43362         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
43363         struct random_data should be using the random_r module, not just
43364         the stdlib module (which wouldn't make sense: what package needs
43365         just struct random_data without also needing random_r?).
43366         * modules/stdlib (Depends-on): Remove stdint.
43368         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
43369         See the thread rooted at
43370         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00090.html>.
43371         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
43372         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
43373         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
43374         __VMS)); previously it was always included (via fcntl--.h).
43375         (getloadavg): Do not use c_strtod.  Instead, approximate it by
43376         hand; this is good enough for load averages.  Also, do not use
43377         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
43378         flags directly if available and don't bother otherwise.  (Packages
43379         that need the extra reliability should use the modules that define
43380         these flags on older platforms that lack them.)
43381         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
43382         fcntl-safer.
43384 2011-02-08  Jim Meyering  <meyering@redhat.com>
43386         di-set.h, ino-map.h: add multiple-inclusion guard
43387         Technically, the guard is required only for ino-map.h, due to its
43388         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
43389         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
43390         * lib/ino-map.h: Likewise.
43392 2011-02-06  Bruno Haible  <bruno@clisp.org>
43394         iswblank: Ensure declaration on glibc systems.
43395         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
43396         * modules/iswblank (Dependencies): Add 'extensions'.
43397         * doc/posix-functions/iswblank.texi: Document the glibc problem.
43399 2011-02-06  Bruno Haible  <bruno@clisp.org>
43401         New module 'iswblank'.
43402         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
43403         * modules/iswblank: New file.
43404         * modules/wctype-h (Files): Remove lib/iswblank.c.
43405         (Makefile.am): Substitute GNULIB_ISWBLANK.
43406         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
43407         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
43408         (gl_WCTYPE_H_DEFAULTS): New macro.
43409         (gl_WCTYPE_H): Require it. Remove iswblank related code.
43410         * modules/iswblank-tests: New file.
43411         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
43412         * tests/test-wctype-h.c (main): Remove iswblank tests.
43413         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
43414         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
43415         of 'wctype-h'.
43416         * NEWS: Mention the change.
43417         * modules/mbchar (Depends-on): Add iswblank.
43419 2011-02-08  Bruno Haible  <bruno@clisp.org>
43421         di-set tests: Refactor.
43422         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
43423         unnecessary includes.
43424         (ASSERT): Remove macro.
43425         (main): Make C90 compliant by avoiding variable declaration after
43426         statement.
43427         * modules/di-set-tests (Files): Add tests/macros.h.
43429 2011-02-08  Bruno Haible  <bruno@clisp.org>
43431         ino-map tests: Refactor.
43432         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
43433         unnecessary includes.
43434         (ASSERT): Remove macro.
43435         (main): Make C90 compliant by avoiding variable declaration after
43436         statement.
43437         * modules/ino-map-tests (Files): Add tests/macros.h.
43439 2011-02-08  Jim Meyering  <meyering@redhat.com>
43441         di-set: add "const" to a cast
43442         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
43443         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
43445 2011-02-06  Bruno Haible  <bruno@clisp.org>
43447         Rename module 'wctype' to 'wctype-h'.
43448         * modules/wctype-h: Renamed from modules/wctype.
43449         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
43450         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
43451         (Files, Depends-on, Makefile.am): Update.
43452         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
43453         (Files, Makefile.am): Update.
43454         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
43455         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
43456         * doc/posix-headers/wctype.texi: Update.
43457         * doc/posix-functions/iswalnum.texi: Update.
43458         * doc/posix-functions/iswalpha.texi: Update.
43459         * doc/posix-functions/iswblank.texi: Update.
43460         * doc/posix-functions/iswcntrl.texi: Update.
43461         * doc/posix-functions/iswdigit.texi: Update.
43462         * doc/posix-functions/iswgraph.texi: Update.
43463         * doc/posix-functions/iswlower.texi: Update.
43464         * doc/posix-functions/iswprint.texi: Update.
43465         * doc/posix-functions/iswpunct.texi: Update.
43466         * doc/posix-functions/iswspace.texi: Update.
43467         * doc/posix-functions/iswupper.texi: Update.
43468         * doc/posix-functions/iswxdigit.texi: Update.
43469         * doc/posix-functions/towlower.texi: Update.
43470         * doc/posix-functions/towupper.texi: Update.
43471         * NEWS: Mention the change.
43472         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
43473         * modules/mbchar (Dependencies): Likewise.
43474         * modules/mbswidth (Dependencies): Likewise.
43475         * modules/quotearg (Dependencies): Likewise.
43476         * modules/regex (Dependencies): Likewise.
43477         * modules/wcscasecmp (Dependencies): Likewise.
43478         * modules/wcsncasecmp (Dependencies): Likewise.
43479         * modules/wcwidth (Dependencies): Likewise.
43481 2011-02-06  Bruno Haible  <bruno@clisp.org>
43483         New module 'wcswidth'.
43484         * modules/wcswidth: New file.
43485         * lib/wchar.in.h (wcswidth): New declaration.
43486         * lib/wcswidth.c: New file.
43487         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
43488         * m4/wcswidth.m4: New file.
43489         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
43490         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
43491         REPLACE_WCSWIDTH.
43492         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
43493         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
43494         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
43495         * doc/posix-functions/wcswidth.texi: Mention the new module.
43497 2011-02-06  Bruno Haible  <bruno@clisp.org>
43499         New module 'wcstok'.
43500         * modules/wcstok: New file.
43501         * lib/wchar.in.h (wcstok): New declaration.
43502         * lib/wcstok.c: New file.
43503         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
43504         * m4/wcstok.m4: New file.
43505         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
43506         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
43507         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
43508         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
43509         * doc/posix-functions/wcstok.texi: Mention the new module.
43511 2011-02-06  Bruno Haible  <bruno@clisp.org>
43513         New module 'wcsstr'.
43514         * modules/wcsstr: New file.
43515         * lib/wchar.in.h (wcsstr): New declaration.
43516         * lib/wcsstr.c: New file.
43517         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
43518         * m4/wcsstr.m4: New file.
43519         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
43520         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
43521         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
43522         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
43523         * doc/posix-functions/wcsstr.texi: Mention the new module.
43525 2011-02-06  Bruno Haible  <bruno@clisp.org>
43527         New module 'wcspbrk'.
43528         * modules/wcspbrk: New file.
43529         * lib/wchar.in.h (wcspbrk): New declaration.
43530         * lib/wcspbrk.c: New file.
43531         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
43532         * m4/wcspbrk.m4: New file.
43533         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
43534         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
43535         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
43536         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
43537         * doc/posix-functions/wcspbrk.texi: Mention the new module.
43539 2011-02-06  Bruno Haible  <bruno@clisp.org>
43541         New module 'wcsspn'.
43542         * modules/wcsspn: New file.
43543         * lib/wchar.in.h (wcsspn): New declaration.
43544         * lib/wcsspn.c: New file.
43545         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
43546         * m4/wcsspn.m4: New file.
43547         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
43548         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
43549         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
43550         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
43551         * doc/posix-functions/wcsspn.texi: Mention the new module.
43553 2011-02-06  Bruno Haible  <bruno@clisp.org>
43555         New module 'wcscspn'.
43556         * modules/wcscspn: New file.
43557         * lib/wchar.in.h (wcscspn): New declaration.
43558         * lib/wcscspn.c: New file.
43559         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
43560         * m4/wcscspn.m4: New file.
43561         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
43562         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
43563         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
43564         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
43565         * doc/posix-functions/wcscspn.texi: Mention the new module.
43567 2011-02-06  Bruno Haible  <bruno@clisp.org>
43569         New module 'wcsrchr'.
43570         * modules/wcsrchr: New file.
43571         * lib/wchar.in.h (wcsrchr): New declaration.
43572         * lib/wcsrchr.c: New file.
43573         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
43574         * m4/wcsrchr.m4: New file.
43575         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
43576         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
43577         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
43578         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
43579         * doc/posix-functions/wcsrchr.texi: Mention the new module.
43581 2011-02-06  Bruno Haible  <bruno@clisp.org>
43583         New module 'wcschr'.
43584         * modules/wcschr: New file.
43585         * lib/wchar.in.h (wcschr): New declaration.
43586         * lib/wcschr.c: New file.
43587         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
43588         * m4/wcschr.m4: New file.
43589         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
43590         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
43591         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
43592         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
43593         * doc/posix-functions/wcschr.texi: Mention the new module.
43595 2011-02-06  Bruno Haible  <bruno@clisp.org>
43597         New module 'wcsdup'.
43598         * modules/wcsdup: New file.
43599         * lib/wchar.in.h (wcsdup): New declaration.
43600         * lib/wcsdup.c: New file.
43601         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
43602         * m4/wcsdup.m4: New file.
43603         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
43604         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
43605         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
43606         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
43607         * doc/posix-functions/wcsdup.texi: Mention the new module.
43609 2011-02-06  Bruno Haible  <bruno@clisp.org>
43611         New module 'wcsxfrm'.
43612         * modules/wcsxfrm: New file.
43613         * lib/wchar.in.h (wcsxfrm): New declaration.
43614         * lib/wcsxfrm.c: New file.
43615         * lib/wcsxfrm-impl.h: New file.
43616         * m4/wcsxfrm.m4: New file.
43617         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
43618         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
43619         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
43620         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
43621         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
43623 2011-02-06  Bruno Haible  <bruno@clisp.org>
43625         New module 'wcscoll'.
43626         * modules/wcscoll: New file.
43627         * lib/wchar.in.h (wcscoll): New declaration.
43628         * lib/wcscoll.c: New file.
43629         * lib/wcscoll-impl.h: New file.
43630         * m4/wcscoll.m4: New file.
43631         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
43632         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
43633         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
43634         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
43635         * doc/posix-functions/wcscoll.texi: Mention the new module.
43637 2011-02-06  Bruno Haible  <bruno@clisp.org>
43639         New module 'wcsncasecmp'.
43640         * modules/wcsncasecmp: New file.
43641         * lib/wchar.in.h (wcsncasecmp): New declaration.
43642         * lib/wcsncasecmp.c: New file.
43643         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
43644         * m4/wcsncasecmp.m4: New file.
43645         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
43646         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
43647         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
43648         HAVE_WCSNCASECMP.
43649         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
43650         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
43652 2011-02-06  Bruno Haible  <bruno@clisp.org>
43654         New module 'wcscasecmp'.
43655         * modules/wcscasecmp: New file.
43656         * lib/wchar.in.h (wcscasecmp): New declaration.
43657         * lib/wcscasecmp.c: New file.
43658         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
43659         * m4/wcscasecmp.m4: New file.
43660         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
43661         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
43662         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
43663         HAVE_WCSCASECMP.
43664         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
43665         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
43667 2011-02-05  Bruno Haible  <bruno@clisp.org>
43669         New module 'wcsncmp'.
43670         * modules/wcsncmp: New file.
43671         * lib/wchar.in.h (wcsncmp): New declaration.
43672         * lib/wcsncmp.c: New file.
43673         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
43674         * m4/wcsncmp.m4: New file.
43675         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
43676         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
43677         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
43678         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
43679         * doc/posix-functions/wcsncmp.texi: Mention the new module.
43681 2011-02-05  Bruno Haible  <bruno@clisp.org>
43683         New module 'wcscmp'.
43684         * modules/wcscmp: New file.
43685         * lib/wchar.in.h (wcscmp): New declaration.
43686         * lib/wcscmp.c: New file.
43687         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
43688         * m4/wcscmp.m4: New file.
43689         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
43690         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
43691         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
43692         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
43693         * doc/posix-functions/wcscmp.texi: Mention the new module.
43695 2011-02-05  Bruno Haible  <bruno@clisp.org>
43697         New module 'wcsncat'.
43698         * modules/wcsncat: New file.
43699         * lib/wchar.in.h (wcsncat): New declaration.
43700         * lib/wcsncat.c: New file.
43701         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
43702         * m4/wcsncat.m4: New file.
43703         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
43704         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
43705         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
43706         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
43707         * doc/posix-functions/wcsncat.texi: Mention the new module.
43709 2011-02-05  Bruno Haible  <bruno@clisp.org>
43711         New module 'wcscat'.
43712         * modules/wcscat: New file.
43713         * lib/wchar.in.h (wcscat): New declaration.
43714         * lib/wcscat.c: New file.
43715         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
43716         * m4/wcscat.m4: New file.
43717         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
43718         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
43719         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
43720         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
43721         * doc/posix-functions/wcscat.texi: Mention the new module.
43723 2011-02-05  Bruno Haible  <bruno@clisp.org>
43725         New module 'wcpncpy'.
43726         * modules/wcpncpy: New file.
43727         * lib/wchar.in.h (wcpncpy): New declaration.
43728         * lib/wcpncpy.c: New file.
43729         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
43730         * m4/wcpncpy.m4: New file.
43731         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
43732         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
43733         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
43734         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
43735         * doc/posix-functions/wcpncpy.texi: Mention the new module.
43737 2011-02-05  Bruno Haible  <bruno@clisp.org>
43739         New module 'wcsncpy'.
43740         * modules/wcsncpy: New file.
43741         * lib/wchar.in.h (wcsncpy): New declaration.
43742         * lib/wcsncpy.c: New file.
43743         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
43744         * m4/wcsncpy.m4: New file.
43745         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
43746         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
43747         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
43748         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
43749         * doc/posix-functions/wcsncpy.texi: Mention the new module.
43751 2011-02-05  Bruno Haible  <bruno@clisp.org>
43753         New module 'wcpcpy'.
43754         * modules/wcpcpy: New file.
43755         * lib/wchar.in.h (wcpcpy): New declaration.
43756         * lib/wcpcpy.c: New file.
43757         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
43758         * m4/wcpcpy.m4: New file.
43759         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
43760         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
43761         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
43762         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
43763         * doc/posix-functions/wcpcpy.texi: Mention the new module.
43765 2011-02-05  Bruno Haible  <bruno@clisp.org>
43767         New module 'wcscpy'.
43768         * modules/wcscpy: New file.
43769         * lib/wchar.in.h (wcscpy): New declaration.
43770         * lib/wcscpy.c: New file.
43771         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
43772         * m4/wcscpy.m4: New file.
43773         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
43774         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
43775         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
43776         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
43777         * doc/posix-functions/wcscpy.texi: Mention the new module.
43779 2011-02-05  Bruno Haible  <bruno@clisp.org>
43781         New module 'wcsnlen'.
43782         * modules/wcsnlen: New file.
43783         * lib/wchar.in.h (wcsnlen): New declaration.
43784         * lib/wcsnlen.c: New file.
43785         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
43786         * m4/wcsnlen.m4: New file.
43787         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
43788         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
43789         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
43790         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
43791         * doc/posix-functions/wcsnlen.texi: Mention the new module.
43793 2011-02-05  Bruno Haible  <bruno@clisp.org>
43795         New module 'wcslen'.
43796         * modules/wcslen: New file.
43797         * lib/wchar.in.h (wcslen): New declaration.
43798         * lib/wcslen.c: New file.
43799         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
43800         * m4/wcslen.m4: New file.
43801         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
43802         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
43803         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
43804         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
43805         * doc/posix-functions/wcslen.texi: Mention the new module.
43807 2011-02-05  Bruno Haible  <bruno@clisp.org>
43809         New module 'wmemset'.
43810         * modules/wmemset: New file.
43811         * lib/wchar.in.h (wmemset): New declaration.
43812         * lib/wmemset.c: New file.
43813         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
43814         * m4/wmemset.m4: New file.
43815         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
43816         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
43817         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
43818         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
43819         * doc/posix-functions/wmemset.texi: Mention the new module.
43821 2011-02-05  Bruno Haible  <bruno@clisp.org>
43823         New module 'wmemmove'.
43824         * modules/wmemmove: New file.
43825         * lib/wchar.in.h (wmemmove): New declaration.
43826         * lib/wmemmove.c: New file.
43827         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
43828         * m4/wmemmove.m4: New file.
43829         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
43830         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
43831         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
43832         HAVE_WMEMMOVE.
43833         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
43834         * doc/posix-functions/wmemmove.texi: Mention the new module.
43836 2011-02-05  Bruno Haible  <bruno@clisp.org>
43838         New module 'wmemcpy'.
43839         * modules/wmemcpy: New file.
43840         * lib/wchar.in.h (wmemcpy): New declaration.
43841         * lib/wmemcpy.c: New file.
43842         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
43843         * m4/wmemcpy.m4: New file.
43844         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
43845         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
43846         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
43847         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
43848         * doc/posix-functions/wmemcpy.texi: Mention the new module.
43850 2011-02-05  Bruno Haible  <bruno@clisp.org>
43852         New module 'wmemcmp'.
43853         * modules/wmemcmp: New file.
43854         * lib/wchar.in.h (wmemcmp): New declaration.
43855         * lib/wmemcmp.c: New file.
43856         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
43857         * m4/wmemcmp.m4: New file.
43858         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
43859         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
43860         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
43861         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
43862         * doc/posix-functions/wmemcmp.texi: Mention the new module.
43864 2011-02-07  Jim Meyering  <meyering@redhat.com>
43866         di-set, ino-map: new modules, from coreutils
43867         * lib/di-set.c: New file.
43868         * lib/di-set.h: Likewise.
43869         * lib/ino-map.c: Likewise.
43870         * lib/ino-map.h: Likewise.
43871         * modules/di-set: Likewise.
43872         * modules/di-set-tests: Likewise.
43873         * modules/ino-map: Likewise.
43874         * modules/ino-map-tests: Likewise.
43875         * tests/test-di-set.c: Likewise.
43876         * tests/test-ino-map.c: Likewise.
43878 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
43880         getloadavg: merge minor changes from Emacs
43882         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
43883         (getloadavg): Use memset, not bzero.
43885         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
43886         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
43887         clash (bug#86).
43889 2010-11-14  Bruno Haible  <bruno@clisp.org>
43891         Allow multiple gnulib generated replacements to coexist.
43892         * lib/getopt.in.h (struct option): Avoid identical redefinition.
43893         * lib/inttypes.in.h (imaxdiv_t): Likewise.
43894         * lib/langinfo.in.h (nl_item): Likewise.
43895         * lib/math.in.h (_NaN, NAN): Likewise.
43896         * lib/netdb.in.h (struct addrinfo): Likewise.
43897         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
43898         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
43899         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
43900         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
43901         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
43902         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
43903         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
43904         pthread_mutexattr_init, pthread_mutexattr_settype,
43905         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
43906         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
43907         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
43908         pthread_spin_trylock, pthread_spin_unlock): Likewise.
43909         * lib/sched.in.h (struct sched_param): Likewise.
43910         * lib/se-selinux.in.h (security_class_t, security_context_t,
43911         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
43912         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
43913         lsetfilecon, fsetfilecon, security_check_context,
43914         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
43915         Likewise.
43916         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
43917         Likewise.
43918         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
43919         _gl_function_taking_int_returning_void_t, union sigval,
43920         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
43921         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
43922         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
43923         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
43924         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
43925         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
43926         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
43927         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
43928         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
43929         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
43930         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
43931         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
43932         socklen_t, rpl_fd_isset): Likewise.
43933         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
43934         * lib/sys_time.in.h (struct timeval): Likewise.
43935         * lib/sys_times.in.h (struct tms): Likewise.
43936         * lib/sys_utsname.in.h (struct utsname):
43937         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
43938         * lib/unistd.in.h (getpagesize): Likewise.
43939         * lib/wchar.in.h (mbstate_t): Likewise.
43940         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
43941         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
43942         towlower, towupper): Likewise.
43943         Reported by Sam Steingold <sds@gnu.org>.
43945 2011-02-05  Eric Blake  <eblake@redhat.com>
43947         unsetenv: work around Haiku issues
43948         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
43949         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
43951 2010-12-30  Bruce Korb  <bkorb@gnu.org>
43953         libposix: avoid calling error() within libposix
43954         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
43955         is defined.
43957 2011-02-05  Eric Blake  <eblake@redhat.com>
43959         strerror_r-posix: port to cygwin
43960         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
43961         implementation.
43962         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
43963         * tests/test-strerror_r.c (main): Fix test.
43964         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
43965         issue.
43967 2011-02-05  Bruno Haible  <bruno@clisp.org>
43969         New module 'wmemchr'.
43970         * modules/wmemchr: New file.
43971         * lib/wchar.in.h (wmemchr): New declaration.
43972         * lib/wmemchr.c: New file.
43973         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
43974         * m4/wmemchr.m4: New file.
43975         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
43976         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
43977         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
43978         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
43979         * doc/posix-functions/wmemchr.texi: Mention the new module.
43981 2011-02-04  Eric Blake  <eblake@redhat.com>
43983         fdopendir: detect FreeBSD bug
43984         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
43985         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
43987 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
43989         stdbool: do not define HAVE_STDBOOL_H
43990         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
43991         AC_HEADER_STDBOOL.  All uses changed.  Do not define
43992         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
43993         imported from the latest Autoconf git.  It was motivated by Emacs,
43994         which uses gnulib but does not need HAVE_STDBOOL_H.
43996 2011-02-04  Bruno Haible  <bruno@clisp.org>
43998         wcsnrtombs: Prepare for new module wwcsnrtombs.
43999         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
44000         * lib/wcsnrtombs.c: Include it.
44001         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
44003         wcsrtombs: Prepare for new module wwcsrtombs.
44004         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
44005         * lib/wcsrtombs.c: Include it.
44006         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
44008         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
44009         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
44010         * lib/mbsnrtowcs.c: Include it.
44011         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
44013         mbsrtowcs: Prepare for new module mbsrtowwcs.
44014         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
44015         * lib/mbsrtowcs.c: Include it.
44016         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
44018 2011-02-04  Bruno Haible  <bruno@clisp.org>
44020         vasnprintf: Reduce use of malloc for small format strings.
44021         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
44022         (arguments): Add room for the first 7 arguments.
44023         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
44024         (char_directives, u8_directives, u16_directives, u32_directives): Add
44025         room for the first 7 directives.
44026         * lib/printf-parse.c: Include <string.h>.
44027         (PRINTF_PARSE): Change memory handling code so that it uses the first
44028         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
44029         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
44030         Reported by Pádraig Brady <P@draigbrady.com>.
44032 2011-01-31  Eric Blake  <eblake@redhat.com>
44034         dup2: work around Haiku bug
44035         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
44036         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
44037         * doc/posix-functions/dup2.texi (dup2): Document the bug.
44038         * tests/test-dup2.c (main): Enhance test.
44040 2011-01-31  Simon Josefsson  <simon@josefsson.org>
44042         doc: off_t is not available in eglibc 2.11.2 stdio.h.
44043         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
44044         declared by eglibc 2.11.2.
44045         * lib/stdio.in.h: Likewise.
44047 2011-01-31  Eric Blake  <eblake@redhat.com>
44049         ignore-value: add missing test dependency
44050         * tests/test-ignore-value.c: Revert previous change; stdio.h
44051         provides off_t.
44052         * modules/ignore-value-tests (Depends-on): Add missing dependency.
44054 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
44056         mktime: clarify long_int width checking
44057         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
44058         the top level, to make it clearer that the assumption about
44059         long_int width is being checked.  See
44060         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00554.html>.
44062 2011-01-30  Simon Josefsson  <simon@josefsson.org>
44064         ignore-value: Fix self-test.
44065         * tests/test-ignore-value.c: Include sys/types.h for off_t.
44067 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
44069         TYPE_MAXIMUM: avoid theoretically undefined behavior
44070         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
44071         negative number, which the C Standard says has undefined behavior.
44072         In practice this is not a problem, but might as well do it by the book.
44073         Reported by Rich Felker and Eric Blake; see
44074         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00493.html>.
44075         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
44076         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
44077         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
44078         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
44079         * m4/stdint.m4 (gl_STDINT_H): Likewise.
44080         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
44082         mktime: #undef mktime before #defining it
44083         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
44085         mktime: systematically normalize tm_isdst comparisons
44086         * lib/mktime.c (isdst_differ): New function.
44087         (__mktime_internal): Use it systematically for all isdst comparisons.
44088         This completes the fix for libc BZ #6723, and removes the need for
44089         normalizing tm_isdst.  See
44090         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
44091         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
44093         mktime: fix some integer overflow issues and sidestep the rest
44095         This was prompted by a bug report by Benjamin Lindner for MinGW
44096         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00472.html>.
44097         His bug is due to signed integer overflow (0 - INT_MIN), and I
44098         I scanned through mktime.c looking for other integer overflow
44099         problems, fixing all the bugs I found.
44101         Although the C Standard says the resulting code is still not safe
44102         in the presence of integer overflow, in practice it should be good
44103         enough for all real-world two's-complement implementations, except
44104         for debugging environments that deliberately trap on integer
44105         overflow (e.g., gcc -ftrapv).
44107         * lib/mktime.c (WRAPV): New macro.
44108         (SHR): Also check that long_int and time_t shift right in the
44109         usual way, before using the fast-but-unportable method.
44110         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
44111         used.  The code already assumed two's complement, so there's
44112         no need to test for alternatives.  All uses removed.
44113         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
44114         the C standard.  Problem reported by Rich Felker in
44115         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00488.html>.
44116         (twos_complement_arithmetic): Also check long_int and time_t.
44117         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
44118         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
44119         (__mktime_internal): Avoid integer overflow with unary subtraction
44120         in two instances where -1 - X is an adequate replacement for -X,
44121         since the calculations are approximate.
44123 2011-01-29  Eric Blake  <eblake@redhat.com>
44125         mktime: avoid infinite loop
44126         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
44127         type; behavior is still undefined but portable to all known targets.
44128         Reported by Rich Felker.
44130 2011-01-29  Simon Josefsson  <simon@josefsson.org>
44132         rename, unlink, same-inode: Relicense.
44133         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
44134         * modules/unlink (License): Likewise.
44135         * modules/same-inode (License): Likewise.
44137 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
44139         mktime: avoid problems on NetBSD 5 / i386
44140         * lib/mktime.c (long_int): New type.  This works around a problem
44141         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
44142         but time_t is 64 bits, and where I expect the existing code is
44143         wrong in some cases.
44144         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
44145         (ydhms_diff): Bring back the compile-time check for wide-enough
44146         year and yday.
44148         mktime: fix misspelling in comment
44149         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
44150         This merges all recent glibc changes of importance.
44152 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44154         move-if-change: cope with concurrent mv of identical file.
44155         * build-aux/move-if-change (CMPPROG): Accept environment
44156         variable as an override for `cmp'.
44157         (usage): Document CMPPROG.
44158         Adjust comparison to drop stdout.  Cope with failure of mv if
44159         the target file exists and is identical to the source, for
44160         parallel builds.
44161         Report from H.J. Lu against binutils in PR binutils/12283.
44163 2011-01-28  Bruce Korb  <bkorb@gnu.org>
44165         * users.txt: Mention sharutils.
44167 2011-01-28  Simon Josefsson  <simon@josefsson.org>
44169         * users.txt: Mention OATH Toolkit.
44171 2011-01-27  Bruno Haible  <bruno@clisp.org>
44173         Prepare for supporting FreeBSD 10.
44174         * build-aux/config.libpath: Remove handling of freebsd1*.
44176 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
44178         Prepare for supporting FreeBSD 10.
44179         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
44180         match FreeBSD 10.0.
44182 2011-01-27  Bruno Haible  <bruno@clisp.org>
44184         vma-iter, get-rusage-as: Add OpenBSD support.
44185         * modules/vma-iter (configure.ac): Test for mquery.
44186         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
44187         * lib/vma-iter.c: Include <sys/mman.h>.
44188         (vma_iterate): Add an implementation based on mquery().
44189         * lib/resource-ext.h (get_rusage_as): Update comments.
44190         * lib/get-rusage-as.c: Likewise.
44191         * lib/get-rusage-data.c: Likewise.
44193 2011-01-26  Karl Berry  <karl@gnu.org>
44195         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
44196         variables to make it easier to override the makeinfo program used.
44198 2011-01-26  Eric Blake  <eblake@redhat.com>
44200         fcntl: work around Haiku F_DUPFD bugs
44201         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
44202         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
44203         cloexec bit on duplication.
44204         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
44206 2011-01-26  Bruno Haible  <bruno@clisp.org>
44208         Enable memory leak tests on AIX.
44209         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
44210         * tests/test-fprintf-posix3.c (main): Likewise.
44212 2011-01-26  Bruno Haible  <bruno@clisp.org>
44214         Tests for module 'get-rusage-data'.
44215         * modules/get-rusage-data-tests: New file.
44216         * tests/test-get-rusage-data.c: New file.
44218         New module 'get-rusage-data'.
44219         * lib/resource-ext.h (get_rusage_data): New declaration.
44220         * lib/get-rusage-data.c: New file.
44221         * modules/get-rusage-data: New file.
44223 2011-01-25  Bruno Haible  <bruno@clisp.org>
44225         get-rusage-as: Allow for easier testing.
44226         * lib/resource-ext.h (get_rusage_as): Add comment.
44227         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
44228         (main): New function for interactive testing.
44230 2011-01-25  Bruno Haible  <bruno@clisp.org>
44232         vma-iter: Treat Haiku like BeOS.
44233         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
44234         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
44236 2011-01-25  Eric Blake  <eblake@redhat.com>
44238         c-stack: fix regression on cygwin when libsigsegv is present
44239         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
44241 2011-01-24  Bruno Haible  <bruno@clisp.org>
44243         vma-iter: Avoid empty intervals.
44244         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
44245         on an empty interval.
44247 2011-01-24  Jim Meyering  <meyering@redhat.com>
44249         u64: remove unnecessary #include
44250         * lib/u64.h: Don't include <stddef.h>.  It was not used.
44252 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
44254         Allow the user to avoid the HAVE_RAW_DECL_* macros.
44255         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
44257 2011-01-23  Bruno Haible  <bruno@clisp.org>
44259         New module 'vma-iter'.
44260         * lib/vma-iter.h: New file.
44261         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
44262         * modules/vma-iter: New file.
44263         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
44264         for get_rusage_as_via_iterator.
44265         (vma_iterate_callback): New function.
44266         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
44267         * modules/get-rusage-as (Depends-on): Add vma-iter.
44269 2011-01-23  Bruno Haible  <bruno@clisp.org>
44271         uninorm: Tweak includes.
44272         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
44273         Reported by Jim Meyering.
44275 2011-01-23  Bruno Haible  <bruno@clisp.org>
44277         get-rusage-as: Improve on NetBSD.
44278         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
44279         /proc, like on FreeBSD.
44281 2011-01-23  Jim Meyering  <meyering@redhat.com>
44283         xreadlink.h: remove unnecessary #include
44284         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
44286         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
44287         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
44289 2011-01-23  Bruno Haible  <bruno@clisp.org>
44291         get-rusage-as: Fix bug.
44292         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
44293         original limit when aborting the first loop.
44295 2011-01-23  Bruno Haible  <bruno@clisp.org>
44297         wctype: Ensure valid C syntax.
44298         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
44299         unconditionally, instead of gl_NEXT_HEADERS conditionally.
44301 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
44303         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
44304         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
44305         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
44306         as they are needed only for configure's test case.
44307         This removes two unnecessary symbols from config.h.
44309         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
44310         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
44311         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
44312         AC_CHECK_HEADERS_ONCE on a header that we also invoke
44313         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
44314         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
44315         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
44316         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
44317         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
44318         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
44319         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
44320         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
44321         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
44322         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
44323         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
44324         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
44325         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
44326         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
44328 2011-01-21  Eric Blake  <eblake@redhat.com>
44330         maintainer-makefile: work with older git for submodule check
44331         * top/maint.mk (public-submodule-commit): Rewrite to avoid
44332         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
44333         Reported by Matthias Bolte.
44335         bootstrap: minor portability fixes
44336         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
44337         (usage): Omit leading capital and trailing . on help phrases, per
44338         GNU Coding Standards.
44339         (check_versions, top level): Prefix messages with script name.
44341 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
44343         bootstrap: support --no-git option
44344         * build-aux/bootstrap: Add --no-git option, to be used when
44345         --gnulib-srcdir points to the exact desired checkout.
44347 2011-01-21  Eric Blake  <eblake@redhat.com>
44349         strerror_r-posix: work with glibc 2.13
44350         * lib/strerror_r.c (strerror_r): Fix return type.
44352 2011-01-21  Pádraig Brady  <P@draigBrady.com>
44353             Bruno Haible  <bruno@clisp.org>
44355         uN_strstr: New unit tests.
44356         * modules/unistr/u8-strstr-tests: New file.
44357         * modules/unistr/u16-strstr-tests: New file.
44358         * modules/unistr/u32-strstr-tests: New file.
44359         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
44360         * tests/unistr/test-u8-strstr.c: New file.
44361         * tests/unistr/test-u16-strstr.c: New file.
44362         * tests/unistr/test-u32-strstr.c: New file.
44364 2011-01-21  Pádraig Brady  <P@draigBrady.com>
44365             Bruno Haible  <bruno@clisp.org>
44367         Make uN_strstr functions O(n) worst-case.
44368         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
44369         16-bit and 32-bit unit cases, use the unibyte algorithm from
44370         lib/mbsstr.c.
44371         * lib/unistr/u8-strstr.c: Include <string.h>.
44372         (UNIT_IS_UINT8_T): New macro.
44373         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
44374         (U_STRLEN, U_STRNLEN): New macros.
44375         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
44376         (U_STRLEN, U_STRNLEN): New macros.
44377         * modules/unistr/u8-strstr (Depends-on): Add strstr.
44378         (configure.ac): Update required libunistring version.
44379         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
44380         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
44381         malloca.
44382         (configure.ac): Update required libunistring version.
44383         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
44384         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
44385         malloca.
44386         (configure.ac): Update required libunistring version.
44388 2011-01-21  Pádraig Brady  <P@draigBrady.com>
44389             Bruno Haible  <bruno@clisp.org>
44391         Prepare for faster uN_strstr functions.
44392         * lib/str-kmp.h: Support definable UNITs.
44393         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
44394         needle_len argument.
44395         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
44396         * lib/mbscasestr.c (mbscasestr): Likewise.
44398 2011-01-21  Pádraig Brady  <P@draigBrady.com>
44400         malloca-tests: make faster by unsetting MALLOC_PERTURB_
44401         * tests/test-malloca.c (main): Unset the environment variable
44402         to greatly speed up the test.
44403         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
44404         * modules/malloca-tests: Depend on unsetenv.
44406 2011-01-21  Pádraig Brady  <P@draigBrady.com>
44408         ignore-value: remove stdint dependency
44409         * lib/ignore-value.h: Remove <stdint.h>
44410         * modules/ignore-value: Remove stdint dependency.
44412 2011-01-21  Jim Meyering  <meyering@redhat.com>
44414         maint.mk: adjust variable name to be consistent with other gl_ vars
44415         * top/maint.mk (gl_public_submodule_commit): Rename the variable
44416         to be lower case.
44418 2011-01-20  Jim Meyering  <meyering@redhat.com>
44420         maint.mk: make "check" depend on public-submodule-commit by default
44421         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
44423 2011-01-20  Bruno Haible  <bruno@clisp.org>
44425         mbfile, mbiter: Complete change from 2008-12-21.
44426         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
44427         * m4/mbiter.m4 (gl_MBITER): Likewise.
44429 2011-01-20  Jim Meyering  <meyering@redhat.com>
44431         init.sh: insert space between each function name and "()"
44432         * tests/init.sh: Make it a little easier to see that a function's
44433         name is "warn_", and not "warn" when looking at the first part of
44434         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
44436 2011-01-20  Jim Meyering  <meyering@redhat.com>
44438         mountlist: clean up code formatting
44439         * lib/mountlist.c (read_file_system_list): Split a long line,
44440         correct bracing style, use NULL in place of "(struct statfs *)0",
44441         don't parenthesize return value, add spaces around "=" and after
44442         ";-in-for-stmt".
44444 2011-01-14  Markus Duft  <mduft@gentoo.org>
44446         mountlist: add support for Interix
44447         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
44448         Apply statvfs to all entries of /dev/fs.
44449         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
44450         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
44452 2011-01-20  Jim Meyering  <meyering@redhat.com>
44454         maint.mk: improve the public-submodule-commit rule
44455         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
44456         to suppress printing of its commands... unless V=1.
44457         Add git submodule's --quiet option to suppress printing of e.g.,
44458         "Entering gnulib" output.
44459         "cd" into $(srcdir) before running git submodule.
44461 2011-01-20  Bruno Haible  <bruno@clisp.org>
44463         include_next: Fix bug introduced on 2011-01-18.
44464         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
44465         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
44466         ac_cv_header_... variable if the second argument is not 'check'.
44467         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
44468         gl_NEXT_HEADERS_INTERNAL.
44470 2011-01-20  Bruno Haible  <bruno@clisp.org>
44472         Allow the user to avoid the GNULIB_TEST_* macros.
44473         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
44474         Suggested by Paul Eggert.
44476 2011-01-14  Jim Meyering  <meyering@redhat.com>
44478         bootstrap: avoid failure when there is no .gitmodules file
44479         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
44480         has been assigned to, even when its value is the empty string.
44481         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
44482         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
44483         Reported by John W. Eaton <jwe@gnu.org>.
44485 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
44487         assume <ctype.h>, ..., <time.h> exist
44488         For years gnulib has been assuming the existence of the headers
44489         <ctype.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
44490         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
44491         them, since they don't appear to be needed.
44492         * README (Portability guidelines): Document this.
44493         * lib/flock.c: Assume <fcntl.h> exists.
44494         * lib/regex_internal.h: Assume <locale.h> exists.
44495         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
44496         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
44497         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
44498         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
44499         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
44500         * m4/regex.m4 (gl_REGEX): Likewise.
44501         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
44502         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
44503         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
44504         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
44505         * tests/test-argp.c: Likewise.
44506         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
44508         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
44509         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
44510         AA_APPLE_UNIVERSAL_BUILD.  See
44511         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00247.html>.
44512         * NEWS: Document this.
44514 2011-01-19  Eric Blake  <eblake@redhat.com>
44516         c-stack: assume stack overflow if SA_SIGINFO unsupported
44517         * lib/c-stack.c (SIGACTION_WORKS): Rename...
44518         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
44519         sigaction will work.
44520         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
44521         behavior match Linux.
44522         * tests/test-c-stack.c (main): Prefer NULL for pointers.
44524         stdbool-tests: accommodate Haiku
44525         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
44527         binary-io: fix O_TEXT on Haiku
44528         * modules/binary-io (Depends-on): Add fcntl-h.
44529         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
44530         than blindly undefining O_TEXT.
44531         Reported by Scott McCreary.
44533 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
44535         include_next: do not check for standard headers like stddef.h
44537         I found this problem when modifying Emacs to use gnulib.
44538         I noticed that it added HAVE_STDDEF_H to config.h, even though
44539         gnulib always assumes <stddef.h> exists as per README and this
44540         symbol is unnecessary.
44541         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
44542         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
44543         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
44544         faster for headers like stddef.h that are known to exist.
44545         (gl_CHECK_NEXT_HEADERS): Use it.
44546         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
44547         rather than gl_CHECK_NEXT_HEADERS.
44548         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
44549         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
44551 2011-01-18  Eric Blake  <eblake@redhat.com>
44553         ansi-c++-opt: skip C++ dependency style if C++ is unused
44554         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
44555         tests when we know C++ compilation is not desired.
44556         Reported by Scott McCreary.
44558 2011-01-18  Bruno Haible  <bruno@clisp.org>
44560         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
44561         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
44562         (main): Perform test also when getrlimit and setrlimit don't exist or
44563         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
44564         limiting the address space size using setrlimit, compare the address
44565         space size before and after the test.
44566         * tests/test-dprintf-posix2.c: Likewise.
44567         * tests/test-fprintf-posix3.sh: Update skip messages.
44568         * tests/test-dprintf-posix2.sh: Likewise.
44569         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
44570         * modules/dprintf-posix-tests (Depends-on): Likewise.
44571         Reported by Bruce Korb <bkorb@gnu.org> and
44572         Gary V. Vaughan <gary@gnu.org>.
44574 2011-01-18  Bruno Haible  <bruno@clisp.org>
44576         get-rusage-as: Improvement for Cygwin.
44577         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
44578         areas that are merely reserved.
44580 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
44582         strftime: remove dependencies on multibyte modules
44584         strftime depended on mbrlen, mbsinit, and wchar, but these modules
44585         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
44586         only if __osf__ is defined, and I suspect OSF doesn't need these
44587         other modules.  If my guess is wrong, we'll need to come up with a
44588         variant of strftime that doesn't need the multibyte modules.
44590         I discovered this problem when attempting modify Emacs to use the
44591         strftime module.  With the previous gnulib, this caused Emacs to
44592         need 31 new files, ranging from lib/config.charset to
44593         m4/wint_t.m4.  This was overkill and I expect would be offputting
44594         to the Emacs maintainers.  After this change, only 6 new files are
44595         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
44596         stdbool.m4, and tm_gmtoff.m4.
44598         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
44599         Suggested by Bruno Haible in
44600         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00238.html>.
44601         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
44602         and do not check for wchar.h.
44603         * modules/strftime (Files): Remove m4/mbstate_t.m4.
44604         (Depends-on): Remove mbrlen, mbsinit, wchar.
44606 2011-01-18  Bruno Haible  <bruno@clisp.org>
44608         Tests for module 'get-rusage-as'.
44609         * modules/get-rusage-as-tests: New file.
44610         * tests/test-get-rusage-as.c: New file.
44612         New module 'get-rusage-as'.
44613         * modules/get-rusage-as: New file.
44614         * lib/resource-ext.h: New file.
44615         * lib/get-rusage-as.c: New file.
44617 2011-01-17  Eric Blake  <eblake@redhat.com>
44619         sigaction: relax license from LGPLv3+ to LGPLv2+
44620         * modules/sigaction (License): Relax to LGPLv2+.
44622 2011-01-14  Bruno Haible  <bruno@clisp.org>
44624         filemode: Make function declarations usable in C++ mode.
44625         * lib/filemode.h: Enclose function declarations in extern "C" block.
44626         Reported by John W. Eaton <jwe@gnu.org>.
44628 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
44630         save-cwd: no longer include "xgetcwd.h"
44631         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
44632         This avoids a compilation failure in projects that use save-cwd
44633         without also using the xgetcwd module.
44635 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
44637         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
44638         This is so that a program like Emacs, which needs only dtoastr,
44639         does not have to bother with distributing and compiling ftoastr
44640         and ldtoastr.
44641         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
44642         * modules/dtoastr, modules/ldtoastr: New files.
44643         * modules/ftoastr: Now works just for 'float'.
44644         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
44645         (Makefile.am): Remove ftoastr.h (not needed and no effect),
44646         dtoastr.c, ldtoastr.c.
44648 2011-01-11  Jim Meyering  <meyering@redhat.com>
44650         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
44651         There is no need to work around the lack of the fchdir function,
44652         since gnulib can now provide a replacement when required.
44653         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
44654         * modules/save-cwd (Depends-on): Add fchdir.
44656 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
44658         openat, save-cwd: avoid xmalloc
44660         This removes a direct (but undocumented) dependency of openat on
44661         xalloc, along with an indirect dependency via save-cwd.  It also
44662         removes a dependency of save-cwd on xgetcwd, and thereby
44663         indirectly on xalloc.  This change causes the openat substitute
44664         to fall back on save_cwd when memory is tight, and for save_cwd to
44665         fail instead of dying when memory is tight, but that's good enough.
44666         Problem and initial idea for fix reported by Bastien Roucaries in
44667         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00170.html>.
44669         * lib/openat-proc.c: Include stdlib.h (for malloc), not
44670         xalloc.h (for xmalloc).
44671         (openat_proc_name): Use malloc, not xmalloc.
44672         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
44673         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
44675         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
44676         This avoids heap allocation for file names whose lengths are in
44677         the range 512..1023, with the upper bound increasing to at most
44678         4031 depending on the platform's PATH_MAX.  (We do not want
44679         pathmax.h here as it might supply a non-constant PATH_MAX.)
44680         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
44681         Perhaps they should be moved to malloca.h?
44682         (OPENAT_BUFFER_SIZE): Use them.
44684 2011-01-10  Bruno Haible  <bruno@clisp.org>
44686         doc: Update users.txt.
44687         * users.txt: Add recutils.
44689 2011-01-09  Karl Berry  <karl@gnu.org>
44691         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
44693         * doc/configmake.texi: New file.
44694         * doc/gnulib.texi: Include it.
44695         * modules/configmake: Move documentation from here.
44697 2011-01-09  Bruno Haible  <bruno@clisp.org>
44699         Update to Unicode 6.0.0.
44700         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
44701         (get_lbp): Update for Unicode 6.0.0.
44702         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
44703         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
44704         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
44705         U+11001, U+11038..U+11046. Remove U+06DE.
44706         (uc_width): Fix bounds of planes.
44707         * tests/uniwidth/test-uc_width2.sh: Same updates as in
44708         lib/uniwidth/width.c.
44709         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
44710         trailing whitespace removed.
44711         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
44712         without comments, but with the original copyright notice.
44713         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
44714         * lib/unicase/ignorable.h: Likewise.
44715         * lib/unicase/tocasefold.h: Likewise.
44716         * lib/unicase/tolower.h: Likewise.
44717         * lib/unicase/totitle.h: Likewise.
44718         * lib/unicase/toupper.h: Likewise.
44719         * lib/unictype/bidi_of.h: Likewise.
44720         * lib/unictype/blocks.h: Likewise.
44721         * lib/unictype/categ_C.h: Likewise.
44722         * lib/unictype/categ_Cn.h: Likewise.
44723         * lib/unictype/categ_L.h: Likewise.
44724         * lib/unictype/categ_Ll.h: Likewise.
44725         * lib/unictype/categ_Lm.h: Likewise.
44726         * lib/unictype/categ_Lo.h: Likewise.
44727         * lib/unictype/categ_Lu.h: Likewise.
44728         * lib/unictype/categ_M.h: Likewise.
44729         * lib/unictype/categ_Mc.h: Likewise.
44730         * lib/unictype/categ_Me.h: Likewise.
44731         * lib/unictype/categ_Mn.h: Likewise.
44732         * lib/unictype/categ_N.h: Likewise.
44733         * lib/unictype/categ_Nd.h: Likewise.
44734         * lib/unictype/categ_No.h: Likewise.
44735         * lib/unictype/categ_P.h: Likewise.
44736         * lib/unictype/categ_Po.h: Likewise.
44737         * lib/unictype/categ_S.h: Likewise.
44738         * lib/unictype/categ_Sc.h: Likewise.
44739         * lib/unictype/categ_Sk.h: Likewise.
44740         * lib/unictype/categ_Sm.h: Likewise.
44741         * lib/unictype/categ_So.h: Likewise.
44742         * lib/unictype/categ_of.h: Likewise.
44743         * lib/unictype/combining.h: Likewise.
44744         * lib/unictype/ctype_alnum.h: Likewise.
44745         * lib/unictype/ctype_alpha.h: Likewise.
44746         * lib/unictype/ctype_graph.h: Likewise.
44747         * lib/unictype/ctype_lower.h: Likewise.
44748         * lib/unictype/ctype_print.h: Likewise.
44749         * lib/unictype/ctype_punct.h: Likewise.
44750         * lib/unictype/ctype_upper.h: Likewise.
44751         * lib/unictype/decdigit.h: Likewise.
44752         * lib/unictype/digit.h: Likewise.
44753         * lib/unictype/numeric.h: Likewise.
44754         * lib/unictype/pr_alphabetic.h: Likewise.
44755         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
44756         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
44757         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
44758         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
44759         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
44760         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
44761         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
44762         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
44763         * lib/unictype/pr_case_ignorable.h: Likewise.
44764         * lib/unictype/pr_cased.h: Likewise.
44765         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
44766         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
44767         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
44768         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
44769         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
44770         * lib/unictype/pr_combining.h: Likewise.
44771         * lib/unictype/pr_composite.h: Likewise.
44772         * lib/unictype/pr_currency_symbol.h: Likewise.
44773         * lib/unictype/pr_decimal_digit.h: Likewise.
44774         * lib/unictype/pr_deprecated.h: Likewise.
44775         * lib/unictype/pr_format_control.h: Likewise.
44776         * lib/unictype/pr_grapheme_base.h: Likewise.
44777         * lib/unictype/pr_grapheme_extend.h: Likewise.
44778         * lib/unictype/pr_grapheme_link.h: Likewise.
44779         * lib/unictype/pr_id_continue.h: Likewise.
44780         * lib/unictype/pr_id_start.h: Likewise.
44781         * lib/unictype/pr_ideographic.h: Likewise.
44782         * lib/unictype/pr_lowercase.h: Likewise.
44783         * lib/unictype/pr_math.h: Likewise.
44784         * lib/unictype/pr_numeric.h: Likewise.
44785         * lib/unictype/pr_other_alphabetic.h: Likewise.
44786         * lib/unictype/pr_other_id_continue.h: Likewise.
44787         * lib/unictype/pr_other_math.h: Likewise.
44788         * lib/unictype/pr_punctuation.h: Likewise.
44789         * lib/unictype/pr_sentence_terminal.h: Likewise.
44790         * lib/unictype/pr_terminal_punctuation.h: Likewise.
44791         * lib/unictype/pr_unassigned_code_value.h: Likewise.
44792         * lib/unictype/pr_unified_ideograph.h: Likewise.
44793         * lib/unictype/pr_uppercase.h: Likewise.
44794         * lib/unictype/pr_xid_continue.h: Likewise.
44795         * lib/unictype/pr_xid_start.h: Likewise.
44796         * lib/unictype/scripts.h: Likewise.
44797         * lib/unictype/scripts_byname.gperf: Likewise.
44798         * lib/unictype/sy_java_ident.h: Likewise.
44799         * lib/unigbrk/gbrkprop.h: Likewise.
44800         * lib/unilbrk/lbrkprop1.h: Likewise.
44801         * lib/unilbrk/lbrkprop2.h: Likewise.
44802         * lib/uninorm/decomposition-table2.h: Likewise.
44803         * lib/uniwbrk/wbrkprop.h: Likewise.
44804         * tests/unicase/test-cased.c: Likewise.
44805         * tests/unicase/test-ignorable.c: Likewise.
44806         * tests/unicase/test-uc_tolower.c: Likewise.
44807         * tests/unicase/test-uc_totitle.c: Likewise.
44808         * tests/unicase/test-uc_toupper.c: Likewise.
44809         * tests/unictype/test-categ_C.c: Likewise.
44810         * tests/unictype/test-categ_Cn.c: Likewise.
44811         * tests/unictype/test-categ_L.c: Likewise.
44812         * tests/unictype/test-categ_Ll.c: Likewise.
44813         * tests/unictype/test-categ_Lm.c: Likewise.
44814         * tests/unictype/test-categ_Lo.c: Likewise.
44815         * tests/unictype/test-categ_Lu.c: Likewise.
44816         * tests/unictype/test-categ_M.c: Likewise.
44817         * tests/unictype/test-categ_Mc.c: Likewise.
44818         * tests/unictype/test-categ_Me.c: Likewise.
44819         * tests/unictype/test-categ_Mn.c: Likewise.
44820         * tests/unictype/test-categ_N.c: Likewise.
44821         * tests/unictype/test-categ_Nd.c: Likewise.
44822         * tests/unictype/test-categ_No.c: Likewise.
44823         * tests/unictype/test-categ_P.c: Likewise.
44824         * tests/unictype/test-categ_Po.c: Likewise.
44825         * tests/unictype/test-categ_S.c: Likewise.
44826         * tests/unictype/test-categ_Sc.c: Likewise.
44827         * tests/unictype/test-categ_Sk.c: Likewise.
44828         * tests/unictype/test-categ_Sm.c: Likewise.
44829         * tests/unictype/test-categ_So.c: Likewise.
44830         * tests/unictype/test-ctype_alnum.c: Likewise.
44831         * tests/unictype/test-ctype_alpha.c: Likewise.
44832         * tests/unictype/test-ctype_graph.c: Likewise.
44833         * tests/unictype/test-ctype_lower.c: Likewise.
44834         * tests/unictype/test-ctype_print.c: Likewise.
44835         * tests/unictype/test-ctype_punct.c: Likewise.
44836         * tests/unictype/test-ctype_upper.c: Likewise.
44837         * tests/unictype/test-decdigit.h: Likewise.
44838         * tests/unictype/test-digit.h: Likewise.
44839         * tests/unictype/test-numeric.h: Likewise.
44840         * tests/unictype/test-pr_alphabetic.c: Likewise.
44841         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
44842         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
44843         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
44844         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
44845         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
44846         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
44847         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
44848         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
44849         * tests/unictype/test-pr_case_ignorable.c: Likewise.
44850         * tests/unictype/test-pr_cased.c: Likewise.
44851         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
44852         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
44853         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
44854         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
44855         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
44856         * tests/unictype/test-pr_combining.c: Likewise.
44857         * tests/unictype/test-pr_composite.c: Likewise.
44858         * tests/unictype/test-pr_currency_symbol.c: Likewise.
44859         * tests/unictype/test-pr_decimal_digit.c: Likewise.
44860         * tests/unictype/test-pr_deprecated.c: Likewise.
44861         * tests/unictype/test-pr_format_control.c: Likewise.
44862         * tests/unictype/test-pr_grapheme_base.c: Likewise.
44863         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
44864         * tests/unictype/test-pr_grapheme_link.c: Likewise.
44865         * tests/unictype/test-pr_id_continue.c: Likewise.
44866         * tests/unictype/test-pr_id_start.c: Likewise.
44867         * tests/unictype/test-pr_ideographic.c: Likewise.
44868         * tests/unictype/test-pr_lowercase.c: Likewise.
44869         * tests/unictype/test-pr_math.c: Likewise.
44870         * tests/unictype/test-pr_numeric.c: Likewise.
44871         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
44872         * tests/unictype/test-pr_other_id_continue.c: Likewise.
44873         * tests/unictype/test-pr_other_math.c: Likewise.
44874         * tests/unictype/test-pr_punctuation.c: Likewise.
44875         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
44876         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
44877         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
44878         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
44879         * tests/unictype/test-pr_uppercase.c: Likewise.
44880         * tests/unictype/test-pr_xid_continue.c: Likewise.
44881         * tests/unictype/test-pr_xid_start.c: Likewise.
44882         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
44883         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
44884         changes.
44885         * lib/unictype/categ_Cc.h: Likewise.
44886         * lib/unictype/categ_Cf.h: Likewise.
44887         * lib/unictype/categ_Co.h: Likewise.
44888         * lib/unictype/categ_Cs.h: Likewise.
44889         * lib/unictype/categ_Lt.h: Likewise.
44890         * lib/unictype/categ_Nl.h: Likewise.
44891         * lib/unictype/categ_Pc.h: Likewise.
44892         * lib/unictype/categ_Pd.h: Likewise.
44893         * lib/unictype/categ_Pe.h: Likewise.
44894         * lib/unictype/categ_Pf.h: Likewise.
44895         * lib/unictype/categ_Pi.h: Likewise.
44896         * lib/unictype/categ_Ps.h: Likewise.
44897         * lib/unictype/categ_Z.h: Likewise.
44898         * lib/unictype/categ_Zl.h: Likewise.
44899         * lib/unictype/categ_Zp.h: Likewise.
44900         * lib/unictype/categ_Zs.h: Likewise.
44901         * lib/unictype/ctype_blank.h: Likewise.
44902         * lib/unictype/ctype_cntrl.h: Likewise.
44903         * lib/unictype/ctype_digit.h: Likewise.
44904         * lib/unictype/ctype_space.h: Likewise.
44905         * lib/unictype/ctype_xdigit.h: Likewise.
44906         * lib/unictype/mirror.h: Likewise.
44907         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
44908         * lib/unictype/pr_bidi_block_separator.h: Likewise.
44909         * lib/unictype/pr_bidi_common_separator.h: Likewise.
44910         * lib/unictype/pr_bidi_control.h: Likewise.
44911         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
44912         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
44913         * lib/unictype/pr_bidi_european_digit.h: Likewise.
44914         * lib/unictype/pr_bidi_pdf.h: Likewise.
44915         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
44916         * lib/unictype/pr_bidi_whitespace.h: Likewise.
44917         * lib/unictype/pr_dash.h: Likewise.
44918         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
44919         * lib/unictype/pr_diacritic.h: Likewise.
44920         * lib/unictype/pr_extender.h: Likewise.
44921         * lib/unictype/pr_hex_digit.h: Likewise.
44922         * lib/unictype/pr_hyphen.h: Likewise.
44923         * lib/unictype/pr_ids_binary_operator.h: Likewise.
44924         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
44925         * lib/unictype/pr_ignorable_control.h: Likewise.
44926         * lib/unictype/pr_iso_control.h: Likewise.
44927         * lib/unictype/pr_join_control.h: Likewise.
44928         * lib/unictype/pr_left_of_pair.h: Likewise.
44929         * lib/unictype/pr_line_separator.h: Likewise.
44930         * lib/unictype/pr_logical_order_exception.h: Likewise.
44931         * lib/unictype/pr_non_break.h: Likewise.
44932         * lib/unictype/pr_not_a_character.h: Likewise.
44933         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
44934         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
44935         * lib/unictype/pr_other_id_start.h: Likewise.
44936         * lib/unictype/pr_other_lowercase.h: Likewise.
44937         * lib/unictype/pr_other_uppercase.h: Likewise.
44938         * lib/unictype/pr_paired_punctuation.h: Likewise.
44939         * lib/unictype/pr_paragraph_separator.h: Likewise.
44940         * lib/unictype/pr_pattern_syntax.h: Likewise.
44941         * lib/unictype/pr_pattern_white_space.h: Likewise.
44942         * lib/unictype/pr_private_use.h: Likewise.
44943         * lib/unictype/pr_quotation_mark.h: Likewise.
44944         * lib/unictype/pr_radical.h: Likewise.
44945         * lib/unictype/pr_soft_dotted.h: Likewise.
44946         * lib/unictype/pr_space.h: Likewise.
44947         * lib/unictype/pr_titlecase.h: Likewise.
44948         * lib/unictype/pr_variation_selector.h: Likewise.
44949         * lib/unictype/pr_white_space.h: Likewise.
44950         * lib/unictype/pr_zero_width.h: Likewise.
44951         * lib/unictype/sy_c_ident.h: Likewise.
44952         * lib/unictype/sy_c_whitespace.h: Likewise.
44953         * lib/unictype/sy_java_whitespace.h: Likewise.
44954         * lib/uninorm/composition-table.gperf: Likewise.
44955         * lib/uninorm/decomposition-table1.h: Likewise.
44956         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
44957         LB8.
44958         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
44959         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
44960         * modules/unictype/*: Bump version number of expected libunistring
44961         version.
44963 2011-01-09  Bruno Haible  <bruno@clisp.org>
44965         Update to Unicode 5.2.0.
44966         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
44967         trailing whitespace removed.
44969 2011-01-09  Bruno Haible  <bruno@clisp.org>
44971         New Unicode character properties, from Unicode 5.2.0.
44972         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
44973         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
44974         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
44975         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
44976         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
44977         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
44978         uc_is_property_cased, uc_is_property_case_ignorable,
44979         uc_is_property_changes_when_lowercased,
44980         uc_is_property_changes_when_uppercased,
44981         uc_is_property_changes_when_titlecased,
44982         uc_is_property_changes_when_casefolded,
44983         uc_is_property_changes_when_casemapped): New declarations.
44984         * lib/unictype/pr_byname.gperf: Add the new properties.
44985         * modules/unictype/property-byname (Depends-on): Depend on the new
44986         properties modules.
44987         * modules/unictype/property-all (Depends-on): Likewise.
44988         * MODULES.html.sh (Unicode string functions): Add
44989         unictype/property-case-ignorable, unictype/property-cased,
44990         unictype/property-changes-when-casefolded,
44991         unictype/property-changes-when-casemapped,
44992         unictype/property-changes-when-lowercased,
44993         unictype/property-changes-when-titlecased,
44994         unictype/property-changes-when-uppercased.
44996         New module 'unictype/property-changes-when-casemapped'.
44997         * modules/unictype/property-changes-when-casemapped: New file.
44998         * lib/unictype/pr_changes_when_casemapped.c: New file.
44999         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
45000         generated by gen-uni-tables.
45001         * modules/unictype/property-changes-when-casemapped-tests: New file.
45002         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
45003         automatically generated by gen-uni-tables.
45005         New module 'unictype/property-changes-when-casefolded'.
45006         * modules/unictype/property-changes-when-casefolded: New file.
45007         * lib/unictype/pr_changes_when_casefolded.c: New file.
45008         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
45009         generated by gen-uni-tables.
45010         * modules/unictype/property-changes-when-casefolded-tests: New file.
45011         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
45012         automatically generated by gen-uni-tables.
45014         New module 'unictype/property-changes-when-titlecased'.
45015         * modules/unictype/property-changes-when-titlecased: New file.
45016         * lib/unictype/pr_changes_when_titlecased.c: New file.
45017         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
45018         generated by gen-uni-tables.
45019         * modules/unictype/property-changes-when-titlecased-tests: New file.
45020         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
45021         automatically generated by gen-uni-tables.
45023         New module 'unictype/property-changes-when-uppercased'.
45024         * modules/unictype/property-changes-when-uppercased: New file.
45025         * lib/unictype/pr_changes_when_uppercased.c: New file.
45026         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
45027         generated by gen-uni-tables.
45028         * modules/unictype/property-changes-when-uppercased-tests: New file.
45029         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
45030         automatically generated by gen-uni-tables.
45032         New module 'unictype/property-changes-when-lowercased'.
45033         * modules/unictype/property-changes-when-lowercased: New file.
45034         * lib/unictype/pr_changes_when_lowercased.c: New file.
45035         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
45036         generated by gen-uni-tables.
45037         * modules/unictype/property-changes-when-lowercased-tests: New file.
45038         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
45039         automatically generated by gen-uni-tables.
45041         New module 'unictype/property-case-ignorable'.
45042         * modules/unictype/property-case-ignorable: New file.
45043         * lib/unictype/pr_case_ignorable.c: New file.
45044         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
45045         by gen-uni-tables.
45046         * modules/unictype/property-case-ignorable-tests: New file.
45047         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
45048         generated by gen-uni-tables.
45050         New module 'unictype/property-cased'.
45051         * modules/unictype/property-cased: New file.
45052         * lib/unictype/pr_cased.c: New file.
45053         * lib/unictype/pr_cased.h: New file, automatically generated by
45054         gen-uni-tables.
45055         * modules/unictype/property-cased-tests: New file.
45056         * tests/unictype/test-pr_cased.c: New file, automatically generated by
45057         gen-uni-tables.
45059 2011-01-09  Bruno Haible  <bruno@clisp.org>
45061         Update to Unicode 5.2.0.
45062         * lib/gen-uni-tables.c (output_predicate, output_category,
45063         output_combclass, output_bidi_category, output_decimal_digit_test,
45064         output_decimal_digit, output_digit_test, output_digit,
45065         output_numeric_test, output_numeric, output_mirror, output_scripts,
45066         output_scripts_byname, output_blocks, output_ident_category): Fix
45067         comment header.
45068         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
45069         get_wbp.
45070         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
45071         items.
45072         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
45073         Changes_When_Lowercased, Changes_When_Uppercased,
45074         Changes_When_Titlecased, Changes_When_Casefolded,
45075         Changes_When_Casemapped.
45076         (is_property_alphabetic, is_property_default_ignorable_code_point):
45077         Update for Unicode 5.2.0.
45078         (is_property_cased, is_property_case_ignorable,
45079         is_property_changes_when_lowercased,
45080         is_property_changes_when_uppercased,
45081         is_property_changes_when_titlecased,
45082         is_property_changes_when_casefolded,
45083         is_property_changes_when_casemapped): New functions.
45084         (output_properties): Output also the properties cased, case_ignorable,
45085         changes_when_lowercased, changes_when_uppercased,
45086         changes_when_titlecased, changes_when_casefolded,
45087         changes_when_casemapped.
45088         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
45089         Unicode TR#11 revision 17 -> 19.
45090         (LBP_CP): New enumeration value.
45091         (LBP_*): Adjust values accordingly.
45092         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
45093         TR#14 revision 22 -> 24.
45094         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
45095         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
45096         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
45097         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
45098         is_WBP_MIDLETTER.
45099         (output_composition_tables): Allow for 24 bits instead of 16 bits in
45100         the code1 and code2 of each composition rule.
45101         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
45102         * lib/unicase/ignorable.h: Likewise.
45103         * lib/unicase/tocasefold.h: Likewise.
45104         * lib/unicase/tolower.h: Likewise.
45105         * lib/unicase/totitle.h: Likewise.
45106         * lib/unicase/toupper.h: Likewise.
45107         * lib/unictype/bidi_of.h: Likewise.
45108         * lib/unictype/blocks.h: Likewise.
45109         * lib/unictype/categ_C.h: Likewise.
45110         * lib/unictype/categ_Cf.h: Likewise.
45111         * lib/unictype/categ_Cn.h: Likewise.
45112         * lib/unictype/categ_L.h: Likewise.
45113         * lib/unictype/categ_Ll.h: Likewise.
45114         * lib/unictype/categ_Lm.h: Likewise.
45115         * lib/unictype/categ_Lo.h: Likewise.
45116         * lib/unictype/categ_Lu.h: Likewise.
45117         * lib/unictype/categ_M.h: Likewise.
45118         * lib/unictype/categ_Mc.h: Likewise.
45119         * lib/unictype/categ_Mn.h: Likewise.
45120         * lib/unictype/categ_N.h: Likewise.
45121         * lib/unictype/categ_Nd.h: Likewise.
45122         * lib/unictype/categ_Nl.h: Likewise.
45123         * lib/unictype/categ_No.h: Likewise.
45124         * lib/unictype/categ_P.h: Likewise.
45125         * lib/unictype/categ_Pd.h: Likewise.
45126         * lib/unictype/categ_Po.h: Likewise.
45127         * lib/unictype/categ_S.h: Likewise.
45128         * lib/unictype/categ_Sc.h: Likewise.
45129         * lib/unictype/categ_So.h: Likewise.
45130         * lib/unictype/categ_of.h: Likewise.
45131         * lib/unictype/combining.h: Likewise.
45132         * lib/unictype/ctype_alnum.h: Likewise.
45133         * lib/unictype/ctype_alpha.h: Likewise.
45134         * lib/unictype/ctype_graph.h: Likewise.
45135         * lib/unictype/ctype_lower.h: Likewise.
45136         * lib/unictype/ctype_print.h: Likewise.
45137         * lib/unictype/ctype_punct.h: Likewise.
45138         * lib/unictype/ctype_upper.h: Likewise.
45139         * lib/unictype/decdigit.h: Likewise.
45140         * lib/unictype/digit.h: Likewise.
45141         * lib/unictype/numeric.h: Likewise.
45142         * lib/unictype/pr_alphabetic.h: Likewise.
45143         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
45144         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
45145         * lib/unictype/pr_bidi_european_digit.h: Likewise.
45146         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
45147         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
45148         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
45149         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
45150         * lib/unictype/pr_combining.h: Likewise.
45151         * lib/unictype/pr_composite.h: Likewise.
45152         * lib/unictype/pr_currency_symbol.h: Likewise.
45153         * lib/unictype/pr_dash.h: Likewise.
45154         * lib/unictype/pr_decimal_digit.h: Likewise.
45155         * lib/unictype/pr_deprecated.h: Likewise.
45156         * lib/unictype/pr_diacritic.h: Likewise.
45157         * lib/unictype/pr_extender.h: Likewise.
45158         * lib/unictype/pr_grapheme_base.h: Likewise.
45159         * lib/unictype/pr_grapheme_extend.h: Likewise.
45160         * lib/unictype/pr_grapheme_link.h: Likewise.
45161         * lib/unictype/pr_id_continue.h: Likewise.
45162         * lib/unictype/pr_id_start.h: Likewise.
45163         * lib/unictype/pr_ideographic.h: Likewise.
45164         * lib/unictype/pr_ignorable_control.h: Likewise.
45165         * lib/unictype/pr_logical_order_exception.h: Likewise.
45166         * lib/unictype/pr_lowercase.h: Likewise.
45167         * lib/unictype/pr_numeric.h: Likewise.
45168         * lib/unictype/pr_other_alphabetic.h: Likewise.
45169         * lib/unictype/pr_punctuation.h: Likewise.
45170         * lib/unictype/pr_sentence_terminal.h: Likewise.
45171         * lib/unictype/pr_terminal_punctuation.h: Likewise.
45172         * lib/unictype/pr_unassigned_code_value.h: Likewise.
45173         * lib/unictype/pr_unified_ideograph.h: Likewise.
45174         * lib/unictype/pr_uppercase.h: Likewise.
45175         * lib/unictype/pr_xid_continue.h: Likewise.
45176         * lib/unictype/pr_xid_start.h: Likewise.
45177         * lib/unictype/pr_zero_width.h: Likewise.
45178         * lib/unictype/scripts.h: Likewise.
45179         * lib/unictype/scripts_byname.gperf: Likewise.
45180         * lib/unictype/sy_java_ident.h: Likewise.
45181         * lib/unigbrk/gbrkprop.h: Likewise.
45182         * lib/unilbrk/lbrkprop1.h: Likewise.
45183         * lib/unilbrk/lbrkprop2.h: Likewise.
45184         * lib/unilbrk/lbrktables.h: Likewise.
45185         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
45186         LBP_CP. Implement rule LB30.
45187         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
45188         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
45189         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
45190         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
45191         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
45192         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
45193         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
45194         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
45195         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
45196         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
45197         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
45198         bits instead of 16 bits in the code1 and code2 of each composition
45199         rule.
45200         (uc_composition): Update for Unicode 5.2.0.
45201         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
45202         * lib/uninorm/decomposition-table2.h: Likewise.
45203         * lib/uniwbrk/wbrkprop.h: Likewise.
45204         * tests/unicase/test-cased.c: Likewise.
45205         * tests/unicase/test-ignorable.c: Likewise.
45206         * tests/unicase/test-uc_tolower.c: Likewise.
45207         * tests/unicase/test-uc_totitle.c: Likewise.
45208         * tests/unicase/test-uc_toupper.c: Likewise.
45209         * tests/unictype/test-categ_C.c: Likewise.
45210         * tests/unictype/test-categ_Cf.c: Likewise.
45211         * tests/unictype/test-categ_Cn.c: Likewise.
45212         * tests/unictype/test-categ_L.c: Likewise.
45213         * tests/unictype/test-categ_Ll.c: Likewise.
45214         * tests/unictype/test-categ_Lm.c: Likewise.
45215         * tests/unictype/test-categ_Lo.c: Likewise.
45216         * tests/unictype/test-categ_Lu.c: Likewise.
45217         * tests/unictype/test-categ_M.c: Likewise.
45218         * tests/unictype/test-categ_Mc.c: Likewise.
45219         * tests/unictype/test-categ_Mn.c: Likewise.
45220         * tests/unictype/test-categ_N.c: Likewise.
45221         * tests/unictype/test-categ_Nd.c: Likewise.
45222         * tests/unictype/test-categ_Nl.c: Likewise.
45223         * tests/unictype/test-categ_No.c: Likewise.
45224         * tests/unictype/test-categ_P.c: Likewise.
45225         * tests/unictype/test-categ_Pd.c: Likewise.
45226         * tests/unictype/test-categ_Po.c: Likewise.
45227         * tests/unictype/test-categ_S.c: Likewise.
45228         * tests/unictype/test-categ_Sc.c: Likewise.
45229         * tests/unictype/test-categ_So.c: Likewise.
45230         * tests/unictype/test-ctype_alnum.c: Likewise.
45231         * tests/unictype/test-ctype_alpha.c: Likewise.
45232         * tests/unictype/test-ctype_graph.c: Likewise.
45233         * tests/unictype/test-ctype_lower.c: Likewise.
45234         * tests/unictype/test-ctype_print.c: Likewise.
45235         * tests/unictype/test-ctype_punct.c: Likewise.
45236         * tests/unictype/test-ctype_upper.c: Likewise.
45237         * tests/unictype/test-decdigit.h: Likewise.
45238         * tests/unictype/test-digit.h: Likewise.
45239         * tests/unictype/test-numeric.h: Likewise.
45240         * tests/unictype/test-pr_alphabetic.c: Likewise.
45241         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
45242         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
45243         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
45244         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
45245         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
45246         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
45247         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
45248         * tests/unictype/test-pr_combining.c: Likewise.
45249         * tests/unictype/test-pr_composite.c: Likewise.
45250         * tests/unictype/test-pr_currency_symbol.c: Likewise.
45251         * tests/unictype/test-pr_dash.c: Likewise.
45252         * tests/unictype/test-pr_decimal_digit.c: Likewise.
45253         * tests/unictype/test-pr_deprecated.c: Likewise.
45254         * tests/unictype/test-pr_diacritic.c: Likewise.
45255         * tests/unictype/test-pr_extender.c: Likewise.
45256         * tests/unictype/test-pr_grapheme_base.c: Likewise.
45257         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
45258         * tests/unictype/test-pr_grapheme_link.c: Likewise.
45259         * tests/unictype/test-pr_id_continue.c: Likewise.
45260         * tests/unictype/test-pr_id_start.c: Likewise.
45261         * tests/unictype/test-pr_ideographic.c: Likewise.
45262         * tests/unictype/test-pr_ignorable_control.c: Likewise.
45263         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
45264         * tests/unictype/test-pr_lowercase.c: Likewise.
45265         * tests/unictype/test-pr_numeric.c: Likewise.
45266         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
45267         * tests/unictype/test-pr_punctuation.c: Likewise.
45268         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
45269         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
45270         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
45271         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
45272         * tests/unictype/test-pr_uppercase.c: Likewise.
45273         * tests/unictype/test-pr_xid_continue.c: Likewise.
45274         * tests/unictype/test-pr_xid_start.c: Likewise.
45275         * tests/unictype/test-pr_zero_width.c: Likewise.
45276         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
45277         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
45278         changed behaviour: line breaking is now disallowed between a letter
45279         or '=' and '('.
45280         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
45281         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
45282         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
45283         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
45284         * tests/uniwidth/test-uc_width2.sh: Same updates as in
45285         lib/uniwidth/width.c.
45286         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
45287         without comments, but with the original copyright notice.
45288         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
45289         changes.
45290         * lib/unictype/categ_Cc.h: Likewise.
45291         * lib/unictype/categ_Co.h: Likewise.
45292         * lib/unictype/categ_Cs.h: Likewise.
45293         * lib/unictype/categ_Lt.h: Likewise.
45294         * lib/unictype/categ_Me.h: Likewise.
45295         * lib/unictype/categ_Pc.h: Likewise.
45296         * lib/unictype/categ_Pe.h: Likewise.
45297         * lib/unictype/categ_Pf.h: Likewise.
45298         * lib/unictype/categ_Pi.h: Likewise.
45299         * lib/unictype/categ_Ps.h: Likewise.
45300         * lib/unictype/categ_Sk.h: Likewise.
45301         * lib/unictype/categ_Sm.h: Likewise.
45302         * lib/unictype/categ_Z.h: Likewise.
45303         * lib/unictype/categ_Zl.h: Likewise.
45304         * lib/unictype/categ_Zp.h: Likewise.
45305         * lib/unictype/categ_Zs.h: Likewise.
45306         * lib/unictype/ctype_blank.h: Likewise.
45307         * lib/unictype/ctype_cntrl.h: Likewise.
45308         * lib/unictype/ctype_digit.h: Likewise.
45309         * lib/unictype/ctype_space.h: Likewise.
45310         * lib/unictype/ctype_xdigit.h: Likewise.
45311         * lib/unictype/mirror.h: Likewise.
45312         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
45313         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
45314         * lib/unictype/pr_bidi_block_separator.h: Likewise.
45315         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
45316         * lib/unictype/pr_bidi_common_separator.h: Likewise.
45317         * lib/unictype/pr_bidi_control.h: Likewise.
45318         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
45319         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
45320         * lib/unictype/pr_bidi_pdf.h: Likewise.
45321         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
45322         * lib/unictype/pr_bidi_whitespace.h: Likewise.
45323         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
45324         * lib/unictype/pr_format_control.h: Likewise.
45325         * lib/unictype/pr_hex_digit.h: Likewise.
45326         * lib/unictype/pr_hyphen.h: Likewise.
45327         * lib/unictype/pr_ids_binary_operator.h: Likewise.
45328         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
45329         * lib/unictype/pr_iso_control.h: Likewise.
45330         * lib/unictype/pr_join_control.h: Likewise.
45331         * lib/unictype/pr_left_of_pair.h: Likewise.
45332         * lib/unictype/pr_line_separator.h: Likewise.
45333         * lib/unictype/pr_math.h: Likewise.
45334         * lib/unictype/pr_non_break.h: Likewise.
45335         * lib/unictype/pr_not_a_character.h: Likewise.
45336         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
45337         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
45338         * lib/unictype/pr_other_id_continue.h: Likewise.
45339         * lib/unictype/pr_other_id_start.h: Likewise.
45340         * lib/unictype/pr_other_lowercase.h: Likewise.
45341         * lib/unictype/pr_other_math.h: Likewise.
45342         * lib/unictype/pr_other_uppercase.h: Likewise.
45343         * lib/unictype/pr_paired_punctuation.h: Likewise.
45344         * lib/unictype/pr_paragraph_separator.h: Likewise.
45345         * lib/unictype/pr_pattern_syntax.h: Likewise.
45346         * lib/unictype/pr_pattern_white_space.h: Likewise.
45347         * lib/unictype/pr_private_use.h: Likewise.
45348         * lib/unictype/pr_quotation_mark.h: Likewise.
45349         * lib/unictype/pr_radical.h: Likewise.
45350         * lib/unictype/pr_soft_dotted.h: Likewise.
45351         * lib/unictype/pr_space.h: Likewise.
45352         * lib/unictype/pr_titlecase.h: Likewise.
45353         * lib/unictype/pr_variation_selector.h: Likewise.
45354         * lib/unictype/pr_white_space.h: Likewise.
45355         * lib/unictype/sy_c_ident.h: Likewise.
45356         * lib/unictype/sy_c_whitespace.h: Likewise.
45357         * lib/unictype/sy_java_whitespace.h: Likewise.
45358         * modules/uni*/*: Bump version number of expected libunistring version.
45359         Reported by Simon Josefsson.
45361 2011-01-09  Karl Heuer  <kwzh@gnu.org>
45363         useless-if-before-free: fix typo in --help and make the internal,
45364         automatic version date update process work once again.
45365         --help output contained a NUL character instead of the
45366         backslash-zero that was intended.  Also, the "must lie within
45367         the first 8 lines" line is on line 9, and hence not getting
45368         automatically updated.
45369         * build-aux/useless-if-before-free: Fix the former by adding a
45370         backslash, and the latter by condensing the three lines of what-it-does
45371         to a single line, leaving one line of slack for the future.
45373 2011-01-09  Bruno Haible  <bruno@clisp.org>
45375         uniwidth/width: Fix width of U+1D173..U+1D17A.
45376         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
45377         symbolic_width, output_width_property_test): New functions.
45378         (main): Invoke output_nonspacing_property, output_width_property_test.
45379         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
45380         U+1D173..U+1D17A.
45381         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
45382         1.
45383         * modules/uniwidth/*: Bump version number of expected libunistring
45384         version.
45385         * modules/unilbrk/*: Likewise.
45387 2011-01-08  Bruno Haible  <bruno@clisp.org>
45389         uninorm tests: Preserve copyright of Unicode data file.
45390         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
45391         Mention modifications.
45393 2011-01-08  Bruno Haible  <bruno@clisp.org>
45395         gen-uni-tables: Prepare for Unicode 5.2.0.
45396         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
45397         (debug_output_lbp, output_lbp): Update.
45399 2011-01-08  Bruno Haible  <bruno@clisp.org>
45401         unilbrk: Clarify gen-uni-tables.c code.
45402         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
45403         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
45404         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
45406 2011-01-07  Bruno Haible  <bruno@clisp.org>
45408         strtod: Restore errno when successfully parsing Infinity or NaN.
45409         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
45410         restore the original errno.
45412 2011-01-07  Bruno Haible  <bruno@clisp.org>
45414         remove test: Avoid failure on HP-UX 11.
45415         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
45417 2011-01-07  Bruno Haible  <bruno@clisp.org>
45419         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
45420         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
45421         error code.
45423 2011-01-07  Pádraig Brady  <P@draigBrady.com>
45425         ignore-value: fixup comments, and add Eric Blake
45426         as an author since he rewrote the macros.
45427         * lib/ignore-value.h (ignore_value):  State that
45428         we now support aggregates.  Also specify exactly
45429         when the GCC warn_unused_result feature was added.
45431 2011-01-06  Eric Blake  <eblake@redhat.com>
45433         ignore-value: support aggregate types
45434         * lib/ignore-value.h (ignore_value): Provide separate gcc
45435         definition.
45436         * modules/ignore-value-tests: New test module.
45437         * tests/test-ignore-value.c: New test.
45439         maint.mk: improve sc_prohibit_strcmp regex
45440         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
45441         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
45442         definition of STRNEQ.
45444         signal: work around Haiku issue with SIGBUS
45445         * lib/siglist.h: Add comment.
45446         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
45447         strsignal's favoring of SIGSEGV.
45448         * tests/test-signal.c (main): Avoid test failure.
45449         * doc/posix-headers/signal.texi (signal.h): Document the issue.
45450         Reported by Scott McCreary.
45452         maint.mk: add pre-release check to ensure submodule commits are public
45453         * top/maint.mk (public-submodule-commit): New rule.
45454         (submodule-checks): New variable.
45455         (alpha beta stable): Depend on the variable.
45457 2011-01-05  Pádraig Brady  <P@draigBrady.com>
45458         and Jim Meyering  <meyering@redhat.com>
45460         ignore-value: make ignore_value more generic; deprecate ignore_ptr
45461         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
45462         (ATTRIBUTE_DEPRECATED): Define.
45463         (_ignore_case): New function.
45464         (ignore_value): New macro, to replace the old function.
45465         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
45466         * modules/ignore-value (Depends-on): Add stdint.
45468 2011-01-04  Eric Blake  <eblake@redhat.com>
45470         doc: regenerate INSTALL
45471         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
45472         @firstparagraphindent support, now that autoconf dropped it.
45473         (INSTALL_PRELUDE): Reinstate old macro.
45474         * doc/install.texi: Resync from autoconf.
45475         * doc/INSTALL: Reflect recent autoconf update.
45476         * doc/INSTALL.ISO: Likewise.
45477         * doc/INSTALL.UTF-8: Likewise.
45478         Reported by Karl Berry.
45480 2011-01-04  Bruce Korb  <address@hidden>
45482         git-version-gen: avoid a sub-shell
45483         * build-aux/git-version-gen: Redirect stderr in `...` via
45484         "exec 2>...", rather than via an added sub-shell.
45486 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
45488         git-version-gen: use (...) rather than sh -c '...'
45489         * build-aux/git-version-gen: Rather than hard-coding a shell's name
45490         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
45492 2011-01-03  Jim Meyering  <meyering@redhat.com>
45494         git-version-gen: convert leading TABs to spaces
45495         * build-aux/git-version-gen: Expand leading TABs.
45497         git-version-gen: handle failed "git rev-list"
45498         * build-aux/git-version-gen: Rather than leaking a "fatal" error
45499         from git and proceeding as if it had succeeded but printed no SHA1
45500         checksums, suppress the diagnostic and handle the failure.
45501         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
45503         git-version-gen: include command name in one more diagnostic
45504         * build-aux/git-version-gen: When the required .tarball-version file
45505         was missing or unreadable, you might see the diagnostic from "cat",
45506         but no trace of the name of the invoking script.  Now, you still see
45507         the diagnostic from cat, but also get one from "git-version-gen: ".
45508         Inspired by a patch from Bruce Korb.
45510         update-copyright: adjust test to match changed code
45511         * tests/test-update-copyright.sh: Change test's expected output
45512         to match new actual output.
45514 2011-01-02  Bruno Haible  <bruno@clisp.org>
45516         getlogin_r: Avoid test failure on HP-UX 11.
45517         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
45518         ERANGE when the second argument is zero.
45519         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
45520         portability problem.
45522 2011-01-02  Bruce Korb  <bkorb@gnu.org>
45524         * build-aux/update-copyright: doc Simon's changes
45526 2011-01-02  Simon Josefsson  <simon@josefsson.org>
45528         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
45529         environment variable.
45531 2011-01-02  Bruno Haible  <bruno@clisp.org>
45533         unigbrk: Avoid gcc warnings.
45534         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
45535         unused variable.
45536         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
45537         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
45538         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
45539         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
45540         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
45541         Change type of first argument to 'const char *'.
45542         (main): Remove unused variable.
45543         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
45544         type of first argument to 'const char *'.
45545         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
45546         Likewise.
45547         (main): Change type of variable 's'.
45548         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
45549         to 'int'.
45551 2011-01-02  Bruno Haible  <bruno@clisp.org>
45553         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
45554         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
45555         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
45556         bug.
45557         * lib/pwrite.c: Undo 2010-12-31 patch.
45558         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
45560 2011-01-02  Bruno Haible  <bruno@clisp.org>
45562         pread: Fix test whether it works.
45563         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
45565 2011-01-02  Bruno Haible  <bruno@clisp.org>
45567         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
45568         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
45569         ends in "6". Don't require a specific month name. Try also the locale
45570         names found on HP-UX 11 and Solaris 7.
45572 2011-01-02  Bruno Haible  <bruno@clisp.org>
45574         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
45575         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
45576         C linkage.
45577         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
45579 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
45581         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
45582         for consistency, since the "cluster" term is not used elsewhere.
45583         * lib/unigbrk.in.h: Update name.
45584         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
45585         * lib/unigbrk/u16-grapheme-next.c: Update name.
45586         * lib/unigbrk/u16-grapheme-prev.c: Update name.
45587         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
45588         * lib/unigbrk/u32-grapheme-next.c: Update name.
45589         * lib/unigbrk/u32-grapheme-prev.c: Update name.
45590         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
45591         * lib/unigbrk/u8-grapheme-next.c: Update name.
45592         * lib/unigbrk/u8-grapheme-prev.c: Update name.
45593         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
45594         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
45595         Suggested by Bruno Haible.
45597 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
45599         Remove module 'u8-grapheme-len' as too redundant with
45600         'u8-grapheme-next'.
45601         * modules/unigbrk/u8-grapheme-len: Delete file.
45602         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
45603         * lib/unigbrk.in.h: Remove prototype for deleted function.
45604         * lib/unigbrk/u8-grapheme-len.c: Delete file.
45605         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
45607         Remove module 'u16-grapheme-len' as too redundant with
45608         'u16-grapheme-next'.
45609         * modules/unigbrk/u16-grapheme-len: Delete file.
45610         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
45611         * lib/unigbrk.in.h: Remove prototype for deleted function.
45612         * lib/unigbrk/u16-grapheme-len.c: Delete file.
45613         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
45615         Remove module 'u32-grapheme-len' as too redundant with
45616         'u32-grapheme-next'.
45617         * modules/unigbrk/u32-grapheme-len: Delete file.
45618         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
45619         * lib/unigbrk.in.h: Remove prototype for deleted function.
45620         * lib/unigbrk/u32-grapheme-len.c: Delete file.
45621         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
45623         Suggested by Bruno Haible.
45625 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
45627         * unigbrk.in.h: Fix typo: "ben" => "been".
45628         Reported by Bruno Haible.
45630 2011-01-01  Jim Meyering  <meyering@redhat.com>
45632         maint: update almost all copyright ranges to include 2011
45633         Run the new "make update-copyright" rule.
45635 2011-01-01  Jim Meyering  <meyering@redhat.com>
45637         maint: update-copyright: exempt doc/INSTALL*
45638         * Makefile (update-copyright): Also exclude doc/INSTALL*,
45639         since they are generated.  Suggested by Bruno Haible.
45641 2011-01-01  Jim Meyering  <meyering@redhat.com>
45643         maint: refine the update-copyright rule
45644         * Makefile (update-copyright): Also exclude any file that includes
45645         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
45646         code that merely generates the comment.
45648 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
45650         New module 'u8-grapheme-len'.
45651         * modules/unigbrk/u8-grapheme-len: New file.
45652         * modules/unigbrk/u8-grapheme-len-tests: New file.
45653         * lib/unigbrk.in.h: Add prototype for new function.
45654         * lib/unigbrk/u8-grapheme-len.c: New file.
45655         * tests/unigbrk/test-u8-grapheme-len.c: New file.
45657         New module 'u16-grapheme-len'.
45658         * modules/unigbrk/u16-grapheme-len: New file.
45659         * modules/unigbrk/u16-grapheme-len-tests: New file.
45660         * lib/unigbrk.in.h: Add prototype for new function.
45661         * lib/unigbrk/u16-grapheme-len.c: New file.
45662         * tests/unigbrk/test-u16-grapheme-len.c: New file.
45664         New module 'u32-grapheme-len'.
45665         * modules/unigbrk/u32-grapheme-len: New file.
45666         * modules/unigbrk/u32-grapheme-len-tests: New file.
45667         * lib/unigbrk.in.h: Add prototype for new function.
45668         * lib/unigbrk/u32-grapheme-len.c: New file.
45669         * tests/unigbrk/test-u32-grapheme-len.c: New file.
45671         New module 'u8-grapheme-next'.
45672         * modules/unigbrk/u8-grapheme-next: New file.
45673         * modules/unigbrk/u8-grapheme-next-tests: New file.
45674         * lib/unigbrk.in.h: Add prototype for new function.
45675         * lib/unigbrk/u8-grapheme-next.c: New file.
45676         * tests/unigbrk/test-u8-grapheme-next.c: New file.
45678         New module 'u16-grapheme-next'.
45679         * modules/unigbrk/u16-grapheme-next: New file.
45680         * modules/unigbrk/u16-grapheme-next-tests: New file.
45681         * lib/unigbrk.in.h: Add prototype for new function.
45682         * lib/unigbrk/u16-grapheme-next.c: New file.
45683         * tests/unigbrk/test-u16-grapheme-next.c: New file.
45685         New module 'u32-grapheme-next'.
45686         * modules/unigbrk/u32-grapheme-next: New file.
45687         * modules/unigbrk/u32-grapheme-next-tests: New file.
45688         * lib/unigbrk.in.h: Add prototype for new function.
45689         * lib/unigbrk/u32-grapheme-next.c: New file.
45690         * tests/unigbrk/test-u32-grapheme-next.c: New file.
45692         New module 'u8-grapheme-prev'.
45693         * modules/unigbrk/u8-grapheme-prev: New file.
45694         * modules/unigbrk/u8-grapheme-prev-tests: New file.
45695         * lib/unigbrk.in.h: Add prototype for new function.
45696         * lib/unigbrk/u8-grapheme-prev.c: New file.
45697         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
45699         New module 'u16-grapheme-prev'.
45700         * modules/unigbrk/u16-grapheme-prev: New file.
45701         * modules/unigbrk/u16-grapheme-prev-tests: New file.
45702         * lib/unigbrk.in.h: Add prototype for new function.
45703         * lib/unigbrk/u16-grapheme-prev.c: New file.
45704         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
45706         New module 'u32-grapheme-prev'.
45707         * modules/unigbrk/u32-grapheme-prev: New file.
45708         * modules/unigbrk/u32-grapheme-prev-tests: New file.
45709         * lib/unigbrk.in.h: Add prototype for new function.
45710         * lib/unigbrk/u32-grapheme-prev.c: New file.
45711         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
45713         New module 'u8-grapheme-breaks'.
45714         * modules/unigbrk/u8-grapheme-breaks: New file.
45715         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
45716         * lib/unigbrk.in.h: Add prototype for new function.
45717         * lib/unigbrk/u8-grapheme-breaks.c: New file.
45718         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
45720         New module 'u16-grapheme-breaks'.
45721         * modules/unigbrk/u16-grapheme-breaks: New file.
45722         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
45723         * lib/unigbrk.in.h: Add prototype for new function.
45724         * lib/unigbrk/u16-grapheme-breaks.c: New file.
45725         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
45727         New module 'u32-grapheme-breaks'.
45728         * modules/unigbrk/u32-grapheme-breaks: New file.
45729         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
45730         * lib/unigbrk.in.h: Add prototype for new function.
45731         * lib/unigbrk/u32-grapheme-breaks.c: New file.
45732         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
45734         New module 'ulc-grapheme-breaks'.
45735         * modules/unigbrk/ulc-grapheme-breaks: New file.
45736         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
45737         * m4/locale-ar.m4: New file.
45738         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
45739         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
45740         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
45742 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
45744         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
45745         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
45746         modified how this file was generated before I initially submitted
45747         the module, but failed to regenerate it.  This meant that several
45748         of the level2 entries were wrong.
45749         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
45750         Remove the division-by-2 that is folded into the table now that
45751         gbrkprop.h has been regenerated properly.  Now -1 entries are
45752         handled correctly.
45754         New module 'unigbrk/uc-gbrk-prop-tests'.
45755         * modules/unigbrk/uc-gbrk-prop-tests: New file.
45756         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
45757         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
45758         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
45760 2011-01-01  Bruno Haible  <bruno@clisp.org>
45762         Avoid use of hexadecimal escapes.
45763         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
45764         instead of hexadecimal escapes.
45766 2011-01-01  Jim Meyering  <meyering@redhat.com>
45768         maint: new rule to update copyright year ranges
45769         * Makefile (update-copyright): New rule.
45771         maint: indent with TABs in Makefile
45772         * Makefile: Expand leading sequences of spaces to TABs
45774         version-etc: update the copyright year it reports
45775         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
45777 2010-12-31  Bruno Haible  <bruno@clisp.org>
45779         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
45780         * lib/isfinite.c (zerof, zerod, zerol): New variables.
45781         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
45782         zero.
45784 2010-12-31  Bruno Haible  <bruno@clisp.org>
45786         pwrite: Work around HP-UX 11.11 bug.
45787         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
45788         works and set REPLACE_PWRITE if not.
45789         * lib/pwrite.c (pwrite): Add an implementation that uses the system
45790         function.
45791         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
45793 2010-12-31  Bruno Haible  <bruno@clisp.org>
45795         pread: Work around HP-UX 11 bugs.
45796         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
45797         and set REPLACE_PREAD if not.
45798         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
45800 2010-12-31  Eric Blake  <eblake@redhat.com>
45802         nl_langinfo: fix YESEXPR on Irix 6.5
45803         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
45804         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
45805         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
45806         it.
45808 2010-12-31  Bruno Haible  <bruno@clisp.org>
45810         iconv: Document HP-UX 11 bug.
45811         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
45813 2010-12-31  Bruno Haible  <bruno@clisp.org>
45815         ldexpl: Fix link error on HP-UX 11.
45816         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
45817         LDEXPL_LIBM, using $ISNANL_LIBM.
45819 2010-12-31  Eric Blake  <eblake@redhat.com>
45821         ftello: avoid compilation failure with SunStudio c89
45822         * lib/ftello.c (ftello): Use lseek, not llseek.
45824         tests: avoid failing coreutils tests on cygwin
45825         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
45826         (create_exe_shims_): Return 0 when skipping.
45828 2010-12-31  Bruno Haible  <bruno@clisp.org>
45830         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
45831         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
45833 2010-12-31  Bruno Haible  <bruno@clisp.org>
45835         waitpid: Fix link error in C++ mode.
45836         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
45838 2010-12-31  Bruno Haible  <bruno@clisp.org>
45840         isnan: Use GCC built-ins when possible.
45841         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
45842         __builtin_isnan.
45843         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
45844         (isnan): Define using GCC built-ins for GCC >= 4.0.
45846 2010-12-31  Bruno Haible  <bruno@clisp.org>
45848         isnand: Fix mistake.
45849         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
45850         __builtin_isnand.
45852 2010-12-31  Bruno Haible  <bruno@clisp.org>
45854         open: Avoid C++ error on HP-UX 11.
45855         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
45857 2010-12-31  Bruno Haible  <bruno@clisp.org>
45859         time_r: Add missing declarations on HP-UX 11.
45860         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
45861         instead of HAVE_LOCALTIME_R.
45862         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
45863         HAVE_LOCALTIME_R always.
45864         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
45865         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
45866         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
45867         HAVE_LOCALTIME_R.
45868         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
45869         * doc/posix-functions/localtime_r.texi: Likewise.
45871 2010-12-29  Eric Blake  <eblake@redhat.com>
45873         mountlist: tweak previous commit
45874         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
45875         Reported by Paul Eggert.
45877         mountlist: fix local drive detection on cygwin
45878         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
45879         that works for cygwin.
45881 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
45883         ftoastr, snprintf: ftoastr + snprintf module
45884         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
45885         since the snprintf module now should be good enough here.
45886         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
45887         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
45888         and gl_MODULE_INDICATOR([snprintf]), but the former enables
45889         GNULIB_SNPRINTF only for the test directory, and the latter
45890         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
45891         seems to suffice by itself.
45893 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
45895         alloca: one step towards thread-safety
45896         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
45897         need for a static variable.  All callers changed.  This does not
45898         make the alloca replacement thread-safe, but it's one step.
45900         tests: minor indenting change
45901         * tests/init.sh: Sync from coreutils housekeeping patch
45902         <http://lists.gnu.org/r/coreutils/2010-12/msg00116.html>
45903         to keep lines within 80 columns.
45905 2010-12-28  Jim Meyering  <meyering@redhat.com>
45907         regex: don't infloop on persistent failing calloc
45908         * lib/regexec.c (build_trtable): Return failure indication upon
45909         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
45910         In glibc, this was fixed for version 2.13:
45911         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
45913 2010-12-28  Bruno Haible  <bruno@clisp.org>
45914             Paul Eggert <eggert@cs.ucla.edu>
45916         linkat: Make implementation robust against system behaviour variations.
45917         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
45918         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
45919         way, and to -2 if it needs a generic runtime test.
45920         * lib/linkat.c (solaris_optimized_link_immediate,
45921         solaris_optimized_link_follow): New functions.
45922         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
45923         (check_same_link): Use it.
45925 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
45927         New module 'unigbrk/base'.
45928         * modules/unigbrk/base: New file.
45929         * lib/unigbrk.in.h: New file.
45931         New module 'unigbrk/uc-gbrk-prop'.
45932         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
45933         * modules/unigbrk/uc-gbrk-prop: New file.
45934         * lib/unigbrk/gbrkprop.h: New file.
45935         * lib/unigbrk/uc-gbrk-prop.c: New file.
45937         New module 'unigbrk/uc-is-grapheme-break'.
45938         * modules/unigbrk/uc-is-grapheme-break: New file.
45939         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
45940         * lib/unigbrk/uc-is-grapheme-break.c: New file.
45941         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
45942         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
45943         * tests/unigbrk/GraphemeBreakTest.txt: New file.
45945         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
45947 2010-12-27  Bruno Haible  <bruno@clisp.org>
45949         linkat test: Avoid failure on Solaris 11 2010-11.
45950         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
45952 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
45954         utimens: work around glibc rounding bug on more platforms
45955         * lib/utimens.c (fdutimens): Work around rounding bug even if
45956         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
45957         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00298.html>.
45959 2010-12-27  Bruno Haible  <bruno@clisp.org>
45961         select tests: Improve comments.
45962         * tests/test-select.c (do_select): Add comments.
45964 2010-12-27  Bruno Haible  <bruno@clisp.org>
45966         select tests: Safer way of handling timeout.
45967         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
45968         at every invocation.
45970 2010-12-27  Bruno Haible  <bruno@clisp.org>
45972         select tests: Use 'bool' where appropriate.
45973         * tests/test-select.c (connect_to_socket): Change argument type to
45974         'bool'.
45976 2010-12-27  Bruno Haible  <bruno@clisp.org>
45978         select tests: Use existing modules.
45979         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
45980         (configure.ac): Don't test for unistd.h.
45981         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
45982         declared in <unistd.h>.
45984 2010-12-27  Bruno Haible  <bruno@clisp.org>
45986         mbrtowc: Work around a Solaris 7 bug.
45987         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
45988         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
45989         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
45990         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
45991         MBRTOWC_NULL_ARG1_BUG.
45992         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
45993         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
45994         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
45995         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
45997 2010-12-27  Jim Meyering  <meyering@redhat.com>
45999         read-file.c: tweak syntax
46000         * lib/read-file.c (fread_file): Remove space after "*" in function
46001         definitions.
46003 2010-12-27  Bruno Haible  <bruno@clisp.org>
46005         times test: Avoid gcc warnings on OSF/1.
46006         * tests/test-times.c (main): Cast printf arguments from clock_t to
46007         'long int'.
46009 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
46011         utimens: work around glibc rounding bug on older Linux kernels
46012         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
46013         on Linux with a glibc whose utimes might not work, then work
46014         around a longstanding glibc bug involving rounding rather than
46015         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
46016         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00113.html>.
46018 2010-12-26  Bruno Haible  <bruno@clisp.org>
46020         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
46021         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
46022         _GL_CXXALIAS_SYS.
46023         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
46025 2010-12-26  Bruno Haible  <bruno@clisp.org>
46027         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
46028         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
46029         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
46030         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
46031         looking for the declaration.
46032         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
46033         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
46034         problem.
46035         * doc/posix-functions/inet_pton.texi: Likewise.
46037 2010-12-26  Bruno Haible  <bruno@clisp.org>
46039         arpa_inet: Use the common idioms with C++ support.
46040         * lib/arpa_inet.in.h: Include c++defs.h.
46041         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
46042         support.
46043         * modules/arpa_inet (Depends-on): Add c++defs.
46044         (Makefile.am): Substitute the contents of c++defs.h.
46045         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
46046         * modules/arpa_inet-c++-tests: New file.
46047         * tests/test-arpa_inet-c++.cc: New file.
46049 2010-12-25  Bruno Haible  <bruno@clisp.org>
46051         Fix more C++ link errors on Solaris 8.
46052         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
46053         $(LIB_EACCESS).
46054         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
46055         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
46056         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
46057         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
46058         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
46060 2010-12-25  Bruno Haible  <bruno@clisp.org>
46062         printf-posix: Fix link error when a non-GCC compiler is used.
46063         * lib/stdio.in.h (printf): When not using GCC, override printf
46064         correctly.
46065         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
46067 2010-12-25  Bruno Haible  <bruno@clisp.org>
46069         strerror_r-posix: Update doc.
46070         * doc/posix-functions/strerror_r.texi: Update doc about the return
46071         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
46073 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
46075         utimens: simplify the logic of the previous change
46076         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
46077         This should not affect whether the test succeeds or fails.
46079         utimens: configure better on hosts with NFS clock skew
46080         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
46081         uses the clock of the local host.  It might use the clock of the
46082         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
46083         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00113.html>.
46085 2010-12-25  Bruno Haible  <bruno@clisp.org>
46087         ptsname test: Avoid failure on Solaris.
46088         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
46089         open a pseudo-terminal; don't use BSD-style ptys.
46090         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
46092 2010-12-25  Bruno Haible  <bruno@clisp.org>
46094         ptsname: Avoid ERANGE failure on some systems.
46095         * lib/ptsname.c (buffer): Increase size.
46097 2010-12-25  Bruno Haible  <bruno@clisp.org>
46099         rename, renameat: Avoid test failures at NFS mounted locations.
46100         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
46101         so that subsequent mkdir calls succeed.
46103 2010-12-25  Bruno Haible  <bruno@clisp.org>
46105         iswblank: Fix C++ link error on Solaris 8.
46106         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
46107         _GL_FUNCDECL_SYS.
46109 2010-12-25  Bruno Haible  <bruno@clisp.org>
46111         unistd: Fix C++ link error on Solaris 8.
46112         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
46114 2010-12-25  Bruno Haible  <bruno@clisp.org>
46116         readlink doc: Mention an old glibc bug.
46117         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
46119 2010-12-25  Bruno Haible  <bruno@clisp.org>
46121         fcntl-h: Fix for use of C++ on glibc systems.
46122         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
46123         also on glibc systems in C++ mode.
46124         Reported by Gary V. Vaughan <gary@gnu.org>.
46126 2010-12-25  Bruno Haible  <bruno@clisp.org>
46128         roundl-ieee: Make it work on OSF/1 5.1 with cc.
46129         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
46131 2010-12-25  Bruno Haible  <bruno@clisp.org>
46133         truncl-ieee: Make it work on OSF/1 5.1 with cc.
46134         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
46135         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
46136         test whether truncl works according to ISO C 99 with IEC 60559.
46137         * m4/truncl-ieee.m4: New file.
46138         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
46139         m4/signbit.m4.
46140         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
46142 2010-12-25  Bruno Haible  <bruno@clisp.org>
46144         ceill-ieee: Make it work on OSF/1 5.1 with cc.
46145         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
46146         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
46147         test whether ceill works according to ISO C 99 with IEC 60559.
46148         * m4/ceill-ieee.m4: New file.
46149         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
46150         m4/signbit.m4.
46151         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
46153 2010-12-25  Bruno Haible  <bruno@clisp.org>
46155         Ensure all prerequisites of <wchar.h> are included.
46156         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
46157         before <wchar.h>.
46158         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
46159         gl_MBRLEN_NUL_RETVAL): Likewise.
46160         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
46161         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
46162         AC_FUNC_MBRTOWC): Likewise.
46163         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
46164         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
46165         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
46166         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
46167         Likewise.
46168         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
46169         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
46170         (gl_WCHAR_H): Improve comments.
46171         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
46173 2010-12-25  Bruno Haible  <bruno@clisp.org>
46175         strtok_r: Fix C syntax error in autoconf macro.
46176         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
46177         characters in test program.
46179 2010-12-24  Bruno Haible  <bruno@clisp.org>
46181         ceil, trunc, round: Fix gcc warnings.
46182         * lib/ceil.c (MIN): Undefine before redefining.
46183         * lib/trunc.c (MIN): Likewise.
46184         * lib/round.c (MIN): Likewise.
46185         Include <math.h> first.
46187 2010-12-24  Bruno Haible  <bruno@clisp.org>
46189         select tests: Avoid failures on OSF/1 5.1.
46190         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
46191         failure of closing the last socket; it may fail with ECONNRESET.
46193 2010-12-24  Eric Blake  <eblake@redhat.com>
46195         stdint: avoid HP-UX 10.20 preprocessor bug
46196         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
46197         than #if.
46198         * tests/test-floor2.c (main): Likewise.
46199         Reported by Peter O'Gorman.
46201         pipe: make obsoletion transition easier
46202         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
46203         * modules/pipe (Files): Include revived file.
46204         (Include): Drop reference, to mirror getdate's behavior.
46206 2010-12-24  Bruno Haible  <bruno@clisp.org>
46208         sys_socket: Hide mismatch of declarations on NonStop Kernel.
46209         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
46210         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
46211         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
46213 2010-12-24  Bruno Haible  <bruno@clisp.org>
46215         gethostname: Ensure declaration on NonStop Kernel.
46216         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
46217         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
46219 2010-12-24  Bruno Haible  <bruno@clisp.org>
46221         sys_select: Ensure all necessary types on NonStop Kernel.
46222         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
46223         include <sys/time.h>.
46224         * doc/posix-headers/sys_select.texi: Mention that it's missing on
46225         NonStop Kernel.
46226         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
46228 2010-12-24  Bruno Haible  <bruno@clisp.org>
46230         sys_select: Remove unneeded include.
46231         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
46232         have <sys/select.h>.
46234 2010-12-24  Bruno Haible  <bruno@clisp.org>
46236         gethostname: Provide a fallback for HOST_NAME_MAX.
46237         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
46238         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
46239         instead.
46240         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
46242 2010-12-24  Bruno Haible  <bruno@clisp.org>
46244         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
46245         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
46246         (SA_RESTART): Likewise.
46247         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
46249 2010-12-24  Bruno Haible  <bruno@clisp.org>
46251         signal: Define NSIG.
46252         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
46253         * tests/test-signal.c (nsig): New variable.
46254         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
46256 2010-12-24  Bruno Haible  <bruno@clisp.org>
46258         rename, renameat: Avoid test failures on OSF/1 5.1.
46259         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
46260         alternative error codes.
46261         * tests/test-renameat.c (main): Likewise.
46263 2010-12-24  Bruno Haible  <bruno@clisp.org>
46265         *printf: Detect large precisions bug on Solaris 10/SPARC.
46266         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
46267         by Paul Eggert.
46268         * tests/test-snprintf-posix.h (test_function): Add this test code here
46269         too.
46270         * tests/test-sprintf-posix.h (test_function): Likewise.
46271         * tests/test-vasnprintf-posix.c (test_function): Likewise.
46272         * tests/test-vasprintf-posix.c (test_function): Likewise.
46273         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
46274         around by gnulib.
46275         * doc/posix-functions/printf.texi: Likewise.
46276         * doc/posix-functions/snprintf.texi: Likewise.
46277         * doc/posix-functions/sprintf.texi: Likewise.
46278         * doc/posix-functions/vfprintf.texi: Likewise.
46279         * doc/posix-functions/vprintf.texi: Likewise.
46280         * doc/posix-functions/vsnprintf.texi: Likewise.
46281         * doc/posix-functions/vsprintf.texi: Likewise.
46282         * doc/posix-functions/dprintf.texi: Undo last commit.
46283         * doc/posix-functions/vdprintf.texi: Likewise.
46285 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
46287         tests: port test-fdutimensat.c to Solaris 8
46288         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
46289         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
46290         On Solaris 8, it fails with errno == ENOSYS, because there is no
46291         futimens (so it can't use the fd), and there is no lutimens (so it
46292         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
46294         vsnprintf: make more consistent with snprintf; doc fixes
46296         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
46297         the byte count return problem was promoted from the snprintf-posix
46298         to the snprintf module.
46299         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
46300         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
46301         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
46302         * tests/test-snprintf.c (main): Check the byte count returned.
46303         * tests/test-vsnprintf.c (main): Likewise.
46305 2010-12-23  Eric Blake  <eblake@redhat.com>
46307         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
46308         * modules/sigpipe (License): Relax license.
46310 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
46312         doc: document Solaris printf bug with large float precisions
46313         * doc/posix-functions/dprintf.texi (dprintf):
46314         * doc/posix-functions/fprintf.texi (fprintf):
46315         * doc/posix-functions/printf.texi (printf):
46316         * doc/posix-functions/snprintf.texi (snprintf):
46317         * doc/posix-functions/sprintf.texi (sprintf):
46318         * doc/posix-functions/vdprintf.texi (vdprintf):
46319         * doc/posix-functions/vfprintf.texi (vfprintf):
46320         * doc/posix-functions/vprintf.texi (vprintf):
46321         * doc/posix-functions/vsnprintf.texi (vsnprintf):
46322         * doc/posix-functions/vsprintf.texi (vsprintf):
46323         Mention that these functions mishandle large floating point
46324         precisions on Solaris 10.  The same bug is also present in Solaris
46325         8, and I assume earlier.  This causes "cd gnulib-tests; make
46326         check" to fail on Solaris 8 (and I assume, later) when building
46327         the latest coreutils, in test-vasprintf-posix's call to
46328         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
46329         the wide flavors (e.g., wprintf) so this patch just updates the
46330         documentation for the narrow ones.
46332         test-posixtm.c: add two tests
46333         * tests/test-posixtm.c: Add two tests, to highlight the
46334         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
46335         around this bug; this is merely to document it.
46337 2010-12-22  Bruno Haible  <bruno@clisp.org>
46339         getlogin_r: Work around portability problem on OSF/1.
46340         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
46341         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
46342         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
46343         test for a truncated result.
46344         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
46345         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
46346         * modules/getlogin_r (Depends-on): Add memchr.
46347         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
46349 2010-12-22  Bruno Haible  <bruno@clisp.org>
46351         ptsname: Avoid test failure on OSF/1 5.1.
46352         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
46353         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
46354         (same_slave): New function.
46355         (main): Use it to compare ptsname's result with the expected file name.
46357 2010-12-22  Bruno Haible  <bruno@clisp.org>
46359         Port extended stdio modules to HP NonStop Kernel.
46360         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
46361         macros.
46362         * lib/fbufmode.c: Update comments.
46363         * lib/fflush.c: Likewise.
46364         * lib/fpurge.c: Likewise.
46365         * lib/freadable.c: Likewise.
46366         * lib/freadahead.c: Likewise.
46367         * lib/freading.c: Likewise.
46368         * lib/freadptr.c: Likewise.
46369         * lib/freadseek.c: Likewise.
46370         * lib/fseeko.c: Likewise.
46371         * lib/fseterr.c: Likewise.
46372         * lib/fwritable.c: Likewise.
46373         * lib/fwriting.c: Likewise.
46374         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
46376 2010-12-22  Bruno Haible  <bruno@clisp.org>
46378         ttyname_r: Work around bug on OSF/1 5.1.
46379         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
46380         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
46381         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
46382         present.
46383         * lib/ttyname_r.c (ttyname_r): Update comments.
46385 2010-12-22  Bruno Haible  <bruno@clisp.org>
46387         round: Implement result sign according to IEEE 754.
46388         * lib/round.c (MIN, MINUS_ZERO): New macros.
46389         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
46390         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
46391         * tests/test-round-ieee.c (main): Likewise.
46392         * tests/test-roundl-ieee.c (main): Likewise.
46394         trunc: Implement result sign according to IEEE 754.
46395         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
46396         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
46397         * tests/test-trunc2.c: Include minus-zero.h.
46398         (MINUS_ZERO): New macro.
46399         (trunc_reference): Keep in sync with lib/trunc.c.
46400         * tests/test-truncf2.c: Include minus-zero.h.
46401         (MINUS_ZERO): New macro.
46402         (truncf_reference): Keep in sync with lib/trunc.c.
46403         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
46404         * tests/test-trunc-ieee.c (main): Likewise.
46405         * tests/test-truncl-ieee.c (main): Likewise.
46407         ceil: Implement result sign according to IEEE 754.
46408         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
46409         (FUNC): Return -0.0 for -1 < x < 0.
46410         * tests/test-ceil2.c: Include minus-zero.h.
46411         (MINUS_ZERO): New macro.
46412         (ceil_reference): Keep in sync with lib/ceil.c.
46413         * tests/test-ceilf2.c: Include minus-zero.h.
46414         (MINUS_ZERO): New macro.
46415         (ceilf_reference): Keep in sync with lib/ceil.c.
46416         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
46417         * tests/test-ceil-ieee.c (main): Likewise.
46418         * tests/test-ceill-ieee.c (main): Likewise.
46420         floor: Implement result sign according to IEEE 754.
46421         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
46422         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
46423         * tests/test-floorf2.c (floorf_reference): Likewise.
46424         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
46425         * tests/test-floor-ieee.c (main): Likewise.
46426         * tests/test-floorl-ieee.c (main): Likewise.
46428 2010-12-22  Bruno Haible  <bruno@clisp.org>
46430         getaddrinfo: Update doc.
46431         * doc/posix-functions/gai_strerror.texi: Return type is also different
46432         on AIX and HP-UX.
46434 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
46436         getaddrinfo, inet_ntop: Update doc for Solaris.
46437         * doc/posix-functions/gai_strerror.texi: Return type is also an
46438         issue on Solaris 9 and earlier.
46439         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
46440         on Solaris 10 and earlier.
46442 2010-12-21  Bruno Haible  <bruno@clisp.org>
46444         New module 'roundl-ieee'.
46445         * modules/roundl-ieee: New file.
46446         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
46447         test whether roundl works according to ISO C 99 with IEC 60559.
46448         * m4/roundl-ieee.m4: New file.
46449         * modules/roundl-ieee-tests: New file.
46450         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
46451         * tests/test-roundl.c (main): Remove signbit tests.
46452         * modules/roundl-tests (Depends-on): Remove signbit.
46453         * doc/posix-functions/roundl.texi: Mention the new module.
46455 2010-12-21  Bruno Haible  <bruno@clisp.org>
46457         New module 'truncl-ieee'.
46458         * modules/truncl-ieee: New file.
46459         * modules/truncl-ieee-tests: New file.
46460         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
46461         * tests/test-truncl.c (main): Remove signbit tests.
46462         * modules/truncl-tests (Depends-on): Remove signbit.
46463         * doc/posix-functions/truncl.texi: Mention the new module.
46465 2010-12-21  Bruno Haible  <bruno@clisp.org>
46467         New module 'ceill-ieee'.
46468         * modules/ceill-ieee: New file.
46469         * modules/ceill-ieee-tests: New file.
46470         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
46471         * tests/test-ceill.c (main): Remove signbit tests.
46472         * modules/ceill-tests (Depends-on): Remove signbit.
46473         * doc/posix-functions/ceill.texi: Mention the new module.
46475 2010-12-21  Bruno Haible  <bruno@clisp.org>
46477         New module 'floorl-ieee'.
46478         * modules/floorl-ieee: New file.
46479         * modules/floorl-ieee-tests: New file.
46480         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
46481         * tests/test-floorl.c (main): Remove signbit tests.
46482         * modules/floorl-tests (Depends-on): Remove signbit.
46483         * doc/posix-functions/floorl.texi: Mention the new module.
46485 2010-12-21  Bruno Haible  <bruno@clisp.org>
46487         New module 'round-ieee'.
46488         * modules/round-ieee: New file.
46489         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
46490         whether round works according to ISO C 99 with IEC 60559.
46491         * m4/round-ieee.m4: New file.
46492         * modules/round-ieee-tests: New file.
46493         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
46494         * tests/test-round1.c (main): Remove signbit tests.
46495         * modules/round-tests (Depends-on): Remove 'signbit'.
46496         * doc/posix-functions/round.texi: Mention the new module.
46498 2010-12-21  Bruno Haible  <bruno@clisp.org>
46500         New module 'trunc-ieee'.
46501         * modules/trunc-ieee: New file.
46502         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
46503         whether trunc works according to ISO C 99 with IEC 60559.
46504         * m4/trunc-ieee.m4: New file.
46505         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
46506         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
46507         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
46508         * modules/trunc-ieee-tests: New file.
46509         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
46510         * tests/test-trunc1.c (main): Remove signbit tests.
46511         * modules/trunc-tests (Depends-on): Remove 'signbit'.
46512         * doc/posix-functions/trunc.texi: Mention the new module.
46514 2010-12-21  Bruno Haible  <bruno@clisp.org>
46516         New module 'ceil-ieee'.
46517         * modules/ceil-ieee: New file.
46518         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
46519         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
46520         ISO C 99 with IEC 60559.
46521         * m4/ceil-ieee.m4: New file.
46522         * modules/ceil (Files): Add lib/ceil.c.
46523         (Depends-on): Add 'float'.
46524         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
46525         * lib/math.in.h (ceil): New declaration.
46526         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
46527         REPLACE_CEIL.
46528         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
46529         * modules/ceil-ieee-tests: New file.
46530         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
46531         * tests/test-math-c++.cc: Check the signature of 'ceil'.
46532         * doc/posix-functions/ceil.texi: Mention the new module.
46534 2010-12-21  Bruno Haible  <bruno@clisp.org>
46536         New module 'floor-ieee'.
46537         * modules/floor-ieee: New file.
46538         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
46539         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
46540         ISO C 99 with IEC 60559.
46541         * m4/floor-ieee.m4: New file.
46542         * modules/floor (Files): Add lib/floor.c.
46543         (Depends-on): Add 'float'.
46544         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
46545         * lib/math.in.h (floor): New declaration.
46546         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
46547         REPLACE_FLOOR.
46548         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
46549         * modules/floor-ieee-tests: New file.
46550         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
46551         * tests/test-math-c++.cc: Check the signature of 'floor'.
46552         * doc/posix-functions/floor.texi: Mention the new module.
46554 2010-12-21  Bruno Haible  <bruno@clisp.org>
46556         New module 'roundf-ieee'.
46557         * modules/roundf-ieee: New file.
46558         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
46559         test whether roundf works according to ISO C 99 with IEC 60559.
46560         * m4/roundf-ieee.m4: New file.
46561         * modules/roundf-ieee-tests: New file.
46562         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
46563         * tests/test-roundf1.c (main): Remove signbit tests.
46564         * modules/roundf-tests (Depends-on): Remove 'signbit'.
46565         * doc/posix-functions/roundf.texi: Mention the new module.
46567 2010-12-21  Bruno Haible  <bruno@clisp.org>
46569         New module 'truncf-ieee'.
46570         * modules/truncf-ieee: New file.
46571         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
46572         test whether truncf works according to ISO C 99 with IEC 60559.
46573         * m4/truncf-ieee.m4: New file.
46574         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
46575         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
46576         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
46577         * modules/truncf-ieee-tests: New file.
46578         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
46579         * tests/test-truncf1.c (main): Remove signbit tests.
46580         * modules/truncf-tests (Depends-on): Remove 'signbit'.
46581         * doc/posix-functions/truncf.texi: Mention the new module.
46583 2010-12-21  Bruno Haible  <bruno@clisp.org>
46585         New module 'ceilf-ieee'.
46586         * modules/ceilf-ieee: New file.
46587         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
46588         test whether ceilf works according to ISO C 99 with IEC 60559.
46589         * m4/ceilf-ieee.m4: New file.
46590         * modules/ceilf-ieee-tests: New file.
46591         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
46592         * tests/test-ceilf1.c (main): Remove signbit tests.
46593         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
46594         * doc/posix-functions/ceilf.texi: Mention the new module.
46596 2010-12-21  Bruno Haible  <bruno@clisp.org>
46598         New module 'floorf-ieee'.
46599         * modules/floorf-ieee: New file.
46600         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
46601         test whether floorf works according to ISO C 99 with IEC 60559.
46602         * m4/floorf-ieee.m4: New file.
46603         * modules/floorf-ieee-tests: New file.
46604         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
46605         * tests/test-floorf1.c (main): Remove signbit tests.
46606         * modules/floorf-tests (Depends-on): Remove 'signbit'.
46607         * doc/posix-functions/floorf.texi: Mention the new module.
46609 2010-12-21  Bruno Haible  <bruno@clisp.org>
46611         Support for minus zero in autoconf macros.
46612         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
46613         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
46614         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
46615         * tests/minus-zero.h: Update comments.
46617 2010-12-21  Bruno Haible  <bruno@clisp.org>
46619         Tests for module 'ceil'.
46620         * modules/ceil-tests: New file.
46621         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
46622         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
46624 2010-12-21  Bruno Haible  <bruno@clisp.org>
46626         Tests for module 'floor'.
46627         * modules/floor-tests: New file.
46628         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
46629         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
46631 2010-12-21  Bruno Haible  <bruno@clisp.org>
46633         math: Fix indentation.
46634         * lib/math.in.h (floorf): Fix indentation.
46636 2010-12-21  Bruno Haible  <bruno@clisp.org>
46638         Fix cross-compilation guesses on Solaris.
46639         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
46640         not match "solaris2.10".
46641         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
46642         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
46643         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
46645 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
46647         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
46648         This fixes a problem observed with the latest coreutils snapshot
46649         that caused a test to fail on Solaris 8.  src/csplit.c's call
46650         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
46651         earlier, instead of returning the number of bytes that would have
46652         been generated; this causes csplit to incorrectly report memory
46653         exhaustion.
46654         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
46655         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
46656         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
46657         comments to match.
46658         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
46659         Fix typo in matching older versions of Solaris: "solaris2.10"
46660         is matched by the shell pattern "solaris2.[0-9]*".  This matters
46661         only for guessing while cross-compiling.
46662         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
46664 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
46666         ftoastr: fix comment again
46667         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
46668         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00149.html>.
46669         Also, simplify example a bit by using flags = 0.
46671 2010-12-20  Bruno Haible  <bruno@clisp.org>
46673         round*, trunc*: Update documentation regarding glibc.
46674         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
46675         * doc/posix-functions/round.texi: Likewise.
46676         * doc/posix-functions/roundl.texi: Likewise.
46677         * doc/posix-functions/truncf.texi: Likewise.
46678         * doc/posix-functions/trunc.texi: Likewise.
46679         * doc/posix-functions/truncl.texi: Likewise.
46681 2010-12-20  Bruno Haible  <bruno@clisp.org>
46683         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
46684         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
46685         * doc/posix-functions/round.texi: Likewise.
46686         * doc/posix-functions/roundl.texi: Likewise.
46688 2010-12-20  Bruno Haible  <bruno@clisp.org>
46690         ttyname_r: Add missing declaration on HP-UX 11.
46691         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
46692         HAVE_TTYNAME_R.
46693         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
46694         declared. Set HAVE_TTYNAME_R always.
46695         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
46696         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
46697         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
46698         HAVE_TTYNAME_R.
46699         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
46701 2010-12-20  Bruno Haible  <bruno@clisp.org>
46703         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
46704         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
46705         * doc/posix-functions/getlogin_r.texi: Likewise.
46706         * tests/test-getlogin.c: Include <errno.h>.
46707         (main): Avoid test failure on HP-UX 11.11.
46708         * tests/test-getlogin_r.c (main): Likewise.
46710 2010-12-20  Bruno Haible  <bruno@clisp.org>
46712         getlogin_r: Add missing declaration on HP-UX 11.
46713         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
46714         declared also when it exists as a function.
46715         * doc/posix-functions/getlogin_r.texi: Document this workaround.
46717 2010-12-20  Bruno Haible  <bruno@clisp.org>
46719         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
46720         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
46721         through wcrtomb.
46723 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
46725         ftoastr: fix comment
46726         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
46727         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00130.html>.
46729 2010-12-19  Bruno Haible  <bruno@clisp.org>
46731         isnan: Ensure it is a macro.
46732         * lib/math.in.h (isnan): Define as a macro if not already a macro.
46733         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
46734         Solaris.
46736 2010-12-19  Bruno Haible  <bruno@clisp.org>
46738         ldexpl test: Fix link error on OSF/1 5.1.
46739         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
46741 2010-12-19  Bruno Haible  <bruno@clisp.org>
46743         wctype: Make it work in C++ mode on OSF/1 5.1.
46744         * lib/wctype.in.h (iswblank): Declare but not define here.
46745         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
46746         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
46747         * modules/wctype (Files): Add lib/iswblank.c.
46749 2010-12-19  Bruno Haible  <bruno@clisp.org>
46751         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
46752         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
46753         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
46755 2010-12-19  Bruno Haible  <bruno@clisp.org>
46757         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
46758         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
46759         _POSIX_PII_SOCKET.
46760         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
46761         * doc/posix-functions/recvfrom.texi: Likewise.
46762         * doc/posix-functions/send.texi: Likewise.
46763         * doc/posix-functions/sendto.texi: Likewise.
46765 2010-12-19  Bruno Haible  <bruno@clisp.org>
46767         tcgetsid: Add missing declaration on OSF/1 5.1.
46768         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
46769         HAVE_TCGETSID.
46770         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
46771         Don't set HAVE_TCGETSID.
46772         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
46773         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
46774         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
46775         HAVE_TCGETSID.
46776         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
46778 2010-12-19  Bruno Haible  <bruno@clisp.org>
46780         stdio: Fix problem with popen() declaration on OSF/1 5.1.
46781         * lib/stdio.in.h: During the include_next statement, let recursive
46782         includes of this file include only the system header file.
46784 2010-12-19  Bruno Haible  <bruno@clisp.org>
46786         iconv_open: Fix regression from 2010-12-04.
46787         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
46788         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
46790 2010-12-19  Bruno Haible  <bruno@clisp.org>
46792         stdbool test: Avoid a gcc warning.
46793         * tests/test-stdbool.c (main): Fail if e1 is false.
46794         Reported by Jim Meyering.
46796 2010-12-19  Jim Meyering  <meyering@redhat.com>
46798         setenv: restore to working order
46799         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
46800         mistakenly removed.
46801         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
46802         HAVE_SETENV.
46803         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
46804         HAVE_SETENV.
46806 2010-12-19  Bruno Haible  <bruno@clisp.org>
46808         Document some different function declarations on OSF/1 5.1.
46809         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
46810         * doc/posix-functions/inet_ntop.texi: Likewise.
46811         * doc/posix-functions/gethostname.texi: Likewise.
46812         * lib/unistd.in.h (gethostname): Update comment.
46814 2010-12-19  Bruno Haible  <bruno@clisp.org>
46816         doc: Mention vasprintf-posix module.
46817         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
46818         the 'vasprintf-posix' module.
46819         * doc/glibc-functions/vasprintf.texi: Likewise.
46821 2010-12-19  Bruno Haible  <bruno@clisp.org>
46823         unsetenv: Add missing declaration on OSF/1 5.1.
46824         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
46825         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
46826         Don't set HAVE_UNSETENV. In the test program, set _BSD.
46827         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
46828         not HAVE_UNSETENV.
46829         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
46830         HAVE_UNSETENV.
46831         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
46833 2010-12-19  Bruno Haible  <bruno@clisp.org>
46835         setenv: Add missing declaration on OSF/1 5.1.
46836         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
46837         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
46838         declared. Don't set HAVE_SETENV.
46839         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
46840         not HAVE_SETENV.
46841         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
46842         HAVE_SETENV.
46843         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
46845 2010-12-19  Bruno Haible  <bruno@clisp.org>
46847         nl_langinfo tests: Avoid gcc warning.
46848         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
46850 2010-12-19  Bruno Haible  <bruno@clisp.org>
46852         mknod: Avoid error in C++ mode on OSF/1 with GCC.
46853         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
46854         _GL_CXXALIAS_SYS.
46856 2010-12-19  Bruno Haible  <bruno@clisp.org>
46858         stdbool: Relax test.
46859         * tests/test-stdbool.c (e): Don't require that casts from a variable's
46860         address to 'bool' work in static initializer, for compilers other than
46861         GCC.
46863 2010-12-19  Bruno Haible  <bruno@clisp.org>
46865         ftello: Add missing declaration on OSF/1 5.1.
46866         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
46867         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
46868         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
46869         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
46870         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
46872 2010-12-19  Bruno Haible  <bruno@clisp.org>
46874         fseeko: Add missing declaration on OSF/1 5.1.
46875         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
46876         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
46877         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
46878         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
46879         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
46881 2010-12-19  Bruno Haible  <bruno@clisp.org>
46883         fchdir: Add missing declaration on OSF/1 5.1.
46884         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
46885         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
46886         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
46887         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
46888         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
46890 2010-12-19  Bruno Haible  <bruno@clisp.org>
46892         relocatable-prog-wrapper: Separate from relocatable-prog.
46893         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
46894         uninstall-relocwrapper rule here.
46895         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
46896         Reported by Ian Beckwith <ianb@erislabs.net>.
46898 2010-12-19  Bruno Haible  <bruno@clisp.org>
46900         unistr/u8-mbsnlen: Add missing dependency.
46901         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
46902         Reported by Ian Beckwith <ianb@erislabs.net>.
46904 2010-12-19  Bruno Haible  <bruno@clisp.org>
46906         iconv: Make it possible again to use this module without 'iconv-h'.
46907         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
46908         if it is not defined.
46909         Reported by Ian Beckwith <ianb@erislabs.net>.
46911 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
46913         acl: port to Solaris 8 when copying from tmpfs to ufs
46914         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
46915         error number.  Problem observed on Solaris 8 with latest
46916         coreutils, with "mv A B", where A is on a tmpfs file system and B
46917         is on a ufs file system.  This caused coreutils' mv/part-symlink
46918         test to fail.
46920         tests: set fail=0 at start
46921         * tests/init.sh (setup_): Move fail=0 initialization here ...
46922         (mktempd_): ... from here, so that tests can rely on fail being
46923         set to 0 initially.  This fixes a problem in coreutils; see:
46924         http://lists.gnu.org/r/coreutils/2010-12/msg00083.html
46926 2010-12-18  Bruno Haible  <bruno@clisp.org>
46928         memmem-simple: Stylistic changes.
46929         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
46930         Fix preprocessor directive indentation.
46932 2010-12-15  Pádraig Brady  <P@draigBrady.com>
46934         memmem, memmem-simple: reorganize and expand empty needle check
46935         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
46936         functional checks to memmem-simple so that one has a fully functional
46937         memmem by using just this module.
46938         Restrict the performance only check to the memmem module.
46939         Also expand the empty needle check to ensure the correct
46940         pointer is returned, not just a non NULL pointer.
46941         * doc/glibc-functions/memmem.texi: Rearrange the portability
46942         documentation to correlate with the rearranged checks.
46943         Clarify exactly how the memmem and memmem-simple modules
46944         relate to each other.
46946 2010-12-15  Pádraig Brady  <P@draigBrady.com>
46947             Bruno Haible  <bruno@clisp.org>
46949         Improve cross-compilation guesses for uClibc.
46950         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
46951         that uClibc does not have the glibc bug.
46952         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
46953         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
46955 2010-12-14  Eric Blake  <eblake@redhat.com>
46957         configmake: provide fallbacks for oldest supported autotools
46958         * m4/configmake.m4: New file.
46959         * modules/configmake (Files): Ship it.
46960         (configure.ac): Use it to guarantee fallbacks.
46962 2010-12-13  Pádraig Brady  <P@draigBrady.com>
46964         read-file: Improve handling of large files
46965         * lib/read-file.c (fread_file): Minimize realloc()s
46966         for regular files, and better manage sizes around SIZE_MAX.
46968 2010-12-13  Eric Blake  <eblake@redhat.com>
46970         cloexec, fcntl: relax license
46971         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
46972         consent from all contributors.
46973         * modules/fcntl (License): Likewise.
46975 2010-12-10  Bruno Haible  <bruno@clisp.org>
46977         Tests for module 'pipe-posix'.
46978         * modules/pipe-posix-tests: New file.
46979         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
46981 2010-12-10  Bruno Haible  <bruno@clisp.org>
46983         pipe-posix: Make it work in C++ mode.
46984         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
46985         (pipe): Use common idiom, not a macro definition.
46986         * lib/pipe.c: New file.
46987         * m4/pipe.m4: New file.
46988         * modules/pipe-posix (Description): Enhance.
46989         (Files): Add lib/pipe.c, m4/pipe.m4.
46990         (configure.ac): Invoke gl_FUNC_PIPE.
46991         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
46992         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
46993         * tests/test-unistd-c++.cc: Check the signature of pipe.
46995 2010-12-10  Bruno Haible  <bruno@clisp.org>
46997         Rename module 'pipe' to 'spawn-pipe'.
46998         * modules/spawn-pipe: New file, renamed from modules/pipe.
46999         (Files, configure.ac, Makefile.am): Update.
47000         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
47001         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
47002         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
47003         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
47004         "spawn-pipe.h" instead of "pipe.h".
47005         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
47006         to gl_SPAWN_PIPE.
47007         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
47008         (Files, Makefile.am): Update.
47009         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
47010         Update.
47011         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
47012         Include "spawn-pipe.h" instead of "pipe.h".
47013         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
47014         * lib/javacomp.c: Likewise.
47015         * lib/javaversion.c: Likewise.
47016         * lib/pipe-filter-gi.c: Likewise.
47017         * lib/pipe-filter-ii.c: Likewise.
47018         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
47019         * modules/javacomp (Depends-on): Likewise.
47020         * modules/javaversion (Depends-on): Likewise.
47021         * modules/pipe-filter-gi (Depends-on): Likewise.
47022         * modules/pipe-filter-ii (Depends-on): Likewise.
47023         * MODULES.html.sh (Executing programs): Update.
47024         * NEWS: Mention the change.
47026 2010-12-10  Eric Blake  <eblake@redhat.com>
47028         pipe-posix: new module
47029         * modules/pipe-posix: New file.
47030         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
47031         (gl_UNISTD_H): Check for declaration.
47032         * modules/unistd (Makefile.am): Substitute it.
47033         * lib/unistd.in.h (pipe): Provide it for mingw.
47034         * doc/posix-functions/pipe.texi (pipe): Update documentation.
47035         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
47037 2010-12-07  Bruno Haible  <bruno@clisp.org>
47039         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
47040         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
47041         u8_strcmp_gnu.
47042         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
47044 2010-12-06  Bruno Haible  <bruno@clisp.org>
47046         Update internal documentation.
47047         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
47049 2010-12-04  Bruno Haible  <bruno@clisp.org>
47051         Put more information about failed tests into the test return codes.
47052         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
47053         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
47054         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
47055         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
47056         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
47057         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
47058         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
47059         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
47060         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
47061         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
47062         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
47063         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
47064         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
47065         * m4/stdint.m4 (gl_STDINT_H): Likewise.
47066         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
47067         returns a bit mask.
47068         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
47069         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
47070         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
47071         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
47072         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
47073         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
47074         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
47075         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
47076         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
47077         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
47078         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
47079         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
47080         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
47081         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
47082         * m4/link.m4 (gl_FUNC_LINK): Likewise.
47083         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
47084         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
47085         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
47086         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
47087         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
47088         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
47089         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
47090         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
47091         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
47092         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
47093         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
47094         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
47095         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
47096         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
47097         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
47098         gl_PRINTF_PRECISION): Likewise.
47099         * m4/regex.m4 (gl_REGEX): Likewise.
47100         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
47101         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
47102         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
47103         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
47104         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
47105         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
47106         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
47107         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
47108         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
47109         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
47110         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
47111         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
47112         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
47113         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
47114         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
47115         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
47116         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
47117         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
47118         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
47119         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
47120         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
47121         enumerated value.
47122         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
47124 2010-12-04  Bruno Haible  <bruno@clisp.org>
47126         Update for Solaris 11 2010-11.
47127         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
47128         Express, released in November 2010.
47130 2010-12-04  Bruno Haible  <bruno@clisp.org>
47132         nproc: Relax license.
47133         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
47134         and Paul Eggert.
47135         Requested by Ludovic Courtès <ludo@gnu.org>.
47137 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
47139         utimecmp: fine-grained src to nearby coarse-grained dest
47141         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
47142         and the source is on a file system with higher-resolution time
47143         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
47144         not work, and the time stamps are close together, the algorithm to
47145         determine the exact resolution from the read-back mtime was buggy:
47146         it had a "!=" where it should have had an "==".  This bug has been
47147         in the code ever since it was introduced to gnulib.
47148         Problem reported by Dan Jacobson in
47149         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
47151 2010-11-30  Bruno Haible  <bruno@clisp.org>
47153         strerror_r-posix: Fix autoconf test.
47154         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
47156 2010-11-28  Bruno Haible  <bruno@clisp.org>
47157             Paul Eggert  <eggert@cs.ucla.edu>
47159         Tests for module 'getdomainname'.
47160         * modules/getdomainname-tests: New file.
47161         * tests/test-getdomainname.c: New file, based on
47162         tests/test-gethostname.c.
47164 2010-11-28  Bruno Haible  <bruno@clisp.org>
47165             Paul Eggert  <eggert@cs.ucla.edu>
47167         getdomainname: Use the system function when possible.
47168         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
47169         (getdomainname): Replace if needed. Provide the declaration if it is
47170         missing. Don't use _GL_CXXALIAS_SYS_CAST.
47171         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
47172         (getdomainname): When the system has getdomainname, call the system
47173         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
47174         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
47175         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
47176         found in libnsl. Look for the declaration also in <netdb.h>. Replace
47177         the function if its second argument is of type 'int' or if it is found
47178         in libnsl.
47179         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
47180         <sys/systeminfo.h> and sysinfo().
47181         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
47182         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
47183         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
47184         HAVE_GETDOMAINNAME.
47185         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
47186         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
47187         * doc/glibc-functions/getdomainname.texi: Document the problems with
47188         the getdomainname declaration.
47190 2010-11-28  Bruno Haible  <bruno@clisp.org>
47192         sys_socket: Ensure ss_family field on AIX.
47193         * lib/sys_socket.in.h (ss_family): New macro definition.
47194         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
47195         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
47196         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
47197         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
47198         * modules/sys_socket (Makefile.am): Substitute
47199         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
47200         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
47202 2010-11-27  Bruno Haible  <bruno@clisp.org>
47204         readline: Improve configure output.
47205         * m4/readline.m4 (gl_FUNC_READLINE): Make the
47206         "checking for readline..." result understandable.
47208 2010-11-27  Bruno Haible  <bruno@clisp.org>
47210         *printf-posix: Detect a bug on Solaris 10/x86.
47211         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
47212         for floating-point output.
47213         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
47214         directive.
47215         * tests/test-snprintf-posix.h (test_function): Likewise.
47216         * tests/test-sprintf-posix.h (test_function): Likewise.
47217         * tests/test-vasprintf-posix.c (test_function): Likewise.
47218         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
47219         * doc/posix-functions/printf.texi: Likewise.
47220         * doc/posix-functions/snprintf.texi: Likewise.
47221         * doc/posix-functions/sprintf.texi: Likewise.
47222         * doc/posix-functions/vfprintf.texi: Likewise.
47223         * doc/posix-functions/vprintf.texi: Likewise.
47224         * doc/posix-functions/vsnprintf.texi: Likewise.
47225         * doc/posix-functions/vsprintf.texi: Likewise.
47226         * doc/glibc-functions/obstack_printf.texi: Likewise.
47227         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
47229 2010-11-27  Bruno Haible  <bruno@clisp.org>
47231         Fix link error when module libunistring-optional is in use.
47232         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
47233         * modules/striconveha-tests (Makefile.am): Likewise.
47235 2010-11-27  Bruno Haible  <bruno@clisp.org>
47237         regex: Mention link dependencies.
47238         * modules/regex (Link): New section.
47239         * modules/rpmatch (Link): Likewise.
47240         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
47242 2010-11-27  Bruno Haible  <bruno@clisp.org>
47244         ftoastr: Fix compilation error on Solaris.
47245         * lib/ftoastr.c: Include <config.h>.
47247 2010-11-27  Bruno Haible  <bruno@clisp.org>
47249         getloadavg: Update documentation.
47250         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
47252 2010-11-27  Bruno Haible  <bruno@clisp.org>
47254         sys_socket: Fix test whether the functions are declared.
47255         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
47256         not <sys/select.h>.
47258 2010-11-27  Bruno Haible  <bruno@clisp.org>
47260         getpass: Make sure to get system declaration on some platforms.
47261         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
47262         gl_USE_SYSTEM_EXTENSIONS.
47263         * modules/getpass (Depends-on): Add extensions.
47265 2010-11-26  Bruno Haible  <bruno@clisp.org>
47267         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
47268         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
47269         'iconv' module is present.
47270         (ICONV_CONST): New macro.
47271         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
47272         ICONV_CONST.
47273         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
47274         set ICONV_CONST.
47275         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
47276         here.
47277         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
47278         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
47279         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
47280         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
47281         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
47282         present.
47284 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
47286         ftoastr: comment fix
47287         * lib/ftoastr.c: "little" -> "little or no" in comment
47289 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
47291         stdint: port to GCC 4.3 + OSX + Octave
47292         On this platform, stdint.h is buggy and defines int64_t to long
47293         long int.  The replacement defined it to long int, causing
47294         problems with C++ style name mangling.  Instead, trust the system
47295         definition if INT64_MAX is defined, and likewise for the unsigned
47296         variant.   Problem reported by Jarno Rajahalme in
47297         <http://lists.gnu.org/r/bug-gnulib/2010-04/msg00143.html>.
47298         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
47299         and don't mess with int64_t and INT64_MAX in this case.
47300         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
47302 2010-11-24  Bruno Haible  <bruno@clisp.org>
47304         doc: Corrections regarding MacOS X 10.4 and 10.5.
47305         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
47306         MacOS X.
47307         Reported by Simon Josefsson.
47309 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
47311         Uninstall ".bin" files installed by relocwrapper.
47312         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
47313         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
47314         unless it is already there.
47316 2010-11-21  Bruno Haible  <bruno@clisp.org>
47318         Update for NetBSD 5.0.
47319         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
47320         NetBSD; the test fails on NetBSD 5.0.
47321         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
47322         about NetBSD.
47324 2010-11-21  Bruno Haible  <bruno@clisp.org>
47326         Update for HP-UX 11.23 and HP-UX 11.31.
47327         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
47328         HP-UX.
47330 2010-11-21  Bruno Haible  <bruno@clisp.org>
47332         Update for MacOS X 10.5.
47333         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
47334         MacOS X; the test fails on MacOS X 10.5.8.
47335         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
47336         about MacOS X.
47338 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
47340         bootstrap: add bootstrap_sync option.
47341         See discussion at
47342         <http://lists.gnu.org/r/bug-gnulib/2010-10/msg00369.html>,
47343         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00200.html>.
47344         * build-aux/bootstrap: Accept --bootstrap-sync to update
47345         bootstrap if it is not identical to the local gnulib's
47346         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
47347         enable this by default.  Accept --no-bootstrap-sync to disable
47348         it.
47350 2010-11-20  Bruno Haible  <bruno@clisp.org>
47352         Ensure that <features.h> is included before __GLIBC__ is tested.
47353         * lib/printf-parse.h: Include <features.h>.
47354         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
47355         Reported by Mike Frysinger <vapier@gentoo.org>.
47357         Ensure that <features.h> is included before __GLIBC__ is tested.
47358         * lib/wchar.in.h: Include <features.h>.
47359         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
47360         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
47361         Reported by Mike Frysinger <vapier@gentoo.org>.
47363         Ensure that <features.h> is included before __GLIBC__ is tested.
47364         * lib/arpa_inet.in.h: Include <features.h>.
47365         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
47366         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
47367         Reported by Mike Frysinger <vapier@gentoo.org>.
47369         Ensure that <features.h> is included before __GLIBC__ is tested.
47370         * build-aux/link-warning.h: Include <features.h>.
47371         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
47372         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
47373         Reported by Mike Frysinger <vapier@gentoo.org>.
47375         Ensure that <features.h> is included before __GLIBC__ is tested.
47376         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
47377         Reported by Mike Frysinger <vapier@gentoo.org>.
47379 2010-11-20  Bruno Haible  <bruno@clisp.org>
47381         memmem: Fix autoconf test.
47382         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
47384 2010-11-20  Bruno Haible  <bruno@clisp.org>
47386         Port to uClibc.
47387         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
47388         * lib/fcntl.in.h: Likewise.
47389         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
47390         * lib/mbrtowc.c (mbrtowc): Likewise.
47391         * lib/relocatable.c (find_shared_library_fullname): Likewise.
47392         * lib/strerror_r.c: Likewise.
47393         * lib/unistr/u8-strnlen.c: Likewise.
47394         * lib/vasnprintf.c (decimal_point_char): Likewise.
47395         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
47396         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
47397         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
47398         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
47399         * tests/test-sigaction.c (handler, main): Likewise.
47400         * lib/freading.h: Treat uClibc like a non-glibc platform.
47401         * lib/freading.c: Likewise.
47402         * lib/gettext.h: Likewise.
47403         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
47404         Likewise.
47405         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
47406         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
47407         * lib/propername.c (proper_name_utf8): Likewise.
47408         * lib/spawn.in.h: Likewise.
47409         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
47410         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
47411         mem_cd_iconveh_internal): Likewise.
47412         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
47413         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
47414         strstr, strcasestr): Likewise.
47415         * lib/unicodeio.c (unicode_to_mb): Likewise.
47416         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
47417         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
47418         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
47419         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
47420         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
47421         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
47422         * lib/unistr/u8-stpncpy.c: Likewise.
47423         * lib/vasnprintf.c (VASNPRINTF): Likewise.
47424         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
47425         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
47426         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
47427         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
47428         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
47429         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
47430         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
47431         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
47432         Likewise.
47433         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
47434         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
47435         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
47436         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
47437         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
47438         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
47439         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
47440         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
47441         * tests/test-getopt.h (OPTIND_MIN): Likewise.
47442         * tests/test-striconveha.c (main): Likewise.
47443         * tests/test-vasnprintf-posix.c (test_function): Likewise.
47444         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
47445         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
47446         * doc/posix-functions/getline.texi: Likewise.
47447         Reported by Mike Frysinger <vapier@gentoo.org>.
47449 2010-11-20  Bruno Haible  <bruno@clisp.org>
47451         nproc: Fix condition.
47452         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
47453         HAVE_PTHREAD_AFFINITY_NP.
47455 2010-11-20  Bruno Haible  <bruno@clisp.org>
47457         Fix a comment.
47458         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
47460 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
47462         ftoastr: don't assume snprintf
47463         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
47464         Implement a subset of snprintf here, by using sprintf safely.
47465         * modules/ftoastr (Depends-on): Remove snprintf.
47467 2010-11-19  Jim Meyering  <meyering@redhat.com>
47469         test-rename.h: fix compilation failure
47470         * tests/test-rename.h (test_rename): Add omitted "}".
47472 2010-11-17  Jim Meyering  <meyering@redhat.com>
47474         maint.mk: add a URL discussing the no-@acronym policy
47475         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
47477 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
47479         ftoastr: depend on snprintf, improve comments
47480         * lib/ftoastr.c: Also mention Loitsch's draft.
47481         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
47482         needed in the current implementation, but it might simplify
47483         speeding up the code later.
47484         * modules/ftoastr: Depend on snprintf; this improves portability.
47485         Suggested by Bruno Haible in the same email.
47487         ftoastr: port to hosts lacking strtof and strtold
47488         Problem reported by Bruno Haible in
47489         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00242.html>.
47490         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
47491         environment and strtold (and presumably strtof) are not available.
47492         * modules/ftoastr (Files): Add m4/c-strtod.m4.
47493         (configure.ac): Require gl_C99_STRTOLD.
47495 2010-11-18  Bruno Haible  <bruno@clisp.org>
47497         c-strtold: Avoid link error on AIX 7.
47498         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
47499         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
47500         (gl_C_STRTOLD): Test whether strtold_l exists.
47501         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
47503 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
47505         intprops: new macro INT_BITS_STRLEN_BOUND
47506         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
47507         ftoastr.h.  This exposes an internal of intprops.h that was formerly
47508         not exposed.  Also, it uses a slightly tighter bound than before;
47509         though this makes no practical difference, we might as well be as
47510         tight as we easily can.
47512         ftoastr: new module, for lossless conversion of floats to short strings
47513         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
47514         * modules/ftoastr: New files.
47516 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
47518         bootstrap: port to Solaris sed
47519         * build-aux/bootstrap (get_version): Port to Solaris sed.
47520         See Ralf Wildenhues's note in
47521         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00156.html>.
47523 2010-11-14  Jim Meyering  <meyering@redhat.com>
47525         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
47526         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
47527         and move definition closer to sole use.
47529 2010-11-13  Jim Meyering  <meyering@redhat.com>
47531         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
47532         Now we require at least autoconf-2.59, which means the work-around
47533         is no longer needed.
47534         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
47535         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
47536         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
47537         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
47538         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
47540 2010-11-13  Bruno Haible  <bruno@clisp.org>
47542         rename, renameat: Avoid test failures at NFS mounted locations.
47543         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
47544         functions.
47545         (test_rename): Use assert_nonexistent.
47546         * tests/test-rename.c: Include <dirent.h>.
47547         * tests/test-renameat.c: Likewise.
47548         Reported by Gary V. Vaughan <gary@gnu.org>.
47550         rename, renameat: Document Linux bug with NFS
47551         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00154.html>.
47552         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
47553         * doc/posix-functions/renameat.texi: Likewise.
47554         Suggested by Eric Blake.
47556 2010-11-13  Bruno Haible  <bruno@clisp.org>
47558         rename test: Add comments.
47559         * tests/test-rename.h (test_rename): Add structure and comments.
47561 2010-11-13  Eric Blake  <eblake@redhat.com>
47563         maintainer-makefile: cover a few more files
47564         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
47565         scripts generated within C files, for libvirt.
47567 2010-11-13  Bruno Haible  <bruno@clisp.org>
47569         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
47570         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
47571         character, return the number of bytes that belong together, not always
47572         1.
47573         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
47574         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
47575         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
47576         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
47577         number of bytes of an invalid character.
47578         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
47579         (main): Invoke it.
47580         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
47581         results.
47582         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
47583         malformed byte sequences.
47584         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
47585         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
47586         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
47587         Reported by Ben Pfaff and Paolo Bonzini.
47589 2010-11-13  Bruno Haible  <bruno@clisp.org>
47591         openat: Work around glibc bug with fchownat() and empty file names.
47592         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
47593         (gl_FUNC_FCHOWNAT): Invoke it.
47594         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
47595         * doc/posix-functions/fchownat.texi: Document the glibc bug.
47596         Reported by Gary V. Vaughan <gary@gnu.org>.
47598 2010-11-13  Bruno Haible  <bruno@clisp.org>
47600         openat: Ensure autoconf macro ordering.
47601         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
47602         gl_USE_SYSTEM_EXTENSIONS.
47603         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
47605 2010-11-13  Bruno Haible  <bruno@clisp.org>
47607         Update comments.
47608         * lib/unistr/u8-check.c: Update file name in comments.
47609         * lib/unistr/u8-mblen.c: Likewise.
47610         * lib/unistr/u8-prev.c: Likewise.
47611         * lib/unistr/u8-strmblen.c: Likewise.
47612         * lib/unistr/u8-strmbtouc.c: Likewise.
47614 2010-11-13  Jim Meyering  <meyering@redhat.com>
47616         tests: avoid test failure on Solaris 10 due to lack of PATH export
47617         * tests/test-update-copyright.sh: Don't forget to export PATH.
47619         init.sh: ensure that IFS is defined, just in case...
47620         * tests/init.sh (setup_): Ensure that IFS is defined,
47621         so that saving and restoring it works as expected.  This
47622         appears to be useful at least for an old version of dash
47623         from a long time ago (RH 6).  See here for details:
47624         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
47626         maint.mk: tighten "test a == b" check
47627         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
47628         test to files that contain something like #!/bin/sh.
47629         Without this, coreutils would get two false positives in
47630         the comments of C source files.
47632 2010-11-12  Eric Blake  <eblake@redhat.com>
47634         bootstrap: fix typo in previous attempt
47635         * build-aux/bootstrap (buildreq): Correct the grouping.
47636         Reported by Paul Eggert.
47638         maintainer-makefile: prohibit test x == x
47639         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
47640         Based on a report by Matthias Bolte.
47642         bootstrap: allow FreeBSD gzip
47643         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
47644         which has no '.' and goes to stderr.
47645         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
47646         Reported by Matthias Bolte.
47648         maintainer-makefile: check for i18n setup
47649         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
47650         will likely work.
47652 2010-11-12  Bruno Haible  <bruno@clisp.org>
47654         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
47655         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
47656         * lib/nanosleep.c (nanosleep): Likewise.
47658 2010-11-11  Bruno Haible  <bruno@clisp.org>
47660         fcntl-h: Fix for use of C++ on glibc systems.
47661         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
47662         also on glibc systems in C++ mode.
47663         Reported by Gary V. Vaughan <gary@gnu.org>.
47665 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
47667         mknod: avoid false failure with dash
47668         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
47670 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
47672         unlink: Fix "is it should" typo in diagnostic.
47673         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
47674         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00106.html>.
47676 2010-11-11  Bruno Haible  <bruno@clisp.org>
47678         Tests for module 'strerror_r-posix'.
47679         * modules/strerror_r-posix-tests: New file.
47680         * tests/test-strerror_r.c: New file.
47681         * tests/test-string-c++.cc: Check the signature of strerror_r.
47683         New module 'strerror_r-posix'.
47684         * lib/string.in.h (strerror_r): New declaration.
47685         * lib/strerror_r.c: New file.
47686         * m4/strerror_r.m4: New file.
47687         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
47688         of strerror_r.
47689         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
47690         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
47691         * modules/strerror_r-posix: New file.
47692         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
47693         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
47694         * doc/posix-functions/strerror_r.texi: Mention the new module and the
47695         portability problems.
47697 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
47699         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
47700         line is also considered for output. Quoted function name in shell
47701         command, so temporary files for functions like MyClass::operator()
47702         are removed correctly without errors.
47704 2010-11-09  Bruno Haible  <bruno@clisp.org>
47706         * doc/posix-functions/strerror.texi: List more failing platforms.
47708         * doc/posix-functions/strerror.texi: Add a comment.
47710 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
47712         fdopendir: fix bug on MacOS X when low on file descriptors
47714         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
47715         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
47716         All callers changed.
47717         (fdopendir): Invoke save_cwd at the top level, not after using
47718         multiple dup() calls to use up file descriptors.  Then retry
47719         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
47720         less than the maximum number of open file descriptors, because
47721         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
47722         on Mac OS X 10.6.4 for tar 1.24
47723         <http://lists.gnu.org/r/bug-tar/2010-10/msg00084.html>
47724         <http://lists.gnu.org/r/bug-tar/2010-11/msg00000.html>
47725         and for tar 1.25
47726         <http://lists.gnu.org/r/bug-tar/2010-11/msg00038.html>.
47728 2010-11-07  Bruno Haible  <bruno@clisp.org>
47730         vasnprintf: Support I flag on glibc systems.
47731         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
47732         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
47733         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
47734         snprintf function.
47735         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
47736         glibc systems.
47737         * tests/test-vasnprintf-posix3.c: New file.
47738         * modules/vasnprintf-posix-tests (Files): Add it.
47739         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
47741 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
47743         [html] Fix copy/paste bug: Use unique name for compiler warnings.
47744         * MODULES.html.sh: For compiler warnings, use name
47745         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
47747 2010-11-05  Eric Blake  <eblake@redhat.com>
47749         ceil, floor: avoid spurious failure with icc
47750         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
47751         [denormals-as-zero] when optimizing without -mieee-fp option.
47752         * tests/test-floorf2.c (floorf_reference): Likewise.
47753         * tests/test-ceilf1.c (dummy): New function.
47754         (main): Use it to outsmart icc's optimization.
47755         * tests/test-floorf1.c (dummy, main): Likewise.
47757         tests: require working signbit
47758         * modules/ceilf-tests (Depends-on): Add signbit.
47759         * modules/ceill-tests (Depends-on): Likewise.
47760         * modules/floorf-tests (Depends-on): Likewise.
47761         * modules/floorl-tests (Depends-on): Likewise.
47762         * modules/round-tests (Depends-on): Likewise.
47763         * modules/roundf-tests (Depends-on): Likewise.
47764         * modules/roundl-tests (Depends-on): Likewise.
47765         * modules/trunc-tests (Depends-on): Likewise.
47766         * modules/truncf-tests (Depends-on): Likewise.
47767         * modules/truncl-tests (Depends-on): Likewise.
47769         strtod: work around icc bug
47770         * lib/strtod.c (minus_zero): Define to working value.
47771         (strtod): Use it to avoid icc bug.
47773         copysign: enhance tests
47774         * modules/copysign-tests (Files): Add minus-zero.h.
47775         * tests/test-copysign.c (main): Also test zeros.
47777 2010-11-04  Eric Blake  <eblake@redhat.com>
47779         ceil, floor, round, trunc: enhance tests of -0
47780         * tests/test-ceilf1.c (main): Ensure correct sign of result.
47781         * tests/test-ceill.c (main): Likewise.
47782         * tests/test-floorf1.c (main): Likewise.
47783         * tests/test-floorl.c (main): Likewise.
47784         * tests/test-round1.c (main): Likewise.
47785         * tests/test-roundf1.c (main): Likewise.
47786         * tests/test-roundl.c (main): Likewise.
47787         * tests/test-trunc1.c (main): Likewise.
47788         * tests/test-truncf1.c (main): Likewise.
47789         * tests/test-truncl.c (main): Likewise.
47791 2010-11-04  Eric Blake  <eblake@redhat.com>
47793         frexp, tests: work around ICC bug with -zero
47794         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
47795         works with more compilers.
47796         * tests/minus-zero.h: New file.
47797         * modules/ceilf-tests (Files): Include it.
47798         * modules/ceill-tests (Files): Likewise.
47799         * modules/floorf-tests (Files): Likewise.
47800         * modules/floorl-tests (Files): Likewise.
47801         * modules/frexp-nolibm-tests (Files): Likewise.
47802         * modules/frexp-tests (Files): Likewise.
47803         * modules/frexpl-nolibm-tests (Files): Likewise.
47804         * modules/frexpl-tests (Files): Likewise.
47805         * modules/isnan-tests (Files): Likewise.
47806         * modules/isnand-nolibm-tests (Files): Likewise.
47807         * modules/isnand-tests (Files): Likewise.
47808         * modules/isnanf-nolibm-tests (Files): Likewise.
47809         * modules/isnanf-tests (Files): Likewise.
47810         * modules/isnanl-nolibm-tests (Files): Likewise.
47811         * modules/isnanl-tests (Files): Likewise.
47812         * modules/round-tests (Files): Likewise.
47813         * modules/roundf-tests (Files): Likewise.
47814         * modules/roundl-tests (Files): Likewise.
47815         * modules/ldexpl-tests (Files): Likewise.
47816         * modules/signbit-tests (Files): Likewise.
47817         * modules/snprintf-posix-tests (Files): Likewise.
47818         * modules/sprintf-posix-tests (Files): Likewise.
47819         * modules/strtod-tests (Files): Likewise.
47820         * modules/trunc-tests (Files): Likewise.
47821         * modules/truncf-tests (Files): Likewise.
47822         * modules/truncl-tests (Files): Likewise.
47823         * modules/vsnprintf-posix-tests (Files): Likewise.
47824         * modules/vsprintf-posix-tests (Files): Likewise.
47825         * modules/vasnprintf-posix-tests (Files): Likewise.
47826         * modules/vasprintf-posix-tests (Files): Likewise.
47827         * tests/test-ceilf1.c (main): Use it.
47828         * tests/test-ceill.c (main): Likewise.
47829         * tests/test-floorf1.c (main): Likewise.
47830         * tests/test-floorl.c (main): Likewise.
47831         * tests/test-frexp.c (main): Likewise.
47832         * tests/test-frexpl.c (main): Likewise.
47833         * tests/test-isnan.c (main): Likewise.
47834         * tests/test-isnand.h (main): Likewise.
47835         * tests/test-isnanf.h (main): Likewise.
47836         * tests/test-isnanl.h (main): Likewise.
47837         * tests/test-ldexpl.c (main): Likewise.
47838         * tests/test-round.c (main): Likewise.
47839         * tests/test-roundf.c (main): Likewise.
47840         * tests/test-roundl.c (main): Likewise.
47841         * tests/test-signbit.c (test_signbitf, test_signbitd)
47842         (test_signbitl): Likewise.
47843         * tests/test-snprintf-posix.h (test_function): Likewise.
47844         * tests/test-sprintf-posix.h (test_function): Likewise.
47845         * tests/test-strtod.c (main): Likewise.
47846         * tests/test-trunc1.c (main): Likewise.
47847         * tests/test-truncf1.c (main): Likewise.
47848         * tests/test-truncl.c (main): Likewise.
47850         isnanl: work around icc bug
47851         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
47853 2010-11-03  Eric Blake  <eblake@redhat.com>
47855         tests: fix compiler warnings
47856         * tests/test-getopt.h (test_getopt): Fix condition.
47857         * tests/test-getopt_long.h (test_getopt_long): Likewise.
47858         * tests/test-pipe2.c (main): Likewise.
47859         * tests/test-quotearg-simple.c (main): Avoid icc warning.
47861         utimens: fix broken m4 test
47862         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
47864 2010-10-28  Bruno Haible  <bruno@clisp.org>
47866         posix_spawn*, getdtablesize: Relax license.
47867         * modules/posix_spawn (License): Change to LGPLv2+.
47868         * modules/posix_spawnp (License): Likewise.
47869         * modules/posix_spawn-internal (License): Likewise.
47870         * modules/posix_spawnattr_init (License): Likewise.
47871         * modules/posix_spawnattr_getflags (License): Likewise.
47872         * modules/posix_spawnattr_setflags (License): Likewise.
47873         * modules/posix_spawnattr_getpgroup (License): Likewise.
47874         * modules/posix_spawnattr_setpgroup (License): Likewise.
47875         * modules/posix_spawnattr_getschedparam (License): Likewise.
47876         * modules/posix_spawnattr_setschedparam (License): Likewise.
47877         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
47878         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
47879         * modules/posix_spawnattr_getsigdefault (License): Likewise.
47880         * modules/posix_spawnattr_setsigdefault (License): Likewise.
47881         * modules/posix_spawnattr_getsigmask (License): Likewise.
47882         * modules/posix_spawnattr_setsigmask (License): Likewise.
47883         * modules/posix_spawnattr_destroy (License): Likewise.
47884         * modules/posix_spawn_file_actions_init (License): Likewise.
47885         * modules/posix_spawn_file_actions_addclose (License): Likewise.
47886         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
47887         * modules/posix_spawn_file_actions_addopen (License): Likewise.
47888         * modules/posix_spawn_file_actions_destroy (License): Likewise.
47889         * modules/getdtablesize (License): Likewise.
47890         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
47892 2010-10-26  Bruno Haible  <bruno@clisp.org>
47894         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
47895         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
47896         Cygwin and mingw.
47897         Suggested by Eric Blake.
47899 2010-10-26  Bruno Haible  <bruno@clisp.org>
47901         stdio: Work around compilation error due to renameat() on Solaris 10.
47902         * lib/stdio.in.h: Include <unistd.h> on Solaris.
47903         * lib/renameat.c: Don't include <unistd.h> here.
47904         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
47905         Reported by Paul Eggert and Eric Blake.
47907 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
47909         renameat: port to Solaris 10, which declares renameat in unistd.h
47911         * lib/renameat.c: Include unistd.h before stdio.h, because
47912         Solaris 10 declares renameat in unistd.h.  Problem encountered
47913         when building GNU tar 1.24 on Solaris 10.
47915 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
47917         fdopendir: fix C89 compilation
47918         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
47919         compilers.
47921 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
47923         inttostr: simplify by removing unnecessary redundancy
47924         * lib/anytostr.c: Don't include verify.h.
47925         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
47926         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
47927         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
47928         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
47929         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
47930         Likewise.
47931         * modules/inttostr (Depends-on): Remove 'verify'.
47933 2010-10-23  Bruno Haible  <bruno@clisp.org>
47935         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
47936         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
47937         Reported by Eric Blake.
47939 2010-10-23  Bruno Haible  <bruno@clisp.org>
47941         Tests: Fix LOCALE_JA on MirBSD 10.
47942         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
47943         to an UTF-8 locale.
47944         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
47945         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
47946         Reported by Eric Blake.
47948 2010-10-21  Bruno Haible  <bruno@clisp.org>
47950         nl_langinfo test: Avoid test failure on NetBSD 5.
47951         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
47952         Reported by Eric Blake.
47954 2010-10-21  Eric Blake  <eblake@redhat.com>
47956         c-stack: work around libsigsegv 2.8 bug
47957         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
47958         overflow on at least PowerPC64.
47960 2010-10-17  Bruno Haible  <bruno@clisp.org>
47962         userspec: Drop redundant file.
47963         * modules/userspec (Files): Remove lib/inttostr.h.
47965 2010-10-17  Bruno Haible  <bruno@clisp.org>
47967         nl_langinfo tests: Silence some warnings.
47968         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
47969         Reported by Jim Meyering.
47971 2010-10-17  Bruno Haible  <bruno@clisp.org>
47973         Make use of GCC's attribute __alloc_size__.
47974         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
47975         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
47976         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
47977         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
47978         __alloc_size__.
47979         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
47980         Suggested by Jim Meyering.
47982 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
47984         bootstrap: anchor .gitignore entries.
47985         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
47986         with...
47987         (insert_vc_ignore): ... this new function, which prepends `/' to
47988         all .gitignore entries before passing them to
47989         insert_sorted_if_absent.
47991 2010-10-16  Bruno Haible  <bruno@clisp.org>
47993         nextafter: Fix configure check.
47994         * modules/nextafter (configure.ac): Correct expected prototype.
47996 2010-10-16  Bruno Haible  <bruno@clisp.org>
47998         termios: Update documentation.
47999         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
48001 2010-10-16  Bruno Haible  <bruno@clisp.org>
48003         tests: Make them compile with TinyCC.
48004         * tests/test-strstr.c (main): Remove parentheses around array
48005         initializer.
48007 2010-10-15  Eric Blake  <eblake@redhat.com>
48009         ignore-value: make header idempotent
48010         * lib/ignore-value.h: Add double-inclusion guards.
48011         Reported by Stefan Berger.
48013 2010-10-15  Jim Meyering  <meyering@redhat.com>
48015         GNUmakefile: handle "stable" target, not "major"
48016         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
48017         lists in maint.mk and announce-gen.  Without this, "make stable"
48018         would fail to ensure that $(VERSION) is up to date.
48020 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
48022         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
48023         & co.
48025 2010-10-14  Bruno Haible  <bruno@clisp.org>
48027         vasnprintf: Don't set errno to 0.
48028         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
48029         block that sets it to 0.
48030         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
48032 2010-10-14  Bruno Haible  <bruno@clisp.org>
48034         socketlib: Fix.
48035         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
48036         gl_PREREQ_SYS_H_WINSOCK2.
48037         Reported by Ian Beckwith <ianb@erislabs.net>.
48039 2010-10-13  Jim Meyering  <meyering@redhat.com>
48041         test-select-stdin.c: avoid warn_unused_result warnings
48042         * tests/test-select-stdin.c: Include "macros.h".
48043         ASSERT that read and fflush succeed.
48045 2010-10-13  Jim Meyering  <meyering@redhat.com>
48047         git-version-gen: do require git-VC'd files in cwd
48048         * build-aux/git-version-gen: Reject a git version string
48049         if there are no commits associated with the current directory.
48050         This avoids an unlikely false-positive (unrelated dir whose parent
48051         repository also contains a tag matching v*), as pointed out
48052         by Giuseppe Scrivano in
48053         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
48055 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
48057         argv-iter: omit nonconforming declaration
48058         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
48059         enum arg_iter_err declaration, which doesn't conform to C99.
48060         Solaris 10 cc warns about this.
48062 2010-10-13  Eric Blake  <eblake@redhat.com>
48064         termios: fix compilation on mingw
48065         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
48066         (gl_TERMIOS_H): Adjust it on mingw.
48067         * modules/termios (Makefile.am): Substitute new key.
48068         * lib/termios.in.h (includes): Make include_next conditional.
48069         * doc/posix-headers/termios.texi (termios.h): Update
48070         documentation.
48071         Reported by Daniel P. Berrange.
48073 2010-10-13  Jim Meyering  <meyering@redhat.com>
48075         git-version-gen: don't require that .git/ be in the current dir
48076         * build-aux/git-version-gen: Adjust this script so that it works
48077         when run from any working directory beneath the top-level .git/-
48078         containing directory.  Inspired by a patch from Giuseppe Scrivano,
48079         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
48081         test-select: avoid warn_unused_result warnings
48082         * tests/test-select.c: Include "macros.h".
48083         ASSERT that each call to read, write, and pipe succeeds.
48084         While not technically required, also check each "close".
48085         * modules/select-tests (Files): Add tests/macros.h.
48087         test-symlinkat: remove declaration of unused local
48088         * tests/test-symlinkat.c (main): Remove unused local, "buf".
48090         test-inttostr: avoid shadowing warnings
48091         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
48092         and use malloc rather than the stack for the same reason as
48093         mentioned in the comment justifying the other allocation.
48095 2010-10-11  Bruno Haible  <bruno@clisp.org>
48097         stdlib: Allow multiple gnulib generated replacements to coexist.
48098         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
48099         Reported by Sam Steingold <sds@gnu.org>.
48101 2010-10-11  Jim Meyering  <meyering@redhat.com>
48103         fix a documentation typo
48104         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
48106 2010-10-11  Eric Blake  <eblake@redhat.com>
48108         futimens: work around Solaris 11 bug
48109         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
48110         * tests/test-futimens.h (test_futimens): Enhance, rather than
48111         weaken test.
48112         * doc/posix-functions/futimens.texi (futimens): Document the bug.
48114 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
48116         Indentation.
48117         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
48118         higher-level operators more to the left.
48120 2010-10-11  Jim Meyering  <meyering@redhat.com>
48122         test-futimens: avoid unwarranted test failure on Solaris 5.11
48123         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
48124         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
48125         because it tries to dereference the NULL name argument.
48127 2010-10-11  Bruno Haible  <bruno@clisp.org>
48129         Indentation.
48130         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
48131         indentation.
48133 2010-10-11  Jim Meyering  <meyering@redhat.com>
48135         spawn.in.h: make indentation consistent with parentheses
48136         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
48137         Make indentation consistent with parentheses.
48139 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
48141         Fix mismatched parens in previous commit
48142         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
48143         parens.
48145 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
48147         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
48149         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
48150         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
48151         * lib/malloca.c: Include "verify.h".
48152         (verify1): Remove, replacing with a verify call.
48153         * lib/relocwrapper.c (verify1): Likewise.
48154         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
48155         Likewise.
48156         * modules/malloca (Depends-on): Add 'verify'.
48157         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
48158         * modules/vasnprintf (Depends-on): Add 'verify'.
48159         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
48160         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
48161         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
48162         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
48163         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
48164         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
48165         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
48167         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
48169         Formerly the style was sometimes 2*X - 1, because the C standard
48170         was wrongly thought to disallow ?: in integral constant expressions.
48171         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
48172         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
48173         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
48174         * lib/stdint.in.h (_verify_intmax_size): Likewise.
48175         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
48176         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
48177         verify that time_t cannot be floating.
48179 2010-10-08  Eric Blake  <eblake@redhat.com>
48181         time: enforce recent POSIX ruling that time_t is integral
48182         * lib/time.in.h (__time_t_must_be_integral): Detect any
48183         problematic systems, allowing the rest of gnulib to assume POSIX.
48185 2010-10-08  Jim Meyering  <meyering@redhat.com>
48187         fdopendir: fix a bug on systems lacking openat and /proc support
48188         OpenBSD 4.7 is one such system.  The most noticeable effect was
48189         failure of any application making nontrivial use of fts: rm, du,
48190         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
48191           ./rm: traversal failed: `a': Bad file descriptor
48192         Debugging that, you see that even though FD 6 was closed just
48193         prior to the opendir call in fd_clone_opendir, its resulting
48194         dir->dd_fd was 8, rather than the expected value of 6:
48196         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
48197         93                close (fd);
48198         (gdb) n
48199         94                dir = fd_clone_opendir (dupfd);
48200         (gdb) n
48201         95                saved_errno = errno;
48202         (gdb) p dir->dd_fd
48203         $11 = 8
48205         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
48206         The problem is that on OpenBSD, fd_clone_opendir has to resort
48207         to using the old-style save/restore CWD mechanism, due to its
48208         lack of openat/proc support, and *that* would steal the FD (6)
48209         that opendir was supposed to use.
48211         The fix is to squirrel away the desired FD so that save_cwd uses a
48212         different one, and then free the dest FD right before calling opendir.
48213         That guarantees opendir will use the required file descriptor.
48215         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
48217 2010-10-08  Bruno Haible  <bruno@clisp.org>
48219         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
48220         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
48222 2010-10-08  Bruno Haible  <bruno@clisp.org>
48224         nanosleep: Make replacement POSIX compliant.
48225         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
48226         is out of range.
48227         Reported by Jim Meyering.
48229 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
48231         bootstrap: add hook for altering gnulib.mk, for Bison
48232         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
48233         the Bison bootstrapping process can rewrite file names and variables
48234         in this file before later parts of 'bootstrap' use the file.
48235         Bison wants to include lib/gnulib.mk from the top-level makefile,
48236         so it needs the file names in this file to be relative to the top
48237         level, not relative to lib; plus it needs variable names to be
48238         rewritten.
48239         (slurp): Use the new function.
48241         bootstrap: reformat for readability
48242         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
48244 2010-10-08  Eric Blake  <eblake@redhat.com>
48246         docs: update cygwin progress
48247         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
48248         1.7.7.
48249         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
48250         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
48251         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
48252         * doc/posix-functions/carg.texi (carg): Likewise.
48253         * doc/posix-functions/cargf.texi (cargf): Likewise.
48254         * doc/posix-functions/casin.texi (casin): Likewise.
48255         * doc/posix-functions/casinf.texi (casinf): Likewise.
48256         * doc/posix-functions/casinh.texi (casinh): Likewise.
48257         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
48258         * doc/posix-functions/catan.texi (catan): Likewise.
48259         * doc/posix-functions/catanf.texi (catanf): Likewise.
48260         * doc/posix-functions/catanh.texi (catanh): Likewise.
48261         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
48262         * doc/posix-functions/ccos.texi (ccos): Likewise.
48263         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
48264         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
48265         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
48266         * doc/posix-functions/cexp.texi (cexp): Likewise.
48267         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
48268         * doc/posix-functions/cimag.texi (cimag): Likewise.
48269         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
48270         * doc/posix-functions/clog.texi (clog): Likewise.
48271         * doc/posix-functions/clogf.texi (clogf): Likewise.
48272         * doc/posix-functions/conj.texi (conj): Likewise.
48273         * doc/posix-functions/conjf.texi (conjf): Likewise.
48274         * doc/posix-functions/cpow.texi (cpow): Likewise.
48275         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
48276         * doc/posix-functions/cproj.texi (cproj): Likewise.
48277         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
48278         * doc/posix-functions/creal.texi (creal): Likewise.
48279         * doc/posix-functions/crealf.texi (crealf): Likewise.
48280         * doc/posix-functions/csin.texi (csin): Likewise.
48281         * doc/posix-functions/csinf.texi (csinf): Likewise.
48282         * doc/posix-functions/csinh.texi (csinh): Likewise.
48283         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
48284         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
48285         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
48286         * doc/posix-functions/ctan.texi (ctan): Likewise.
48287         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
48288         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
48289         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
48290         * doc/posix-headers/complex.texi (complex.h): Likewise.
48292 2010-10-07  Jim Meyering  <meyering@redhat.com>
48294         parse-datetime: avoid compilation failure on OpenBSD 4.7
48295         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
48296         This works around a compilation failure on OpenBSD 4.7:
48297         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
48299 2010-10-07  Eric Blake  <eblake@redhat.com>
48301         docs: update cygwin progress
48302         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
48303         1.7.6.
48304         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
48305         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
48306         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
48307         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
48308         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
48309         Likewise.
48310         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
48311         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
48312         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
48313         Likewise.
48314         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
48315         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
48316         Likewise.
48317         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
48318         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
48319         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
48320         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
48321         Likewise.
48322         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
48323         Likewise.
48324         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
48326         docs: update parse-datetime history
48327         * doc/parse-datetime.texi (Authors of parse_datetime): Better
48328         documentation of this function's history and alternatives.
48330         cygwin: use more robust version check
48331         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
48332         exclude an eventual cygwin 1.9.1.
48333         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
48334         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
48335         (gl_FUNC_STRCASESTR): Likewise.
48336         Reported by Bruno Haible.
48338 2010-10-06  Bruno Haible  <bruno@clisp.org>
48340         string, sys_select: Avoid #including large headers unless necessary.
48341         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
48342         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
48343         OSF/1, BeOS, Haiku.
48344         Reported by Jim Meyering.
48346 2010-10-05  Eric Blake  <eblake@redhat.com>
48348         memmem, strstr, strcasestr: fix bug with long periodic needle
48349         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
48350         periodic needle having false positive.
48351         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
48352         and cygwin 1.7.7.
48353         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
48354         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
48355         (gl_FUNC_STRCASESTR): Likewise.
48356         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
48357         * tests/test-memmem.c (main): Expose the bug.
48358         * tests/test-strcasestr.c (main): Likewise.
48359         * tests/test-strstr.c (main): Likewise.
48360         * tests/test-c-strcasestr.c (main): Likewise.
48361         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
48362         * doc/posix-functions/strstr.texi (strstr): Likewise.
48363         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
48364         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
48366 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
48368         parse-datetime: do some more renaming
48369         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
48370         parse_datetime, not get_date.  Mention the renaming.
48371         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
48372         in comments.
48373         * m4/bison.m4: Likewise.
48375 2010-10-05  Eric Blake  <eblake@redhat.com>
48377         parse-datetime: better name than get_date
48378         * NEWS: Reword the deprecation notice.
48379         * modules/get_date: Rename to modules/parse-datetime.
48380         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
48381         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
48382         * lib/get_date.y: Rename to lib/parse-datetime.y.
48383         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
48384         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
48385         * doc/getdate.texi: Provide fallback wrapper.
48386         * lib/getdate.h: Move guts, and wrap...
48387         * lib/parse-datetime.h: ...new file.
48388         * lib/parse-datetime.y (get_date): Rename...
48389         (parse_datetime): ...to this.
48390         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
48391         (gl_PARSE_DATETIME): ...to this.
48392         * doc/posix-functions/getdate.texi (get_date): Provide fallback
48393         documentation.
48394         * modules/getdate (Files): Provide fallback docs and header.
48395         (Notice, Depends-on): Update references.
48396         * tests/test-parse-datetime.c: Likewise.
48397         * DEPENDENCIES: Likewise.
48398         * MODULES.html.sh (Date and time <time.h>): Likewise.
48399         * doc/parse-datetime.texi (Date input formats)
48400         (Authors of parse_datetime): Likewise.
48401         * modules/parse-datetime (Files, configure.ac, Makefile.am)
48402         (Include): Likewise.
48403         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
48404         * gnulib-tool: Likewise.
48405         * m4/bison.m4 (gl_BISON): Likewise.
48406         Suggested by Bruno Haible.
48408 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
48410         more ports to Solaris tr, which needs [] around ranges
48411         * gnulib-tool: Solaris tr needs [] around ranges.
48412         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
48413         * tests/test-pipe-filter-gi1.c (main): Likewise.
48414         * tests/test-pipe-filter-ii1.c (main): Likewise.
48416 2010-10-05  Eric Blake  <eblake@redhat.com>
48418         bootstrap: fix Solaris regression
48419         * build-aux/bootstrap (check_versions): Solaris tr still needs []
48420         around ranges.
48421         Reported by Pádraig Brady.
48423         bootstrap: work with pkg-config
48424         * build-aux/bootstrap (check_versions): Also transliterate - in
48425         prerequisite name.
48426         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
48427         prerequisites that were already found, to avoid confusion.
48428         Reported by Justin Clift.
48430         faccessat: remove unused wrappers
48431         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
48432         presence of these wrappers dragged in -lgen on Solaris.
48433         Reported by Clemens Brogi; fix suggested by Paul Eggert.
48435 2010-10-05  Jim Meyering  <meyering@redhat.com>
48437         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
48438         * Makefile (sc_pragma_columns): New syntax-check rule.
48440 2010-10-04  Bruno Haible  <bruno@clisp.org>
48442         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
48443         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
48444         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
48445         Reported by Bruce Korb and Eric Blake.
48447 2010-10-04  Bruno Haible  <bruno@clisp.org>
48449         threadlib: Make option --with-libpth-prefix work.
48450         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
48451         use $LIBPTH, not just -lpth.
48453 2010-10-04  Bruno Haible  <bruno@clisp.org>
48455         Avoid line length limitation from HP NonStop system header files.
48456         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
48457         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
48458         * lib/ctype.in.h: Likewise.
48459         * lib/dirent.in.h: Likewise.
48460         * lib/errno.in.h: Likewise.
48461         * lib/fcntl.in.h: Likewise.
48462         * lib/float.in.h: Likewise.
48463         * lib/getopt.in.h: Likewise.
48464         * lib/iconv.in.h: Likewise.
48465         * lib/inttypes.in.h: Likewise.
48466         * lib/langinfo.in.h: Likewise.
48467         * lib/locale.in.h: Likewise.
48468         * lib/math.in.h: Likewise.
48469         * lib/netdb.in.h: Likewise.
48470         * lib/netinet_in.in.h: Likewise.
48471         * lib/poll.in.h: Likewise.
48472         * lib/pthread.in.h: Likewise.
48473         * lib/pty.in.h: Likewise.
48474         * lib/sched.in.h: Likewise.
48475         * lib/se-selinux.in.h: Likewise.
48476         * lib/search.in.h: Likewise.
48477         * lib/signal.in.h: Likewise.
48478         * lib/spawn.in.h: Likewise.
48479         * lib/stdarg.in.h: Likewise.
48480         * lib/stddef.in.h: Likewise.
48481         * lib/stdint.in.h: Likewise.
48482         * lib/stdio.in.h: Likewise.
48483         * lib/stdlib.in.h: Likewise.
48484         * lib/string.in.h: Likewise.
48485         * lib/strings.in.h: Likewise.
48486         * lib/sys_file.in.h: Likewise.
48487         * lib/sys_ioctl.in.h: Likewise.
48488         * lib/sys_select.in.h: Likewise.
48489         * lib/sys_socket.in.h: Likewise.
48490         * lib/sys_stat.in.h: Likewise.
48491         * lib/sys_time.in.h: Likewise.
48492         * lib/sys_times.in.h: Likewise.
48493         * lib/sys_utsname.in.h: Likewise.
48494         * lib/sys_wait.in.h: Likewise.
48495         * lib/sysexits.in.h: Likewise.
48496         * lib/termios.in.h: Likewise.
48497         * lib/time.in.h: Likewise.
48498         * lib/unistd.in.h: Likewise.
48499         * lib/wchar.in.h: Likewise.
48500         * lib/wctype.in.h: Likewise.
48501         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
48502         * modules/ctype (Makefile.am): Likewise.
48503         * modules/dirent (Makefile.am): Likewise.
48504         * modules/errno (Makefile.am): Likewise.
48505         * modules/fcntl-h (Makefile.am): Likewise.
48506         * modules/float (Makefile.am): Likewise.
48507         * modules/getopt-posix (Makefile.am): Likewise.
48508         * modules/iconv-h (Makefile.am): Likewise.
48509         * modules/inttypes (Makefile.am): Likewise.
48510         * modules/langinfo (Makefile.am): Likewise.
48511         * modules/locale (Makefile.am): Likewise.
48512         * modules/math (Makefile.am): Likewise.
48513         * modules/netdb (Makefile.am): Likewise.
48514         * modules/netinet_in (Makefile.am): Likewise.
48515         * modules/poll-h (Makefile.am): Likewise.
48516         * modules/pthread (Makefile.am): Likewise.
48517         * modules/pty (Makefile.am): Likewise.
48518         * modules/sched (Makefile.am): Likewise.
48519         * modules/search (Makefile.am): Likewise.
48520         * modules/selinux-h (Makefile.am): Likewise.
48521         * modules/signal (Makefile.am): Likewise.
48522         * modules/spawn (Makefile.am): Likewise.
48523         * modules/stdarg (Makefile.am): Likewise.
48524         * modules/stddef (Makefile.am): Likewise.
48525         * modules/stdint (Makefile.am): Likewise.
48526         * modules/stdio (Makefile.am): Likewise.
48527         * modules/stdlib (Makefile.am): Likewise.
48528         * modules/string (Makefile.am): Likewise.
48529         * modules/strings (Makefile.am): Likewise.
48530         * modules/sys_file (Makefile.am): Likewise.
48531         * modules/sys_ioctl (Makefile.am): Likewise.
48532         * modules/sys_select (Makefile.am): Likewise.
48533         * modules/sys_socket (Makefile.am): Likewise.
48534         * modules/sys_stat (Makefile.am): Likewise.
48535         * modules/sys_time (Makefile.am): Likewise.
48536         * modules/sys_times (Makefile.am): Likewise.
48537         * modules/sys_utsname (Makefile.am): Likewise.
48538         * modules/sys_wait (Makefile.am): Likewise.
48539         * modules/sysexits (Makefile.am): Likewise.
48540         * modules/termios (Makefile.am): Likewise.
48541         * modules/time (Makefile.am): Likewise.
48542         * modules/unistd (Makefile.am): Likewise.
48543         * modules/wchar (Makefile.am): Likewise.
48544         * modules/wctype (Makefile.am): Likewise.
48546 2010-10-04  Bruno Haible  <bruno@clisp.org>
48548         read-file tests: Avoid a test failure on NonStop Kernel.
48549         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
48550         a regular file.
48551         Reported by Joachim Schmitz <schmitz@hp.com>.
48553 2010-10-03  Bruno Haible  <bruno@clisp.org>
48555         gnulib-tool: Fixes for --create-testdir with --libtool.
48556         * gnulib-tool (func_get_automake_snippet): Don't augment
48557         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
48558         an executable.
48559         (func_create_testdir): Handle module 'alloca' like func_import.
48560         Reported by Bruce Korb <bruce.korb@gmail.com>.
48562 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
48564         Avoid some lines longer than 80 characters.
48565         * lib/stdint.in.h: Break long comment lines.
48566         * lib/math.in.h: Likewise.
48567         (_GL_NUM_UINT_WORDS): New macro, for readability.
48568         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
48569         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
48570         * lib/stdlib.in.h: Likewise.
48571         * lib/spawn.in.h: Likewise.
48572         * lib/sys_socket.in.h: Update an URL.
48573         * lib/sys_stat.in.h: Break long line.
48575 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
48577         Improve pmccabe2html.
48578         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
48579         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
48580         when the sources change. Remove the line in the HTML about "Used
48581         ranges" (which implied that there might be other unused ranges),
48582         rename "Resume" to "Summary" (easier to understand for more users).
48583         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
48584         styles, and some unnecessary blank lines.
48586 2010-10-03  Bruno Haible  <bruno@clisp.org>
48587             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
48589         acl: Add support for ACLs on NonStop Kernel.
48590         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
48591         Check whether the function aclsort() exists.
48592         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
48593         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
48594         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
48595         (acl_nontrivial [HAVE_ACLSORT]: New function.
48596         (file_has_acl): Implement for NonStop Kernel.
48597         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
48598         (qset_acl): Implement for NonStop Kernel.
48599         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
48600         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
48601         (main): Implement for NonStop Kernel.
48602         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
48603         Kernel. Handle this flavor.
48604         * tests/test-set-mode-acl.sh: Likewise.
48605         * tests/test-copy-acl.sh: Likewise.
48606         * tests/test-copy-file.sh: Likewise.
48608 2010-10-03  Bruno Haible  <bruno@clisp.org>
48610         Info about ACLs on NonStop Kernel.
48611         * doc/acl-resources.txt: Add info about NonStop Kernel.
48612         References by Joachim Schmitz <schmitz@hp.com>.
48614 2010-10-02  Bruno Haible  <bruno@clisp.org>
48616         Define missing EDQUOT on NonStop Kernel.
48617         * lib/errno.in.h (EDQUOT): Assign a value if missing.
48618         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
48619         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
48620         missing.
48621         * doc/posix-headers/errno.texi: Mention the NSK bug.
48622         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
48623         Reported by Joachim Schmitz <schmitz@hp.com>.
48625 2010-10-02  Bruno Haible  <bruno@clisp.org>
48627         Update doc for POSIX:2008.
48628         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
48629         Update URL of POSIX specification.
48631 2010-10-02  Bruno Haible  <bruno@clisp.org>
48633         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
48634         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
48635         from gnulib, not from Automake.
48637 2010-10-02  Bruno Haible  <bruno@clisp.org>
48639         New module 'system-posix'.
48640         * modules/system-posix: New file.
48641         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
48642         module is present.
48643         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
48644         GNULIB_SYSTEM_POSIX.
48645         * modules/stdlib (Depends-on): Remove sys_wait.
48646         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
48647         * doc/posix-functions/system.texi: Mention the new module.
48648         * doc/posix-headers/stdlib.texi: Likewise.
48649         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
48650         define test_sys_wait_macros to a no-op.
48651         Reported by Sam Steingold <sds@gnu.org>.
48653 2010-09-30  Bruno Haible  <bruno@clisp.org>
48655         More renaming from 'getdate' to 'get_date'.
48656         * doc/get_date.texi: Renamed from doc/getdate.texi.
48657         * modules/get_date (Files): Update.
48658         * MODULES.html.sh (Date and time <time.h>): Update.
48659         * DEPENDENCIES: Update.
48660         * gnulib-tool: Update comment.
48661         * m4/bison.m4 (gl_BISON): Likewise.
48662         * m4/get_date.m4 (gl_GET_DATE): Likewise.
48664 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
48666         bootstrap: support ACLOCAL_FLAGS during aclocal
48667         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
48668         can add additional -I dir for third-party .m4 files.
48670 2010-09-30  Eric Blake  <eblake@redhat.com>
48672         bootstrap: use glibtoolize on MacOS
48673         * build-aux/bootstrap (check_versions): Convert libtool into
48674         libtoolize.
48675         (tool search): Move libtool check earlier, and look for
48676         glibtoolize for MacOS.
48677         (gnulib_tool_options): Auto-add --libtool when appropriate.
48678         Reported by Justin Clift.
48680         poll: fix typo that broke test on MacOS
48681         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
48682         Reported by Justin Clift.
48684         getdate: rename to get_date
48685         Note: getdate.h is not renamed, to minimize client impact.
48686         * modules/getdate: Mark obsolete.  Move old contents...
48687         * modules/get_date: ...to new module name.
48688         * modules/getdate-tests: Move...
48689         * modules/get_date-tests: ...here.
48690         * m4/getdate.m4: Move...
48691         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
48692         * lib/getdate.y: Move...
48693         * lib/get_date.y: ...here.
48694         * tests/test-getdate.c: Move...
48695         * tests/test-get_date.c: ...here.
48696         * doc/posix-functions/getdate.texi (getdate): Update name.
48697         * NEWS: Mention the change.
48699 2010-09-29  Bruno Haible  <bruno@clisp.org>
48701         Separate the module 'waitpid' from the module 'sys_wait'.
48702         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
48703         present.
48704         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
48705         gl_MODULE_INDICATOR_FOR_TESTS.
48706         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
48707         * modules/sys_wait (Depends-on): Remove waitpid.
48708         (Makefile.am): Substitute GNULIB_WAITPID.
48709         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
48710         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
48711         signature only if the 'waitpid' module is present.
48712         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
48713         * NEWS: Mention the change.
48714         * modules/grantpt (Depends-on): Add waitpid.
48715         * modules/wait-process (Depends-on): Likewise.
48717 2010-09-29  Bruno Haible  <bruno@clisp.org>
48719         More tests for module 'sys_wait'.
48720         * modules/sys_wait-c++-tests: New file.
48721         * tests/test-sys_wait-c++.cc: New file.
48722         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
48723         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
48725 2010-09-29  Bruno Haible  <bruno@clisp.org>
48727         New module 'waitpid'.
48728         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
48729         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
48730         Don't include <process.h>.
48731         (waitpid): Declare only, using modern idiom.
48732         * m4/waitpid.m4: New file.
48733         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
48734         * modules/waitpid: New file.
48735         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
48736         (Makefile.am): Update.
48737         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
48739 2010-09-28  Bruno Haible  <bruno@clisp.org>
48741         poll: Assume ANSI C.
48742         * lib/poll.c (poll): Use an ANSI C declaration.
48744 2010-09-28  Bruno Haible  <bruno@clisp.org>
48746         poll-h: Create poll.h on all platforms.
48747         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
48748         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
48749         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
48750         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
48751         (gl_REPLACE_POLL_H): Don't set POLL_H.
48752         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
48753         * modules/poll-h (Depends-on): Add include_next.
48754         (Makefile.am): Create poll.h unconditionally. Substitute also
48755         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
48757 2010-09-28  Bruno Haible  <bruno@clisp.org>
48759         Tests for module 'poll-h'.
48760         * modules/poll-h-c++-tests: New file.
48761         * tests/test-poll-h-c++.cc: New file.
48763         Tests for module 'poll-h'.
48764         * modules/poll-h-tests: New file.
48765         * tests/test-poll-h.c: New file.
48767 2010-09-28  Bruno Haible  <bruno@clisp.org>
48769         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
48770         * modules/poll-h (Depends-on): Add 'extensions'.
48772 2010-09-28  Bruno Haible  <bruno@clisp.org>
48774         New module 'poll-h'.
48775         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
48776         (poll): Use modern idiom.
48777         * modules/poll-h: New file.
48778         * modules/poll (Files): Remove lib/poll.in.h.
48779         (Depends-on): Add poll-h.
48780         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
48781         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
48782         * m4/poll_h.m4: New file.
48783         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
48784         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
48785         and invoke gl_REPLACE_POLL_H.
48786         * lib/poll.c: Use common idiom.
48787         * tests/test-poll.c: Likewise.
48788         * doc/posix-headers/poll.texi: Mention the poll-h module.
48789         Suggested by Eric Blake.
48791 2010-09-26  Bruno Haible  <bruno@clisp.org>
48793         sys_wait: Implement WSTOPSIG.
48794         * lib/sys_wait.in.h (WSTOPSIG): New macro.
48795         Reported by Simon Josefsson.
48797 2010-09-26  Simon Josefsson  <simon@josefsson.org>
48799         stdlib, sys_wait: Avoid compilation error on mingw.
48800         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
48802 2010-09-26  Bruno Haible  <bruno@clisp.org>
48804         stdlib tests: Avoid code duplication.
48805         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
48806         * modules/sys_wait-tests (Files): Likewise.
48807         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
48808         * tests/test-stdlib.c: Include test-sys_wait.h.
48809         (main): Invoke test_sys_wait_macros.
48810         * tests/test-sys_wait.c: Include test-sys_wait.h.
48811         (main): Invoke test_sys_wait_macros.
48813 2010-09-25  Simon Josefsson  <simon@josefsson.org>
48815         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
48816         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
48817         sure Windows sockets are working before calling getaddrinfo.
48818         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
48819         * doc/gnulib.texi (Windows sockets): Fix typo.
48821 2010-09-25  Bruno Haible  <bruno@clisp.org>
48823         Tests for module 'regex-quote'.
48824         * modules/regex-quote-tests: New file.
48825         * tests/test-regex-quote.c: New file.
48827         New module 'regex-quote'.
48828         * lib/regex-quote.h: New file.
48829         * lib/regex-quote.c: New file.
48830         * modules/regex-quote: New file.
48831         Suggested by Reuben Thomas <rrt@sc3d.org>.
48833 2010-09-24  Bruno Haible  <bruno@clisp.org>
48835         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
48836         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
48838 2010-09-23  Bruno Haible  <bruno@clisp.org>
48840         setenv: Relax license.
48841         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
48842         Blake.
48843         Requested by Eric Blake.
48845 2010-09-22  Bruno Haible  <bruno@clisp.org>
48847         termios: Relax license.
48848         * modules/termios (License): Change to LGPLv2+.
48849         Requested by Eric Blake.
48851 2010-09-22  Bruno Haible  <bruno@clisp.org>
48853         threadlib: Allow the package to change the default to 'no'.
48854         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
48855         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
48856         Reported by Paul Eggert.
48858 2010-09-22  Pádraig Brady  <P@draigbrady.com>
48859             Bruno Haible  <bruno@clisp.org>
48861         Fix endless loop in mbmemcasecoll.
48862         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
48863         byte.
48864         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
48866 2010-09-22  Bruno Haible  <bruno@clisp.org>
48868         Tests for module 'memcoll'.
48869         * modules/memcoll-tests: New file.
48870         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
48872         memcoll, xmemcoll: Clarify size vs. length.
48873         * modules/memcoll.c (memcoll0): Clarify specification.
48874         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
48875         passed to collate_error.
48877 2010-09-22  Bruno Haible  <bruno@clisp.org>
48879         Tests for module 'memcasecmp'.
48880         * modules/memcasecmp-tests: New file.
48881         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
48883 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
48885         * lib/pthread.in.h: Add split double-inclusion guard, and include
48886         system <pthread.h> if there is one.  Use @@-style as in other
48887         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
48888         pthread.h doesn't.
48889         (pthread_mutexattr_destroy, pthread_mutexattr_init):
48890         (pthread_mutexattr_settype, pthread_mutex_trylock):
48891         New static inline functions, if there's no system <pthread.h>.
48892         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
48893         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
48894         Approximate with mutexes if the system lacks spinlocks, as in
48895         MacOS.
48896         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
48897         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
48898         @@-style.  Check for spinlocks separately.
48899         (gl_PTHREAD_DEFAULTS): New macro.
48900         * modules/pthread: Redo to use a more typical style for in.h files.
48902 2010-09-21  Eric Blake  <eblake@redhat.com>
48904         net_if: enhance tests
48905         * tests/test-net_if.c (main): Move signature checks earlier.
48906         Print failures to stderr.
48907         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
48908         Document the bug that we do not yet fix.
48910 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
48912         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
48913         about gnulib, not GSS.
48915 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
48917         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
48918         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
48919         for Emacs.
48920         * build-aux/pmccabe2html: Make Makefile.am example code more
48921         cut-and-paste friendly.
48923 2010-09-21  Simon Josefsson  <simon@josefsson.org>
48925         * tests/test-net_if.c: New file.
48926         * modules/net_if-tests: New file.
48928 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
48930         pthread: add pthread_spin_destroy
48931         * lib/pthread.in.h (pthread_spin_destroy): New function.
48933 2010-09-19  Bruno Haible  <bruno@clisp.org>
48935         gnulib-tool: Fix --help output.
48936         * gnulib-tool (func_usage): Fix help message.
48937         Reported by Reuben Thomas <rrt@sc3d.org>.
48939 2010-09-18  Jim Meyering  <meyering@redhat.com>
48941         maint.mk: avoid unexpanded \n in two diagnostics
48942         * top/maint.mk (sc_prohibit_always_true_header_tests):
48943         Don't use a literal \n in a halt=... assignment.  It would not be
48944         expanded, and the two \n bytes would appear in the diagnostic output
48945         rather than the desired newline.  Use halt=$$(printf ... instead.
48946         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
48948 2010-09-18  Bruno Haible  <bruno@clisp.org>
48950         netinet_in: Doc tweak.
48951         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
48952         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
48954 2010-09-18  Jim Meyering  <meyering@redhat.com>
48956         init.sh: correct an outdated comment
48957         * tests/init.sh (create_exe_shims_):  s/function/alias/
48959         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
48960         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
48961         a file named "*.exe" is removed between the glob expansion and the
48962         processing of that oddly named file.
48964 2010-09-17  Eric Blake  <eblake@redhat.com>
48966         mirbsd: add some more support
48967         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
48968         in BSD family.
48969         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
48970         devices as OpenBSD.
48971         * m4/host-os.m4 (mirbsd): Add MirBSD.
48973         tests: fix unportable assumption on sys/wait.h
48974         * tests/test-sys_wait.c (main): Relax test.
48975         * tests/test-stdlib.c (main): Likewise.
48977         init.sh: accommodate directory with no .exes
48978         * tests/init.sh: Accomodate directory containing only scripts.
48980         tests: avoid compiler warning
48981         * tests/test-stdlib.c (main): Use the variable.
48983         fdutimens, fdutimensat: update signature, again
48984         * lib/utimens.h (gl_futimens): Delete, and move signature...
48985         (fdutimens): ...here.
48986         (fdutimensat): Rearrange signature.
48987         (lutimensat): Rename variable for clarity.
48988         * lib/fdutimensat.c (fdutimensat): Update signature.
48989         * lib/utimens.c (fdutimens): Likewise.
48990         (gl_futimens): Delete.
48991         (utimens, lutimens): Update callers.
48992         * lib/futimens.c (futimens): Likewise.
48993         * tests/test-fdutimensat.c: Likewise.
48994         * tests/test-utimens.c: Likewise.
48995         * tests/test-futimens.h: Update comment.
48996         * NEWS: Mention this.
48997         Suggested by Paul Eggert.
48999 2010-09-17  Bruno Haible  <bruno@clisp.org>
49001         Take over the maintenance of some older macros from Autoconf.
49002         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
49003         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
49004         GNU Autoconf.
49005         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
49006         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
49008 2010-09-17  Eric Blake  <eblake@redhat.com>
49010         fdutimensat: drop atflag validation
49011         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
49012         with valid fd, to close a race scenario where futimens is
49013         unsupported and FILE was replaced by a symlink.
49014         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
49015         accordingly.
49016         Suggested by Paul Eggert.
49018 2010-09-16  Bruno Haible  <bruno@clisp.org>
49020         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
49021         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
49023 2010-09-16  Bruno Haible  <bruno@clisp.org>
49025         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
49026         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
49027         login_tty exists.
49028         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
49030 2010-09-16  Bruno Haible  <bruno@clisp.org>
49032         login_tty: Make the replacement code work on BSD systems.
49033         * lib/login_tty.c: Include <sys/ioctl.h>.
49034         (login_tty): Use ioctl TIOCSCTTY when available.
49035         * modules/login_tty (Depends-on): Add sys_ioctl.
49036         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
49038 2010-09-16  Bruno Haible  <bruno@clisp.org>
49040         login_tty: Stricter unit test.
49041         * modules/login_tty-tests (Depends-on): Add tcgetsid.
49042         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
49043         and tcgetsid() after login_tty.
49044         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
49046 2010-09-16  Bruno Haible  <bruno@clisp.org>
49048         New module 'tcgetsid'.
49049         * lib/tcgetsid.c: New file.
49050         * m4/tcgetsid.m4: New file.
49051         * modules/tcgetsid: New file.
49052         * modules/termios (Depends-on): Add c++defs, warn-on-use.
49053         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
49054         GNULIB_TCGETSID, HAVE_TCGETSID.
49055         * lib/termios.in.h: Include <sys/types.h>.
49056         (tcgetsid): New declaration.
49057         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
49058         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
49059         * doc/posix-functions/tcgetsid.texi: Mention the new module.
49060         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
49062 2010-09-16  Bruno Haible  <bruno@clisp.org>
49064         Tests for module 'termios'.
49065         * modules/termios-c++-tests: New file.
49066         * modules/termios-tests: New file.
49067         * tests/test-termios-c++.cc: New file.
49068         * tests/test-termios.c: New file.
49070         New module 'termios'.
49071         * modules/termios: New file.
49072         * lib/termios.in.h: New file.
49073         * m4/termios_h.m4: New file.
49074         * doc/posix-headers/termios.texi: Mention the new module.
49076 2010-09-16  Eric Blake  <eblake@redhat.com>
49078         fdutimensat: add an atflag parameter
49079         * lib/fdutimensat.c (fdutimensat): Add new parameter.
49080         * lib/utimens.h (fdutimensat): Update prototype.
49081         * tests/test-fdutimensat.c: Adjust test to match.
49082         * NEWS: Document the change.
49083         Suggested by Paul Eggert.
49085 2010-09-16  Bruno Haible  <bruno@clisp.org>
49087         Fix typos in comments.
49088         * lib/striconveh.h: Fix typo in comment.
49089         * lib/login_tty.c (login_tty): Likewise.
49091 2010-09-15  Bruno Haible  <bruno@clisp.org>
49093         stdlib: clarify MirBSD WEXITSTATUS bug
49094         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
49095         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
49097 2010-09-15  Eric Blake  <eblake@redhat.com>
49099         stdlib: work around MirBSD WEXITSTATUS bug
49100         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
49101         * modules/stdlib (Depends-on): Add sys_wait.
49102         * tests/test-sys_wait.c (main): Enhance test.
49103         * tests/test-stdlib.c (main): Likewise.
49104         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
49106         docs: mention MacOS issue with WEXITSTATUS(constant)
49107         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
49108         issue.
49109         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
49111         strnlen: add tests
49112         * modules/strnlen-tests: New file.
49113         * tests/test-strnlen.c: Likewise.
49115 2010-09-14  Bruno Haible  <bruno@clisp.org>
49117         unistr/base: Avoid link errors when module 'libunistring' is also used.
49118         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
49119         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
49120         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
49121         Declare also when HAVE_LIBUNISTRING is set.
49122         Reported by Pádraig Brady <P@draigbrady.com>.
49124 2010-09-14  Eric Blake  <eblake@redhat.com>
49126         test-rawmemchr: make more robust
49127         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
49128         (Depends-on, configure.ac): Add needed prerequisites to use it.
49129         * modules/memchr-tests (Files, Depends-on, configure.ac):
49130         Likewise, to avoid implicit reliance on memchr module prereqs.
49131         * tests/test-memchr.c (main): Ensure proper masking.
49132         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
49133         reads.
49135         memchr: detect glibc Alpha bug
49136         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
49137         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
49138         Alpha.
49139         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
49140         * tests/test-memchr.c (main): Enhance test.
49141         Reported by Nelson H. F. Beebe.
49143 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
49145         fts, getcwd, glob: audit for dirfd returning -1
49146         * lib/fts.c (opendir): Remove #define; no longer used.
49147         (opendirat): New arg PDIR_FD.  All callers changed.
49148         (fts_build, _opendir2): Use new opendirat to avoid the need for
49149         dirfd, or for checking whether dirfd returns a negative value.
49150         Don't use opendir; always use openat followed by fdopendir.
49151         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
49152         it.
49153         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
49154         returns -1 here.
49155         * modules/fts (Depends-on): Remove dirfd.
49156         * modules/getcwd (Depends-on): Likewise.
49158 2010-09-13  Eric Blake  <eblake@redhat.com>
49160         float: fix broken MirBSD header
49161         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
49162         * doc/posix-headers/float.texi (float.h): Document it.
49164 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
49166         fts: use O_NOFOLLOW to avoid race condition when opening a directory
49167         * lib/fts.c (opendirat): New arg extra_flags.
49168         (__opendir2): Use it to avoid following symlinks when opening
49169         a directory, if symlinks are not supposed to be followed.  See
49170         <http://lists.gnu.org/r/bug-gnulib/2010-09/msg00213.html>.
49172         fdopendir: preserve argument fd before returning
49173         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
49174         (fdopendir_with_dup, fd_clone_opendir): New static functions.
49175         (fdopendir): Use them, arranging for FD to be open to the same
49176         directory that it was when it started.  (It might be temporarily
49177         closed while fdopendir is running, so this not thread- or
49178         signal-safe.)  Be careful to do the right thing even when file
49179         descriptors are scarce and dup fails with errno == EMFILE.  See
49180         <http://lists.gnu.org/r/bug-gnulib/2010-09/msg00208.html>.
49182 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
49184         regex: Pass the system regex if its only problem is 32-bit regoff_t.
49185         * NEWS: Document change.
49186         * m4/regex.m4: Disable test for regoff_t size.
49188 2010-09-13  Jim Meyering  <meyering@redhat.com>
49190         fts: don't operate on an invalid file descriptor after failed dup
49191         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
49192         negative file descriptor.
49194 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
49196         savedir: add streamsavedir, deprecate fdsavedir
49197         * NEWS: Mention deprecation of fdsavedir.
49198         * lib/savedir.c (streamsavedir): New extern function, whose name
49199         ends in "savedir" to be consistent with the others.  This differs
49200         from savedirstream in that it doesn't close its argument.  The
49201         next version of GNU tar will use this instead of fdsavedir, to
49202         avoid some race conditions and conserve file descriptors.
49203         (savedirstream): Reimplement as a wrapper around streamsavedir.
49204         (fdsavedir): Add a comment deprecating this function.  As far as
49205         I know, only GNU tar used it, and GNU tar doesn't need it any more.
49206         * lib/savedir.h (streamsavedir): New decl.
49207         (fdsavedir): Add a comment deprecating this.
49209 2010-09-10  Bruno Haible  <bruno@clisp.org>
49211         langinfo: Fix last commit.
49212         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
49213         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
49214         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
49216 2010-09-10  Bruno Haible  <bruno@clisp.org>
49218         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
49219         * lib/progreloc.c (O_EXEC): Define fallback.
49221 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
49223         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
49224         * NEWS: Document recent changes to fcntl-h.
49225         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
49226         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
49227         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
49228         Similarly for O_SEARCH; this last was already true, but not documented.
49229         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
49230         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
49231         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
49232         Likewise.
49233         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
49234         is zero, not whether it is defined.
49235         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
49236         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
49237         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
49239 2010-09-10  Bruno Haible  <bruno@clisp.org>
49241         langinfo, nl_langinfo: Fix for IRIX 5.3.
49242         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
49243         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
49244         HAVE_LANGINFO_YESEXPR.
49245         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
49246         HAVE_LANGINFO_YESEXPR.
49247         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
49248         HAVE_LANGINFO_T_FMT_AMPM is 0.
49249         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
49250         HAVE_LANGINFO_YESEXPR is 0.
49251         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
49252         NOEXPR.
49253         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
49254         * doc/posix-functions/nl_langinfo.texi: Likewise.
49255         Reported by Eric Blake.
49257 2010-09-10  Bruno Haible  <bruno@clisp.org>
49259         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
49260         * doc/glibc-functions/login_tty.texi: Mention the include file problem
49261         on FreeBSD 8.0 and OpenBSD 4.6.
49262         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
49263         * m4/pty_h.m4 (gl_PTY_H): Likewise.
49264         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
49265         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
49266         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
49267         ac_includes_default.
49268         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
49270 2010-09-09  Eric Blake  <eblake@redhat.com>
49272         strsignal: work around NetBSD bug
49273         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
49274         * lib/string.in.h (includes): Likewise.
49275         * doc/posix-functions/strsignal.texi (strsignal): Document the
49276         bug.
49277         Reported by Nelson H. F. Beebe.
49279         gnulib-tool: work with NetBSD /bin/sh
49280         * gnulib-tool (func_cache_var, func_cache_lookup_module)
49281         (func_get_description, func_get_comment, func_get_status)
49282         (func_get_notice, func_get_applicability, func_get_filelist)
49283         (func_get_dependencies, func_get_autoconf_early_snippet)
49284         (func_get_autoconf_snippet, func_get_automake_snippet)
49285         (func_get_include_directive, func_get_link_directive)
49286         (func_get_license, func_get_maintainer, func_import): Avoid
49287         shell syntax errors from parsing syntax extensions.
49289 2010-09-09  Bruno Haible  <bruno@clisp.org>
49291         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
49292         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
49293         a reliable way to determine whether the 'alias' command works.
49295 2010-09-08  Jim Meyering  <meyering@redhat.com>
49297         init.sh: penalize a set-x-impaired shell; don't disqualify it
49298         * tests/init.sh: Too many shells corrupt application stderr when
49299         you set -x, so we can't afford to disqualify them, since at least
49300         on Irix-6.5, that would disqualify all bourne shells.
49301         Instead, use a two-pass approach.
49302         On the first pass, try to find a shell that meets the stricter
49303         condition that set -x does not corrupt stderr.
49304         If no shell meets the stricter condition, retest each candidate
49305         shell, but without that extra condition.  Finally, when
49306         VERBOSE=yes is requested and set -x might cause trouble, simply
49307         issue a warning and refrain from enabling debug output.
49309 2010-09-08  Eric Blake  <eblake@redhat.com>
49311         unsetenv: fix OpenBSD bug
49312         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
49313         * doc/posix-functions/unsetenv.texi (unsetenv): Update
49314         documentation.
49315         Reported by Jim Meyering.
49317         strtod: work around IRIX 6.5 bug
49318         * lib/strtod.c (strtod): Reparse number on shorter string if
49319         exponent parse was invalid.
49320         * tests/test-strtod.c (main): Add check for "0x1p 2".
49321         Reported by Tom G. Christensen.
49323         getopt: optimize previous patch
49324         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
49325         empty variable.  Speed up awk script.
49326         Reported by Paolo Bonzini.
49328 2010-09-08  Jim Meyering  <meyering@redhat.com>
49330         test.sh: disqualify shells for which set -x corrupts stderr
49331         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
49332         and OpenBSD 4.7.  They make it so with "set -x", environment settings
49333         appear in stderr output.  For example, this command:
49334             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
49335         prints "P=1" on those two systems:
49337 2010-09-08  Bruno Haible  <bruno@clisp.org>
49339         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
49340         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
49341         commands, because some shells ignore redirections when there is an
49342         error in the command lookup.
49343         Reported by Eric Blake.
49345 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
49347         * lib/regex.h: Fix a mention of `regex_compile' (should be
49348         `re_compile_pattern').
49349         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
49350         (re_set_registers): Correct name of parameter in comment.
49352         * doc/regex.texi: Add documentation for missing syntax flags.
49353         Remove commented-out documentation of defunct syntax option
49354         RE_NO_EMPTY_ALTS.
49355         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
49356         Add documentation of re_set_registers.
49357         Document trick to re-use a pattern buffer by setting fastmap manually.
49358         Update documentation of struct re_pattern_buffer per public members.
49359         Uncomment documentation of equivalence class operators and
49360         collating symbol operators, since they are now implemented,
49361         Explain leftmost-longest matching in relation to alternatives.
49362         Tidy documentation of substring matching.
49363         Remove POSIX documentation, which is done better in
49364         glibc, and refer the reader there. Keep BSD API documentation, as
49365         that is not readily available elsewhere.
49367 2010-09-07  Eric Blake  <eblake@redhat.com>
49369         getopt: handle POSIXLY_CORRECT set but not exported
49370         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
49371         export state of POSIXLY_CORRECT, due to bash set -o posix.
49372         Reported by Dustin J. Mitchell.
49374 2010-09-05  Bruno Haible  <bruno@clisp.org>
49376         gnulib-tool: Highlight the changed options.
49377         * gnulib-tool (func_usage): Display the --import, --add-import,
49378         --remove-import explanations in bold font.
49380 2010-09-06  Karl Berry  <karl@gnu.org>
49382         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
49384 2010-09-05  Bruno Haible  <bruno@clisp.org>
49386         uniwidth/width: Update comment.
49387         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
49388         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
49390 2010-09-05  Bruno Haible  <bruno@clisp.org>
49392         isinf, isnan: Relax license.
49393         * modules/isinf (License): Change from GPL to LGPL, with consent from
49394         Ben Pfaff.
49395         * modules/isnan (License): Likewise.
49396         Requested by Ludovic Courtès.
49398 2010-09-04  Bruno Haible  <bruno@clisp.org>
49400         gnulib-tool: Help migration from --import to --add-import or --update.
49401         * gnulib-tool: Emit a verbose error message when --import is used
49402         without any module name.
49404 2010-09-04  Bruno Haible  <bruno@clisp.org>
49406         Update doc about gnulib-tool.
49407         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
49408         'gnulib-tool --update' in more detail.
49409         Reported by Eric Blake.
49411 2010-09-04  Bruno Haible  <bruno@clisp.org>
49413         gnulib-tool: Change --import. New options --add/remove-import.
49414         * gnulib-tool: New options --add-import, --remove-import.
49415         (func_usage): Document them.
49416         (have_associative): Define always.
49417         (func_import): In import mode, don't merge the specified settings with
49418         the cached settings. Implement remove-import mode.
49419         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
49420         Explain when to use them versus --import.
49421         (Simple update): Use --add-import instead of --import.
49422         * NEWS: Mention the change.
49424 2010-09-04  Bruno Haible  <bruno@clisp.org>
49426         * doc/gnulib-tool.texi (Initial import): Update paragraph about
49427         separate gnulib.mk.
49429 2010-09-04  Bruno Haible  <bruno@clisp.org>
49431         gnulib-tool: Don't talk about CVS any more.
49432         * gnulib-tool (func_usage, func_import): Write "version control"
49433         instead of CVS.
49435 2010-09-04  Jim Meyering  <meyering@redhat.com>
49437         maint.mk: avoid obscure sc_copyright_check failure in coreutils
49438         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
49439         false positives (whose names may be ill-chosen) when searching
49440         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
49441         would cause a false-positive.
49443         avoid coreutils "make distcheck" failure
49444         Coreutils tests with an absolute build directory name that contains
49445         a space.  Not quoting this directory name caused a failure.
49446         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
49447         * tests/test-vc-list-files-cvs.sh: Likewise.
49449 2010-09-04  Bruno Haible  <bruno@clisp.org>
49451         gnulib-tool: Avoid error when run in a package without Makefile.am.
49452         * gnulib-tool: When collecting the m4dirs in a package that does not
49453         have a Makefile.am, eliminate those directories that contain no
49454         gnulib-cache.m4. Fix expression that counts these directories.
49456 2010-09-04  Bruno Haible  <bruno@clisp.org>
49458         update-copyright test: Improve output when perl is missing or too old.
49459         * tests/test-update-copyright.sh: Move test of Perl version down after
49460         the test whether Perl exists. Provide an explanation relating Perl's
49461         error message to Automake's SKIP: message.
49463 2010-09-04  Bruno Haible  <bruno@clisp.org>
49465         Don't augment PATH in TESTS_ENVIRONMENT.
49466         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
49467         set abs_aux_dir instead of augmenting PATH.
49468         * modules/vc-list-files-tests (Makefile.am): Likewise.
49469         * tests/test-update-copyright.sh: Augment PATH here.
49470         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
49471         path_prepend_.
49472         * tests/test-vc-list-files-git.sh: Likewise.
49474 2010-09-04  Jim Meyering  <meyering@redhat.com>
49476         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
49477         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
49479 2010-09-04  Bruno Haible  <bruno@clisp.org>
49481         strdup: Fix compilation error in C++ mode.
49482         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
49483         the macro.
49485 2010-09-04  Bruno Haible  <bruno@clisp.org>
49487         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
49488         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
49489         macro into a function.
49490         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
49492 2010-09-04  Bruno Haible  <bruno@clisp.org>
49494         Set PATH_SEPARATOR the same way autoconf does.
49495         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
49496         the value of PATH_SEPARATOR the same way autoconf-generated configure
49497         scripts do.
49498         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
49499         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
49501 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
49503         Set PATH_SEPARATOR the same way autoconf does.
49504         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
49505         the same way autoconf-generated configure scripts do.
49506         * posix-modules: Likewise.
49508 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
49510         hash: fix safe_hasher const typo
49511         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
49512         const; otherwise, there is a type error later.
49514 2010-09-02  Jim Meyering  <meyering@redhat.com>
49516         test-update-copyright.sh: require perl 5.8.0
49517         * tests/test-update-copyright.sh: Require 5.8.0,
49518         which Tom G. Christensen has confirmed is adequate,
49519         while 5.6.1 is not.
49521 2010-09-02  Eric Blake  <eblake@redhat.com>
49523         tests: init.sh improvements for re-exec'ing with zsh
49524         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
49525         -vx through shell re-exec.
49526         Reported by Tom G. Christensen.
49528         wctype: fix typo in previous commit
49529         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
49530         Reported by Ludovic Courtès.
49532 2010-09-02  Jim Meyering  <meyering@redhat.com>
49534         test-update-copyright.sh: skip test if Perl is too old
49535         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
49536         Reported by Tom G. Christensen.
49538 2010-09-02  Bruno Haible  <bruno@clisp.org>
49540         wctype: Avoid compilation error on IRIX 6.5.30.
49541         * lib/wctype.in.h (iswblank): Declare with a replacement if
49542         REPLACE_ISWBLANK is set.
49543         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
49544         declared. Set REPLACE_ISWBLANK.
49545         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
49546         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
49547         * doc/posix-headers/wctype.texi: Likewise.
49548         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
49550 2010-09-01  Bruno Haible  <bruno@clisp.org>
49552         New module 'socketlib'.
49553         * modules/socketlib: New file.
49554         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
49555         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
49556         * modules/sockets (Depends-on): Add socketlib.
49557         Suggested by Sam Steingold <sds@gnu.org>.
49559 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
49561         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
49563         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
49564         when one needs search access to a directory but not read access.
49565         On systems where it is available, it works in some cases where
49566         O_RDONLY does not, namely on directories that are searchable but
49567         not readable, and which need only to be searchable.  If O_SEARCH
49568         is not available, fall back to the traditional method of using
49569         O_RDONLY.
49571         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
49572         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
49573         when opening a directory that needs only to be searchable.
49574         * lib/chdir-safer.c (chdir_no_follow): Likewise.
49575         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
49576         * lib/openat-proc.c (openat_proc_name): Likewise.
49577         * lib/openat.c (openat_needs_fchdir): Likewise.
49578         * lib/save-cwd.c (save_cwd): Likewise.
49579         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
49581 2010-08-28  Bruno Haible  <bruno@clisp.org>
49583         New module 'host-cpu-c-abi'.
49584         * modules/host-cpu-c-abi: New file.
49585         * m4/host-cpu-c-abi.m4: New file, based on part of
49586         clisp/src/m4/general.m4.
49587         Requested by Sam Steingold <sds@gnu.org>.
49589 2010-08-31  Eric Blake  <eblake@redhat.com>
49590         and Jim Meyering  <meyering@redhat.com>
49592         hash: factor, and guard against misbehaving hasher function
49593         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
49594         of table->hasher's return value.  Also protect against a hash value
49595         so large that adding it to table->bucket results in a NULL pointer.
49596         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
49597         Use it in place of open-coded check-and-abort.
49599 2010-08-30  Bruno Haible  <bruno@clisp.org>
49601         hash: silence spurious clang warning
49602         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
49603         Reported by Eric Blake.
49605 2010-08-30  Eric Blake  <eblake@redhat.com>
49607         strstr, memmem, strcasestr: avoid leaked shell message
49608         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
49609         FreeBSD.
49610         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
49611         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
49613         tests: silence clang warning
49614         * tests/test-malloca.c (do_allocation): Avoid dead store.
49616 2010-08-29  Bruno Haible  <bruno@clisp.org>
49618         gettext: Fix recent mistake.
49619         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
49621 2010-08-29  Bruno Haible  <bruno@clisp.org>
49623         selinux-h: Offer a --without-selinux option.
49624         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
49625         --without-selinux was specified, skip all tests and define
49626         HAVE_SELINUX_SELINUX_H to 0.
49627         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
49628         set LIB_SELINUX to empty.
49629         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
49630         gl_LIBSELINUX. If --without-selinux was specified, replace
49631         selinux/context.h.
49632         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
49634 2010-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49635             Bruno Haible  <bruno@clisp.org>
49637         Make the module 'realloc-gnu' work again on AIX and OSF/1.
49638         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
49639         of HAVE_REALLOC.
49640         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
49641         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
49642         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
49643         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
49645 2010-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49646             Bruno Haible  <bruno@clisp.org>
49648         Make the module 'calloc-gnu' work again on AIX and OSF/1.
49649         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
49650         HAVE_CALLOC.
49651         * lib/xmalloc.c: Update accordingly.
49652         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
49653         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
49654         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
49656 2010-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49657             Bruno Haible  <bruno@clisp.org>
49659         Make the module 'malloc-gnu' work again on AIX and OSF/1.
49660         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
49661         HAVE_MALLOC.
49662         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
49663         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
49664         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
49666 2010-08-29  Bruno Haible  <bruno@clisp.org>
49668         Update modules list.
49669         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
49670         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
49671         (String handling <string.h>): Add astrxfrm.
49672         (File system functions): Add readlinkat.
49674 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49676         Tests for module 'realloc-gnu'.
49677         * modules/realloc-gnu-tests: New file.
49678         * tests/test-realloc-gnu.c: New file.
49680         Tests for module 'calloc-gnu'.
49681         * modules/calloc-gnu-tests: New file.
49682         * tests/test-calloc-gnu.c: New file.
49684         Tests for module 'malloc-gnu'.
49685         * modules/malloc-gnu-tests: New file.
49686         * tests/test-malloc-gnu.c: New file.
49688 2010-08-28  Bruno Haible  <bruno@clisp.org>
49690         Rename module 'realloc' -> 'realloc-gnu'.
49691         * modules/realloc-gnu: New file, copied from modules/realloc.
49692         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
49693         obsolete.
49694         * modules/mgetgroups (Depends-on): Update.
49695         * doc/posix-functions/realloc.texi: Update.
49696         * NEWS: Mention the change.
49698         Rename module 'calloc' -> 'calloc-gnu'.
49699         * modules/calloc-gnu: New file, copied from modules/calloc.
49700         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
49701         obsolete.
49702         * doc/posix-functions/calloc.texi: Update.
49703         * NEWS: Mention the change.
49705         Rename module 'malloc' -> 'malloc-gnu'.
49706         * modules/malloc-gnu: New file, copied from modules/malloc.
49707         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
49708         obsolete.
49709         * modules/argp (Depends-on): Update.
49710         * modules/regex (Depends-on): Update.
49711         * doc/posix-functions/malloc.texi: Update.
49712         * NEWS: Mention the change.
49714 2010-08-28  Eric Blake  <eblake@redhat.com>
49716         pread, pwrite: add missing dependency
49717         * modules/pread (Depends-on): Add extensions.
49718         * modules/pwrite (Depends-on): Likewise.
49720 2010-08-28  Bruno Haible  <bruno@clisp.org>
49722         unistr/u*-strchr: Fix tests dependencies.
49723         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
49724         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
49725         Reported by Ian Beckwith <ianb@erislabs.net>.
49727 2010-08-28  Bruno Haible  <bruno@clisp.org>
49729         read-file: Don't occupy too much unused memory.
49730         * lib/read-file.c (fread_file): Shrink the buffer at the end.
49732 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
49733             Eric Blake  <eblake@redhat.com>
49734             Bruno Haible  <bruno@clisp.org>
49736         read-file: Avoid memory reallocations with regular files.
49737         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
49738         (fread_file): With regular files, use the remaining length as the
49739         initial buffer size.  Check against overflow.
49740         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
49741         sys_stat.
49743 2010-08-28  Bruno Haible  <bruno@clisp.org>
49745         ftello: Relax license.
49746         * modules/ftello (License): Relax to LGPLv2+.
49747         Reported by Eric Blake.
49749 2010-08-28  Bruno Haible  <bruno@clisp.org>
49751         Avoid relocwrapper link errors due to gnulib replacement functions.
49752         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
49753         function.
49754         Reported by Ben Pfaff <blp@cs.stanford.edu>.
49756 2010-08-28  Bruno Haible  <bruno@clisp.org>
49758         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
49759         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
49760         defined.
49761         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
49762         Suggested by Eric Blake.
49764 2010-08-28  Bruno Haible  <bruno@clisp.org>
49766         sys_socket, netdb: Ensure socklen_t gets defined.
49767         * modules/sys_socket (Depends-on): Add socklen.
49768         * modules/netdb (Depends-on): Likewise.
49769         * modules/getaddrinfo (Depends-on): Remove socklen.
49770         * modules/getsockopt (Depends-on): Likewise.
49771         * modules/setsockopt (Depends-on): Likewise.
49772         * tests/test-sys_socket.c: Check that socklen_t is defined.
49773         * tests/test-netdb.c: Likewise.
49774         * m4/socklen.m4: Update comments.
49775         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
49777 2010-08-27  Eric Blake  <eblake@redhat.com>
49779         login_tty: add missing dependency
49780         * modules/login_tty (Depends-on): Add pty.
49782 2010-08-26  Eric Blake  <eblake@redhat.com>
49784         lib-symbol-versions: fix m4 quoting
49785         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
49786         format for AC_LINK_IFELSE.
49788         glob: fix compile test
49789         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
49791         btowc: fix missing file
49792         * modules/btowc (Files): Also ship locale-fr.m4.
49794         lseek: fix link test
49795         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
49796         AC_LINK_IFELSE.
49798         include_next: silence autoconf 2.68 warning
49799         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
49800         AC_COMPILE_IFELSE as special.
49801         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
49802         autoconf < 2.68.
49804         acl: fix compilation test
49805         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
49806         AC_COMPILE_IFELSE.
49808 2010-08-26  Bruno Haible  <bruno@clisp.org>
49810         Modernize AC_TRY_RUN invocations.
49811         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
49812         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
49813         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
49814         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
49815         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
49816         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
49817         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
49818         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
49819         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
49820         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
49821         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
49822         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
49823         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
49824         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
49825         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
49826         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
49827         gl_MBRLEN_NUL_RETVAL): Likewise.
49828         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
49829         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
49830         Likewise.
49831         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
49832         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
49833         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
49834         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
49835         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
49836         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
49837         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
49838         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
49839         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
49840         Likewise.
49841         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
49842         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
49843         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
49844         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
49845         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
49846         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
49847         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
49848         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
49849         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
49850         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
49852 2010-08-26  Bruno Haible  <bruno@clisp.org>
49854         Modernize AC_TRY_LINK invocations.
49855         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
49856         AC_TRY_LINK.
49857         * m4/argp.m4 (gl_ARGP): Likewise.
49858         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
49859         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
49860         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
49861         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
49862         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
49863         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
49864         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
49865         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
49866         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
49867         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
49868         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
49869         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
49870         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
49871         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
49872         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
49873         * m4/hostent.m4 (gl_HOSTENT): Likewise.
49874         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
49875         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
49876         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
49877         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
49878         Likewise.
49879         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
49880         Likewise.
49881         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
49882         Likewise.
49883         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
49884         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
49885         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
49886         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
49887         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
49888         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
49889         * m4/servent.m4 (gl_SERVENT): Likewise.
49890         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
49891         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
49892         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
49893         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
49894         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
49895         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
49896         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
49897         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
49898         * modules/tsearch-tests (configure.ac): Likewise.
49900 2010-08-26  Bruno Haible  <bruno@clisp.org>
49902         Modernize AC_TRY_COMPILE invocations.
49903         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
49904         AC_TRY_COMPILE.
49905         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
49906         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
49907         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
49908         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
49909         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
49910         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
49911         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
49912         * m4/lock.m4 (gl_LOCK): Likewise.
49913         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
49914         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
49915         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
49916         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
49917         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
49918         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
49919         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
49920         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
49921         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
49922         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
49923         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
49924         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
49925         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
49926         extraneous semicolon.
49928 2010-08-26  Jim Meyering  <meyering@redhat.com>
49930         stat-time: relax license LGPL
49931         * modules/stat-time (License): Change from GPL to LGPL,
49932         with consent from all contributors, for use in libguile.
49933         Requested by Ludovic Courtès.
49935 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
49937         poll: return immediately on POLLHUP.
49938         * lib/poll.c (poll): Always set timeout before wait_timeout is
49939         computed.
49941 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49943         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
49944         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
49945         rmdir ("dir/.//"), unlinkat.
49947 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
49949         stdbool: avoid spurious failure with modern xlc
49950         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
49952 2010-08-24  Bruno Haible  <bruno@clisp.org>
49954         getloadavg: simplify code
49955         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
49956         gl_have_func. Update comments.
49958 2010-08-24  Eric Blake  <eblake@redhat.com>
49960         getloadavg: don't define SVR4 on cygwin
49961         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
49962         only define SVR4 when -lkvm is required.
49963         Reported by Yaakov Selkowitz.
49965 2010-08-24  Bruno Haible  <bruno@clisp.org>
49967         priv-set: fix comment
49968         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
49970 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
49972         priv-set: fix comments
49973         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
49974         to match code, as suggested by David Bartley in:
49975         http://lists.gnu.org/r/bug-tar/2010-08/msg00018.html
49977 2010-08-23  Eric Blake  <eblake@redhat.com>
49979         stdbool: avoid rejecting clang
49980         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
49981         * tests/test-stdbool.c: Enable more tests if using the system
49982         <stdbool.h> instead of the gnulib replacement.
49983         (main): Move xlc bug test to a runtime test for all compilers.
49984         Reported by Anders Kaseorg.
49986         argz: fix shell quoting issue
49987         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
49988         Reported by Charles Wilson.
49990 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
49991             Erik Faye-Lund <kusmabite@gmail.com>
49993         poll, select: handle ERROR_BROKEN_PIPE.
49994         * lib/poll.c (win32_compute_revents): Return POLLHUP when
49995         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
49996         * lib/select.c (win32_compute_revents): Do not mark a pipe
49997         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
49999 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
50001         fts: allow compilation with C++
50002         * lib/fts_.h: Specify extern "C" linkage with C++.
50004 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50006         Fix gnulib-tool sed script de-commentation for AIX sed.
50007         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
50008         sed.
50010 2010-08-17  Eric Blake  <eblake@redhat.com>
50012         test-stddef: test for (some) offsetof bugs
50013         * tests/test-stddef.c: Enhance test to ensure correct type of
50014         offsetof.
50015         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
50016         that we are not fixing at this time.
50018 2010-08-15  Bruno Haible  <bruno@clisp.org>
50020         stpncpy: Allow stpncpy to be defined as a macro.
50021         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
50022         if it's already correctly declared.
50023         * lib/string.in.h (stpncpy): Undefine before redefining.
50024         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
50026 2010-08-14  Bruno Haible  <bruno@clisp.org>
50028         Rename module 'memxfrm' to 'amemxfrm'.
50029         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
50030         (amemxfrm): Renamed from memxfrm.
50031         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
50032         (amemxfrm): Renamed from memxfrm.
50033         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
50034         * NEWS: Mention the change.
50035         * MODULES.html.sh (String handling <string.h>): Update.
50036         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
50037         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
50038         * lib/unicase/u16-casexfrm.c: Likewise.
50039         * lib/unicase/u32-casexfrm.c: Likewise.
50040         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
50041         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
50042         * lib/uninorm/u16-normxfrm.c: Likewise.
50043         * lib/uninorm/u32-normxfrm.c: Likewise.
50044         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
50045         memxfrm.
50046         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
50047         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
50048         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
50049         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
50050         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
50051         Suggested by Paul Eggert.
50053 2010-08-14  Bruno Haible  <bruno@clisp.org>
50055         Tests for module 'astrxfrm'.
50056         * modules/astrxfrm-tests: New file.
50057         * tests/test-astrxfrm.c: New file.
50059         New module 'astrxfrm'.
50060         * lib/astrxfrm.h: New file.
50061         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
50062         * modules/astrxfrm: New file.
50064 2010-08-14  Reuben Thomas  <rrt@sc3d.org>
50066         regex: Tweak doc.
50067         * doc/regex.texi (Overview): Don't mention regex.c.
50068         (GNU Regular Expression Compiling): Likewise.
50069         (Match-end-of-line Operator): Mention 'not_eol'.
50071 2010-08-14  Brian Gough  <bjg@gnu.org>
50072             Bruno Haible  <bruno@clisp.org>
50074         git-merge-changelog: add doc relating to use with bzr and hg.
50075         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
50077 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
50079         pthread: fix pthread.h creation for srcdir != builddir
50080         * modules/pthread (Makefile.am): Fix the rule to work also in a
50081         non-srcdir build.
50083 2010-08-13  Karl Berry  <karl@gnu.org>
50085         * doc/regex.texi (Predefined Syntaxes): @smallexample.
50086         * doc/posix-*/*: force line break before @url of POSIX
50087         specifications.
50088         Suggested by Werner Lemberg.
50090 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
50092         strtod: fix const diagnostic
50093         * lib/strtod.c (strtod): Don't assign const char * to char *,
50094         as this elicits a warning from GCC when warnings are enabled.
50096 2010-08-10  Pádraig Brady  <P@draigbrady.com>
50097         and Eric Blake  <eblake@redhat.com>
50099         copy-acl: ignore ENOTSUP on HP-UX
50100         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
50101         so that it is available for HP-UX.
50102         * lib/copy-acl.c (qcopy_acl): Use it.
50103         Reported by Patrick M. Callahan.
50105 2010-08-10  Eric Blake  <eblake@redhat.com>
50107         open, chown: relax license
50108         * modules/open (License): Change to LGPLv2+, with consent by all
50109         authors, for use in augeas.
50110         * modules/chown (License): Likewise.
50111         * modules/lchown (Likewise): Likewise.
50112         Requested by Adam Stokes.
50114 2010-08-09  Karl Berry  <karl@gnu.org>
50116         * build-aux/ar-lib: new file, import from Automake.
50117         * config/srclist.txt: autocheck for updates.
50119 2010-08-09  Eric Blake  <eblake@redhat.com>
50121         readlinkat: adjust client modules
50122         * modules/areadlinkat (Depends-on): Use readlinkat, not
50123         symlinkat.
50124         * modules/areadlinkat-with-size (Depends-on): Likewise.
50126         mknod: be more vocal about danger of running tests as root
50127         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
50128         root, since that is just asking for problems.
50129         Suggested by Bruno Haible, based on a report by Rainer Tammer.
50131         readlinkat: split into its own module
50132         * modules/symlinkat: Split readlinkat...
50133         * modules/readlinkat: ...into separate module.
50134         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
50135         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
50136         * lib/symlinkat.c (readlinkat): Move...
50137         * lib/readlinkat.c: ...into new file.
50138         * modules/symlinkat-tests: Split readlinkat test...
50139         * modules/readlinkat-tests: ...into separate module.
50140         * tests/test-symlinkat.c: Split...
50141         * tests/test-readlinkat.c: ...into new file.
50142         * NEWS: Document the split.
50143         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
50144         * lib/unistd.in.h (readlinkat): Likewise.
50145         Suggested by Bruno Haible.
50147 2010-08-08  Bruno Haible  <bruno@clisp.org>
50149         memxfrm: Speed up.
50150         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
50151         that usually only one call to strxfrm is necessary for each string
50152         part.
50153         Reported by Paul Eggert <eggert@cs.ucla.edu>.
50155 2010-08-07  Karl Berry  <karl@gnu.org>
50157         * doc/posix-headers/limits.texi,
50158         * doc/posix-functions/malloc.texi,
50159         * doc/posix-functions/strsignal.texi: missing @item.
50160         * doc/ld-version-script.texi: spurious leading i.
50161         * doc/regex.texi (Interval Operators): no commas inside @var.
50163 2010-08-01  Bruno Haible  <bruno@clisp.org>
50165         Integrate the regex documentation.
50166         * doc/gnulib.texi: Define 'cn' index.
50167         (Regular expressions): New a chapter that includes regex.texi and
50168         regexprops-generic.texi.
50169         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
50170         syntax.
50172         Whitespace cleanup.
50173         * doc/regex.texi: Remove trailing spaces.
50175         Add regex documentation.
50176         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
50177         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
50178         Written by Kathy A. Hargreaves and Karl Berry.
50180 2010-08-01  Bruno Haible  <bruno@clisp.org>
50182         link: Update documentation.
50183         * doc/posix-functions/link.texi: Update regarding Solaris.
50185 2010-07-31  Bruno Haible  <bruno@clisp.org>
50187         Update modules list.
50188         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
50189         (String handling <string.h>): Add memcmp2, memxfrm.
50190         (Container data structures): Add xlist, xsublist, xoset.
50191         (Core language properties): Add alignof, unused-parameter.
50192         (Process control, Numeric conversion functions <stdlib.h>): Renamed
50193         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
50194         (Unibyte characters <ctype.h>): New section.
50195         (String handling <string.h>): New section.
50196         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
50197         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
50198         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
50199         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
50200         tan, tanh, tanl, y0, y1, yn.
50201         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
50202         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
50203         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
50204         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
50205         unlockpt, vdprintf, vdprintf-posix.
50206         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
50207         (File system functions): Add concat-filename, sys_file, sys_ioctl,
50208         xconcat-filename.
50209         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
50210         getdtablesize, pipe2, pipe2-safer.
50211         (Security): New section.
50212         (Networking functions): Add accept4.
50213         (Signal handling): Add sigpipe.
50214         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
50215         mbmemcasecoll.
50216         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
50217         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
50218         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
50219         pipe-filter-ii.
50220         (Misc): Add argp-version-etc, login_tty, parse-duration.
50222 2010-07-31  Bruno Haible  <bruno@clisp.org>
50224         Improve doc in MODULES.html.
50225         * modules/linkat (Description): Add the word "function".
50226         * modules/mkfifo (Description): Likewise.
50227         * modules/mknod (Description): Likewise.
50228         * modules/remove (Description): Likewise.
50229         * modules/renameat (Description): Likewise.
50230         * modules/stat (Description): Likewise.
50231         * modules/symlink (Description): Likewise.
50232         * modules/unlink (Description): Likewise.
50234 2010-07-31  Bruno Haible  <bruno@clisp.org>
50236         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
50237         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
50238         option --enable/disable-c++ instead of --enable/disable-cxx.
50239         * NEWS: Mention the change.
50241 2010-07-31  Bruno Haible  <bruno@clisp.org>
50243         readlink, areadlink: Relax test a bit.
50244         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
50245         alternative to ENOTDIR.
50246         * tests/test-areadlink.h (test_areadlink): Likewise.
50247         Reported by Rainer Tammer.
50249 2010-07-31  Bruno Haible  <bruno@clisp.org>
50251         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
50252         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
50253         character, perform the search using U_STRCHR.
50254         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
50255         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
50256         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
50257         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
50258         Suggested by Paolo Bonzini.
50260 2010-07-31  Bruno Haible  <bruno@clisp.org>
50262         unistr/u*-strstr: Fix dependencies.
50263         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
50264         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
50265         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
50267 2010-07-31  Bruno Haible  <bruno@clisp.org>
50269         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
50270         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
50271         the beginning of the loop.
50272         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
50273         cases in 'switch' statement.
50275         unistr/u8-strchr: Fix several bugs.
50276         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
50277         the string. When not found, return NULL, not a pointer near the end.
50279         More tests for unistr/u8-strchr.
50280         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
50281         that the function does not read past the first occurrence of the byte
50282         being searched.
50283         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
50284         * tests/unistr/test-u16-strchr.c (main): New function.
50285         * tests/unistr/test-u32-strchr.c (main): New function.
50287 2010-07-31  Bruno Haible  <bruno@clisp.org>
50289         posix-modules: Ignore backup files of documentation files.
50290         * posix-modules: grep only through files named *.texi.
50292 2010-07-31  Bruno Haible  <bruno@clisp.org>
50294         symlinkat: Fix documentation.
50295         * doc/posix-functions/readlinkat.texi: Fix module name.
50297 2010-07-31  Bruno Haible  <bruno@clisp.org>
50299         fchownat: Replace also when chown has the trailing slash bug.
50300         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
50301         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
50302         introduced on 2010-04-10.
50303         Reported by Rainer Tammer.
50305 2010-07-31  Bruno Haible  <bruno@clisp.org>
50307         linkat: Work around AIX 7.1 bug.
50308         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
50309         whether linkat handles trailing slash correctly. If not, replace linkat
50310         and define LINKAT_TRAILING_SLASH_BUG.
50311         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
50312         check whether (fd1,file1) points to a directory if file1 or file2 ends
50313         in a slash. Code taken from lib/link.c.
50314         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
50315         Reported by Rainer Tammer.
50317 2010-07-31  Bruno Haible  <bruno@clisp.org>
50319         Correctly determine whether pow is available in libc on AIX 7 with xlc.
50320         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
50321         This disables an xlc optimization that was causing wrong test results.
50322         Reported by Rainer Tammer.
50324 2010-07-31  Bruno Haible  <bruno@clisp.org>
50326         iconv: Work around AIX 6.1..7.1 bug.
50327         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
50328         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
50329         cross-compiling, guess no on all versions of AIX.
50330         Reported by Rainer Tammer.
50332 2010-07-31  Bruno Haible  <bruno@clisp.org>
50334         readlink: Relax test a bit.
50335         * tests/test-readlink.h (test_readlink): Allow different errno value
50336         when readlink is called with a file name that ends in / and refers to
50337         a file.
50338         Suggested by Eric Blake.
50339         Reported by Rainer Tammer.
50341 2010-07-31  Bruno Haible  <bruno@clisp.org>
50343         copysign: Does not require -lm on glibc systems.
50344         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
50345         gl_COMMON_DOUBLE_MATHFUNC.
50346         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
50348 2010-07-31  Bruno Haible  <bruno@clisp.org>
50350         duplocale: Work around AIX 7.1 bug.
50351         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
50352         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
50353         * lib/duplocale.c (rpl_duplocale): Update comment.
50354         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
50355         Reported by Rainer Tammer.
50357 2010-07-30  Bruno Haible  <bruno@clisp.org>
50359         dirfd: Avoid link error on AIX 7.1.
50360         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
50361         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
50362         exist, set REPLACE_DIRFD.
50363         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
50364         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
50365         * doc/posix-functions/dirfd.texi: Update.
50366         Reported by Rainer Tammer.
50368 2010-07-30  Eric Blake  <eblake@redhat.com>
50370         strtod: next round of AIX fixes
50371         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
50372         exponent.
50373         * tests/test-strtod.c (main): Enhance tests.
50374         * doc/posix-functions/strtod.texi (strtod): Document next bug.
50375         Reported by Rainer Tammer.
50377         futimens: fix configure check
50378         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
50379         Reported by Bruno Haible.
50381 2010-07-30  Bruno Haible  <bruno@clisp.org>
50383         getline: Update regarding AIX.
50384         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
50385         Reported by Rainer Tammer.
50387 2010-07-30  Bruno Haible  <bruno@clisp.org>
50389         wcwidth: Drop replacement on AIX 7.
50390         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
50391         AIX 7.
50392         Reported by Rainer Tammer.
50394 2010-07-30  Bruno Haible  <bruno@clisp.org>
50396         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
50397         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
50398         a 'char *'.
50399         Reported by Rainer Tammer.
50401 2010-07-30  Bruno Haible  <bruno@clisp.org>
50403         unlink: Update regarding AIX.
50404         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
50405         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
50406         Reported by Rainer Tammer.
50408 2010-07-30  Bruno Haible  <bruno@clisp.org>
50410         symlink: Update regarding AIX.
50411         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
50412         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
50413         Reported by Rainer Tammer.
50415 2010-07-30  Bruno Haible  <bruno@clisp.org>
50417         strndup: Update regarding AIX.
50418         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
50419         AIX 7.
50420         Reported by Rainer Tammer.
50422 2010-07-30  Bruno Haible  <bruno@clisp.org>
50424         stat: Update regarding AIX.
50425         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
50426         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
50427         Reported by Rainer Tammer.
50429 2010-07-30  Bruno Haible  <bruno@clisp.org>
50431         truncl: Fix autoconf test.
50432         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
50433         whether truncl works.
50434         Reported by Rainer Tammer.
50436 2010-07-30  Bruno Haible  <bruno@clisp.org>
50438         round: Update regarding AIX.
50439         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
50440         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
50441         Reported by Rainer Tammer.
50443 2010-07-30  Bruno Haible  <bruno@clisp.org>
50445         rename: Update regarding AIX.
50446         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
50447         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
50448         Reported by Rainer Tammer.
50450 2010-07-30  Bruno Haible  <bruno@clisp.org>
50452         printf.m4: Update regarding AIX.
50453         * m4/printf.m4: Update comments regarding AIX.
50454         Reported by Rainer Tammer.
50456 2010-07-30  Bruno Haible  <bruno@clisp.org>
50458         iconv: Update regarding AIX.
50459         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
50460         AIX 7.
50461         Reported by Rainer Tammer.
50463 2010-07-30  Bruno Haible  <bruno@clisp.org>
50465         getopt: Update regarding AIX.
50466         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
50467         no on AIX.
50468         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
50469         Reported by Rainer Tammer.
50471 2010-07-30  Bruno Haible  <bruno@clisp.org>
50473         ldexpl; Update regarding AIX.
50474         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
50475         on AIX 7.
50476         Reported by Rainer Tammer.
50478 2010-07-30  Bruno Haible  <bruno@clisp.org>
50480         frexpl: Update regarding AIX.
50481         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
50482         on AIX 7.
50483         Reported by Rainer Tammer.
50485 2010-07-30  Bruno Haible  <bruno@clisp.org>
50487         open, fopen: Update regarding AIX.
50488         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
50489         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
50490         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
50491         * doc/posix-functions/fopen.texi: Likewise.
50492         Reported by Rainer Tammer.
50494 2010-07-30  Bruno Haible  <bruno@clisp.org>
50496         chown: Update doc regarding AIX.
50497         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
50498         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
50499         Reported by Rainer Tammer.
50501 2010-07-30  Eric Blake  <eblake@redhat.com>
50503         strtod: fix bug in replacement function on AIX
50504         * lib/strtod.c (strtod): Special case broken "0x" parse in
50505         underlying strtod.
50506         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
50507         * doc/posix-functions/strtod.texi (strtod): Likewise.
50508         Reported by Rainer Tammer.
50510 2010-07-30  Bruno Haible  <bruno@clisp.org>
50512         mbrlen: Fix cross-compilation guess for AIX.
50513         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
50514         guess. Leftover from 2008-12-22.
50516 2010-07-30  Bruno Haible  <bruno@clisp.org>
50518         mbrtowc: Fix cross-compilation guess for AIX.
50519         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
50520         guess. Leftover from 2008-12-21.
50522 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
50524         init.sh: work around trap limitation of some shells
50525         * tests/init.sh (setup_): Move exit trap outside of shell function.
50527 2010-07-29  Eric Blake  <eblake@redhat.com>
50529         strtod: aid debugging
50530         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
50531         understanding why strtod is rejected.
50533 2010-07-28  Bruno Haible  <bruno@clisp.org>
50535         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
50536         * lib/unistr/u8-chr.c: Include <string.h>.
50537         * tests/unistr/test-u8-chr.c: Likewise.
50538         * tests/unistr/test-u16-chr.c: Likewise.
50539         * tests/unistr/test-u32-chr.c: Likewise.
50540         * tests/unistr/test-u8-strchr.c: Likewise.
50541         * tests/unistr/test-u16-strchr.c: Likewise.
50542         * tests/unistr/test-u32-strchr.c: Likewise.
50543         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
50544         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
50545         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
50546         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
50548 2010-07-28  Bruno Haible  <bruno@clisp.org>
50550         Use spaces for indentation, not tabs.
50551         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
50553 2010-07-27  Bruno Haible  <bruno@clisp.org>
50555         mbspcasecmp: Fix function specification.
50556         * lib/string.in.h (mbspcasecmp): Fix specification comment.
50557         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
50558         Reported by Eric Blake <eblake@redhat.com>.
50560 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
50562         timespec: use cast and not conditional, as truncation isn't possible
50563         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
50564         instead of a conditional.  Comment about the situation in more detail.
50565         This undoes most of the 2009-10-29 patch.
50567 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
50569         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
50570         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
50571         * lib/unistr/u8-strchr.c: Likewise.
50572         * modules/unistr/u8-chr: Depend on memchr.
50574         unistr/u*-strchr: add tests
50575         * modules/unistr/u8-strchr-tests: New file.
50576         * modules/unistr/u16-strchr-tests: New file.
50577         * modules/unistr/u32-strchr-tests: New file.
50578         * tests/unistr/test-strchr.h: New file.
50579         * tests/unistr/test-u8-strchr.c: New file.
50580         * tests/unistr/test-u16-strchr.c: New file.
50581         * tests/unistr/test-u32-strchr.c: New file.
50583         unistr/u*-chr: test multibyte sequences more
50584         * tests/unistr/test-chr.h: Do complete testing of the characters in the
50585         test vector.
50586         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
50587         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
50588         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
50590         unistr/u*-chr: test multibyte sequences
50591         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
50593         unistr/u*-chr: prepare for multibyte tests
50594         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
50595         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
50596         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
50597         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
50598         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
50599         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
50601 2010-07-18  Bruno Haible  <bruno@clisp.org>
50603         unistr/u8-strchr: Optimize non-ASCII argument case.
50604         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
50605         because the first byte often matches anyway.
50606         Reported by Pádraig Brady <P@draigbrady.com>.
50608 2010-07-15  Karl Berry  <karl@gnu.org>
50610         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
50612 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
50614         getcwd: on Solaris, work better if ancestors are inaccessible
50615         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
50616         buffer and size, try again with a large buffer.  This works better
50617         on Solaris, since its getcwd succeeds even if the path to the root
50618         is inaccessible, and this is helpful in common cases such as .zfs
50619         hidden directories.  Problem reported by J Chapman Flack in
50620         http://lists.gnu.org/r/bug-tar/2010-06/msg00000.html
50621         Use system getcwd if it's declared, not merely if it's partly
50622         working; use the partly-working test only to avoid needless effort
50623         if the system getcwd fails.
50624         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
50625         comment that was already obsolete and is now even more obsolete.
50626         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
50627         now might call strdup.
50629 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
50631         pthread: Add enough so that coreutils/src/sort.c compiles.
50632         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
50633         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
50634         gnulib. Include <sched.h> and <time.h>, as per POSIX.
50635         Include <sys/types.h>, in case it defines pthread_t.
50636         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
50637         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
50638         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
50639         (pthread_rwlockattr_t, pthread_spinlock_t):
50640         New typedefs, if HAVE_PTHREAD_T is not defined.
50641         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
50642         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
50643         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
50644         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
50645         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
50646         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
50647         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
50648         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
50649         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
50650         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
50651         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
50652         New macros.
50653         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
50654         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
50655         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
50656         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
50657         (pthread_spin_unlock): New dummy functions.
50658         (pthread_create): Return EAGAIN; don't set errno.
50659         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
50660         require AC_C_INLINE.
50661         * modules/pthread (Depends-on): Add sched, time.
50662         (pthread.h): Use AM_V_GEN.
50664 2010-07-13  Bruno Haible  <bruno@clisp.org>
50666         striconveh: Don't malloc memory if the result buffer is sufficient.
50667         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
50668         buffer if its size is sufficient.
50669         Reported by Ludovic Courtès <ludo@gnu.org>.
50671 2010-07-13  Bruno Haible  <bruno@clisp.org>
50673         strtod: Add safety check.
50674         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
50676 2010-07-12  Bruno Haible  <bruno@clisp.org>
50678         Unify tests that set gl_cv_func_ldexpl_no_libm.
50679         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
50680         gl_FUNC_LDEXPL.
50681         (gl_FUNC_LDEXPL): Invoke it.
50682         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
50684 2010-07-12  Bruno Haible  <bruno@clisp.org>
50686         Unify tests that set gl_cv_func_ldexp_no_libm.
50687         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
50688         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
50689         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
50690         (configure.ac): Simply invoke gl_FUNC_LDEXP.
50691         * modules/strtod (Files): Add m4/ldexp.m4.
50693 2010-07-12  Bruno Haible  <bruno@clisp.org>
50695         Unify tests that set gl_cv_func_frexpl_no_libm.
50696         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
50697         gl_FUNC_FREXPL_NO_LIBM.
50698         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
50699         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
50701 2010-07-12  Bruno Haible  <bruno@clisp.org>
50703         Unify tests that set gl_cv_func_frexp_no_libm.
50704         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
50705         gl_FUNC_FREXP_NO_LIBM.
50706         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
50707         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
50709 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
50711         memcoll: clarify sizes versus lengths, document better, and tweak perf
50712         * lib/memcoll.c (strcoll_loop, memcoll0):
50713         Improve quality of descriptive comments.  Name variables
50714         consistently as to whether they are lengths (which do not include
50715         terminating null) versus sizes (which do).
50716         * lib/xmemcoll.c (xmemcoll0): Likewise.
50717         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
50718         returned when s1size == 0; this is easier to compile and saves
50719         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
50721 2010-07-12  Bruno Haible  <bruno@clisp.org>
50723         Tests for module '_Exit'.
50724         * modules/_Exit-tests: New file.
50725         * tests/test-_Exit.sh: New file.
50726         * tests/test-_Exit.c: New file.
50728         New module '_Exit'.
50729         * lib/stdlib.in.h (__attribute__): New macro.
50730         (_Exit): New declaration.
50731         * lib/_Exit.c: New file.
50732         * m4/_Exit.m4: New file.
50733         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
50734         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
50735         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
50736         * modules/_Exit: New file.
50737         * tests/test-stdlib-c++.cc (_Exit): Check signature.
50738         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
50740 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
50742         strtod: make it more-accurate typically, and don't require libm
50743         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
50744         Include limits.h.  Don't include string.h.
50745         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
50746         (locale_isspace): New function, so that no casts are needed to
50747         check whether *s is a space.
50748         (ldexp): Provide an unused dummy if not available.
50749         (scale_radix_exp, parse_number, underlying_strtod): New functions.
50750         (strtod): Use them.  This implementation prefers to use the
50751         underlying strtod if available, falling back on our own code
50752         only to fix known bugs.  This is more likely to produce an
50753         accurate result.  Also, it avoids the use of libm functions.
50754         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
50755         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
50756         was absent, but it caused a test failure with coreutils.
50757         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
50758         with libm.
50759         * modules/strtod (Makefile.am, Link): libm is no longer needed.
50760         * modules/strtod-tests (Makefile.am): Likewise.
50762 2010-07-11  Pádraig Brady  <P@draigBrady.com>
50763             Bruno Haible  <bruno@clisp.org>
50765         unistr/u8-strchr: Optimize ASCII argument case.
50766         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
50768 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
50770         (x)memcoll: minor tweaks
50771         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
50772         is after the type that it qualifies.
50773         (memcoll0): Likewise.
50774         * lib/memcoll.h (memcoll0): Likewise.
50775         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
50776         * lib/xmemcoll.h (xmemcoll0): Likewise.
50777         * lib/memcoll.c (memcoll0): Correct the comment.  This function
50778         differs from memcoll in that the NUL byte is part of the argument.
50779         Omit the abort-checks, as performance is a real issue here.  Plus,
50780         the checks were wrong anyway (an off-by-one error).  Omit local
50781         variable 'diff', as it's a bit clearer that way.
50782         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
50783         no longer needed.
50785 2010-07-08  Chen Guo  <chenguo4@yahoo.com>
50787         (x)memcoll: speedup when input is known to be NUL delimited
50788         * lib/memcoll.c: Include stdlib.
50789         (memcoll0): New function.
50790         (strcoll_loop): New function, refactored for use in both memcoll
50791         and memcoll0.
50792         * lib/memcoll.h (memcoll0): Add prototype.
50793         * lib/xmemcoll.c (xmemcoll0): New function.
50794         (collate_error): New function, refactored for use in both xmemcoll
50795         and xmemcoll0.
50796         * lib/xmemcoll.h (xmemcoll0): Add prototype.
50797         * m4/memcoll.m4: add inline invocation.
50799 2010-07-06  Pádraig Brady  <P@draigBrady.com>
50801         * build-aux/bootstrap: Remove any local translations
50802         from the translation project synchronization directory,
50803         so that local only translations are not distributed.
50805 2010-07-04  Bruno Haible  <bruno@clisp.org>
50807         fsusage: Clarify which code applies to which platforms.
50808         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
50809         platform.
50810         * lib/fsusage.c (get_fs_usage): Likewise.
50812 2010-07-04  Bruno Haible  <bruno@clisp.org>
50814         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
50815         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
50816         Reported by Martin Lambers <marlam@marlam.de>.
50818 2010-07-04  Jim Meyering  <meyering@redhat.com>
50820         hash: once again explicitly disallow insertion of NULL
50821         * lib/hash.c (hash_insert0): Reinstate just-removed test:
50822         inserting a NULL pointer cannot work with these functions.
50823         Add a comment with details.
50824         This reverts part of the 2010-07-01 commit, 5bef1a35
50825         "hash: extend module to deal with non-pointer keys".
50827 2010-07-01  Bruno Haible  <bruno@clisp.org>
50829         stdbool: Update doc.
50830         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
50831         Info from Christian Weisgerber <naddy@mips.inka.de>.
50833 2010-07-01  Jim Meyering  <meyering@redhat.com>
50835         hash: extend module to deal with non-pointer keys
50836         * lib/hash.c (hash_insert0): New interface, much like hash_insert
50837         but that allows insertion of non-pointer entries.
50838         Do not disallow an ENTRY value of NULL.
50839         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
50840         * lib/hash.h (hash_insert0): Declare.
50842 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
50844         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
50845         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
50846         not present (i.e. with autoconf 2.59 and when using gettextize, not
50847         gnulib), require AC_GNU_SOURCE instead.
50849 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
50851         idpriv-drop: Fix tests.
50852         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
50853         not to the test-idpriv-droptemp program.
50855 2010-06-29  Bruno Haible  <bruno@clisp.org>
50857         string: Fix syntax error with g++ 2.96.
50858         * lib/string.in.h (__pure__): Remove definition.
50859         (_GL_ATTRIBUTE_PURE): New macro.
50860         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
50861         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
50862         Reported by Christian Weisgerber <naddy@mips.inka.de>.
50864 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
50866         unitypes: Fix bug introduced on 2010-05-18.
50867         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
50869 2010-06-22  Eric Blake  <eblake@redhat.com>
50871         memmem: slight optimization
50872         * lib/str-two-way.h (critical_factorization): Update comments.
50873         Reduce work during factorization phase.
50874         Reported by Carlos Bueno <carlos@bueno.org>.
50876 2010-06-21  Bruno Haible  <bruno@clisp.org>
50878         Fix HAVE_CALLOC_POSIX misnomer.
50879         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
50880         !HAVE_CALLOC_POSIX.
50881         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
50882         HAVE_CALLOC_POSIX.
50883         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
50884         instead of HAVE_CALLOC_POSIX.
50885         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
50886         HAVE_CALLOC_POSIX.
50888         Use modern idiom for calloc() replacement.
50889         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
50890         AC_FUNC_CALLOC.
50891         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
50892         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
50893         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
50894         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
50895         (gl_REPLACE_CALLOC): New macro.
50897 2010-06-21  Bruno Haible  <bruno@clisp.org>
50899         Fix HAVE_REALLOC_POSIX misnomer.
50900         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
50901         !HAVE_REALLOC_POSIX.
50902         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
50903         HAVE_REALLOC_POSIX.
50904         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
50905         instead of HAVE_REALLOC_POSIX.
50906         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
50907         HAVE_REALLOC_POSIX.
50909         Use modern idiom for realloc() replacement.
50910         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
50911         AC_FUNC_REALLOC.
50912         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
50913         Autoconf's AC_FUNC_REALLOC.
50914         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
50915         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
50916         (gl_REPLACE_REALLOC): New macro.
50917         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
50919 2010-06-21  Bruno Haible  <bruno@clisp.org>
50921         Fix HAVE_MALLOC_POSIX misnomer.
50922         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
50923         !HAVE_MALLOC_POSIX.
50924         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
50925         HAVE_MALLOC_POSIX.
50926         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
50927         instead of HAVE_MALLOC_POSIX.
50928         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
50929         HAVE_MALLOC_POSIX.
50931         Use modern idiom for malloc() replacement.
50932         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
50933         AC_FUNC_MALLOC.
50934         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
50935         Autoconf's AC_FUNC_MALLOC.
50936         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
50937         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
50938         (gl_REPLACE_MALLOC): New macro.
50939         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
50941 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
50943         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
50944         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
50945         This macro takes 3 arguments, not 4.
50947 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
50949         ipv6: fix detection under mingw
50950         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
50951         in6_addr.
50953 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
50955         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
50956         that strtod() works when cross-compiling to a glibc version known
50957         to work.
50959 2010-06-15  Bruno Haible  <bruno@clisp.org>
50961         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
50963 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
50965         select: Correct timeout.
50966         * lib/select.c (rpl_select): Compute wait_timeout correctly.
50968 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
50970         git-version-gen: init shell var to avoid env var influence
50971         * build-aux/git-version-gen (v): Init shell var to empty.
50973 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
50975         priv-set: Don't assume that priv.h exists merely because getppriv does.
50976         See Jan Andersen's bug report about AIX 5L in
50977         http://lists.gnu.org/r/bug-tar/2010-06/msg00019.html
50978         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
50979         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
50980         * lib/priv-set.h: Likewise.
50981         * tests/test-priv-set.c: Likewise.
50983 2010-06-13  Bruno Haible  <bruno@clisp.org>
50985         relocatable: Make it easier to test whether to install wrappers.
50986         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
50987         RELOCATABLE_VIA_WRAPPER.
50989 2010-06-13  Bruno Haible  <bruno@clisp.org>
50991         gnulib-tool: Display specified modules and dependencies differently.
50992         * gnulib-tool (func_show_module_list): New function.
50993         (func_import, func_create_testdir): Invoke it.
50994         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
50996 2010-06-13  Bruno Haible  <bruno@clisp.org>
50998         gnulib-tool: Align code of func_import and func_create_testdir.
50999         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
51000         specified_modules.
51002 2010-06-12  Jim Meyering  <meyering@redhat.com>
51004         test-inttostr: avoid spurious failure on Solaris 9
51005         * tests/test-inttostr.c (main): Skip the test when snprintf fails
51006         to accept "%ju".  Reported by Bruno Haible.
51008 2010-06-11  Jim Meyering  <meyering@redhat.com>
51010         test-sys_socket: mark variables as used more readably
51011         * tests/test-sys_socket.c (main): Mark otherwise unused variables
51012         as "used" explicitly via (void) statement casts.  This is more
51013         readable than using them in an artificial return expression.
51014         Suggestion from Bruno Haible.
51016 2010-06-11  Bruno Haible  <bruno@clisp.org>
51018         Avoid some more warnings from "gcc -Wwrite-strings".
51019         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
51020         to 'const char *'.
51021         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
51022         * tests/test-c-strcasestr.c (main): Likewise.
51023         * tests/test-mbscasestr1.c (main): Likewise.
51024         * tests/test-mbscasestr2.c (main): Likewise.
51025         * tests/test-memmem.c (main): Likewise.
51026         * tests/test-strstr.c (main): Likewise.
51027         * tests/test-strcasestr.c (main): Likewise.
51029 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51031         init.sh: change framework_failure_ to fail with status 99, not 1
51032         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
51033         automake's parallel-tests rule that this is an unexpected failure,
51034         even if the test is listed in XFAIL_TESTS.
51036 2010-06-11  Jim Meyering  <meyering@redhat.com>
51038         test-inttostr: avoid warnings about 4-6KB literal strings
51039         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
51040         Include "macros.h", for its definition of ASSERT.
51041         (CK): s/assert/ASSERT/
51042         * modules/inttostr-tests (Files): Add macros.h.
51044         init.sh: don't use $ME_ or skip_ before they are defined
51045         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
51046         their first uses.  Also hoist their companions: warn_, fail_,
51047         framework_failure_, $stderr_fileno.  Prompted by a patch from
51048         Stefano Lattarini.
51050         test-sys_socket: avoid set-but-not-used warnings from gcc
51051         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
51052         avoid warning about set-but-not-used variables.
51054         test-xvasprintf: avoid 'const' discard warnings
51055         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
51056         "const" when assigning from literal strings.
51057         (test_xasprintf): Add "void" in function argument list to placate
51058         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
51060         tests: avoid compilation warnings in argmatch and exclude tests...
51061         in packages that define ARGMATCH_DIE_DECL, like coreutils.
51062         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
51063         Since it always exits, declare with the "noreturn" attribute.
51064         * tests/test-argmatch.c: Likewise.
51066         tests: avoid 'const' discard warnings in mbsstr tests
51067         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
51068         * tests/test-mbsstr2.c (main): Likewise.
51070         test-verify: avoid warning from gcc's -Wmissing-declarations
51071         * tests/test-verify.c (function): Declare to be static.
51073         test-inttostr.c: include <string.h> for use of strcmp
51074         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
51076         test-linkat: avoid failed assertion on "other" architectures
51077         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
51078         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
51079         sparc: https://bugs.launchpad.net/bugs/591968
51081 2010-06-11  Jim Meyering  <meyering@redhat.com>
51083         printf.m4: avoid autoconf's "Expanded Before Required" warning
51084         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
51085         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
51086         autoconf warning.
51088 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
51090         Replacement header templates are now named with ".in", not "_".
51091         * doc/gnulib-intro.texi: Correct.
51093 2010-06-10  Jim Meyering  <meyering@redhat.com>
51095         inttostr-tests: depend on snprintf, not snprintf-posix
51096         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
51097         snprintf-posix, to avoid this aclocal failure:
51098           missing file gnulib-tests/vasnprintf.c
51099           configure.ac:45: error: expected source file, required through \
51100           AC_LIBSOURCES, not found
51102 2010-06-10  Jim Meyering  <meyering@redhat.com>
51104         inttostr: add a new function, inttostr, and tests
51105         The namesake function was not available.  The existence of the
51106         template file, inttostr.c makes its addition nontrivial.
51107         * lib/anytostr.c: Rename from inttostr.c.
51108         (anytostr): Rename from inttostr.
51109         * lib/inttostr.c: New file.
51110         * modules/inttostr (Files): Add anytostr.c.
51111         (Makefile.am): Set lib_SOURCES instead of ...
51112         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
51113         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
51114         * lib/offtostr.c: Likewise.
51115         * lib/uinttostr.c: Likewise.
51116         * lib/umaxtostr.c: Likewise.
51117         * modules/inttostr-tests: New file.
51118         * tests/test-inttostr.c: New file.  Test these functions.
51120 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
51121             Bruno Haible  <bruno@clisp.org>
51123         Add "Extending Gnulib" chapter to manual.
51124         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
51125         chapter.
51126         (Extending Gnulib): New chapter.
51127         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
51128         chapter.
51130 2010-06-09  Bruno Haible  <bruno@clisp.org>
51132         Avoid relocwrapper link errors due to gnulib replacement functions.
51133         * lib/areadlink.c: Use the system's malloc, realloc functions.
51134         (areadlink): Set errno to ENOMEM explicitly.
51135         * modules/areadlink (Depends-on): Remove malloc-posix.
51136         Reported by Ben Pfaff <blp@cs.stanford.edu>.
51138 2010-06-09  Bruno Haible  <bruno@clisp.org>
51140         Avoid relocwrapper link errors due to gnulib replacement functions.
51141         * lib/canonicalize-lgpl.c: Use the system's malloc function.
51142         * lib/malloca.c: Likewise.
51143         * lib/relocatable.c: Likewise.
51144         * lib/progreloc.c: Use the system's malloc, sprintf functions.
51145         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
51146         * lib/setenv.c: Use the system's malloc, realloc functions.
51147         * lib/strerror.c: Use the system's sprintf function.
51148         Reported by Ben Pfaff <blp@cs.stanford.edu>.
51150 2010-06-04  Bruno Haible  <bruno@clisp.org>
51152         Prefer documented low-level autoconf macro names.
51153         * m4/lib-link.m4: Use m4_translit instead of translit.
51154         * m4/environ.m4: Likewise.
51155         * m4/mathfunc.m4: Likewise.
51156         * m4/onceonly.m4: Likewise.
51157         * m4/stdint.m4: Likewise.
51158         Suggested by Eric Blake.
51160 2010-06-04  Martin Lambers  <marlam@marlam.de>
51161             Bruno Haible  <bruno@clisp.org>
51163         havelib: Allow library names with '+' characters.
51164         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
51165         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
51167 2010-06-09  Bruno Haible  <bruno@clisp.org>
51169         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
51170         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
51171         realloc failed.
51173 2010-06-08  Peter Simons  <simons@cryp.to>
51175         maint.mk: make the news-check rule more configurable
51176         * top/maint.mk (news-check-lines-spec): New variable.
51177         (news-check): Use "sed -n 1,10p" in place of "head".
51179 2010-06-07  Jim Meyering  <meyering@redhat.com>
51181         do-release-commit-and-tag: fix typo in --help
51182         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
51184         regex: avoid new dead-code warning with gcc-4.6.0
51185         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
51186         if-block containing a while-loop.  It's been unused for at least
51187         5 years.
51189 2010-06-05  Bruno Haible  <bruno@clisp.org>
51191         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
51192         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
51194 2010-06-04  Bruno Haible  <bruno@clisp.org>
51196         Update to GNU gettext 0.18.1.
51197         * modules/gettext (configure.ac): Require gettext infrastructure from
51198         version 0.18.1.
51200 2010-06-03  Bruno Haible  <bruno@clisp.org>
51202         Don't use AC_LIBOBJ with file names in subdirectories.
51203         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
51204         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
51205         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
51206         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
51207         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
51208         gl_LIBUNISTRING_LIBSOURCE.
51209         (Makefile.am): Augment lib_SOURCES here, conditionally.
51210         * NEWS: Drop requirement for Automake option 'subdir-objects'.
51212 2010-06-03  Bruno Haible  <bruno@clisp.org>
51214         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
51215         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
51216         expansion does not end with a newline.
51217         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
51218         unnecessary newline.
51220 2010-06-03  Bruno Haible  <bruno@clisp.org>
51222         Reduce dependencies.
51223         * tests/test-quotearg.h: New file, extracted from
51224         tests/test-quotearg.c.
51225         * tests/test-quotearg-simple.c: New file, extracted from
51226         tests/test-quotearg.c.
51227         * tests/test-quotearg.c: Don't include <ctype.h>.
51228         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
51229         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
51230         use_quote_double_quotes, use_quotearg_colon): Moved to
51231         tests/test-quotearg.h.
51232         (results_g, flag_results, custom_quotes, custom_results): Moved
51233         to tests/test-quotearg-simple.c.
51234         (main): Moved the part that does not depend on gettext to
51235         tests/test-quotearg-simple.c. Return 77 if the test cannot be
51236         performed.
51237         * modules/quotearg-simple: New file.
51238         * modules/quotearg-simple-tests: New file.
51239         * modules/quotearg (Depends-on): Add quotearg-simple.
51240         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
51241         (Files): Add tests/test-quotearg.h.
51242         Reported by Paolo Bonzini.
51244 2010-06-03  Bruno Haible  <bruno@clisp.org>
51246         Reduce dependencies.
51247         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
51249 2010-06-03  Bruno Haible  <bruno@clisp.org>
51251         time: Undefine more broken macros.
51252         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
51253         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
51254         Reported by Eric Blake.
51256 2010-06-03  Bruno Haible  <bruno@clisp.org>
51258         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
51259         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
51260         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
51261         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
51262         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
51263         Reported by Ludovic Courtès <ludo@gnu.org>.
51265 2010-06-02  Eric Blake  <eblake@redhat.com>
51267         time: work with mingw + pthreads-win32 library
51268         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
51269         if timespec is defined only in pthread.h.
51270         * modules/time (Makefile.am): Substitute it.
51271         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
51272         <pthread.h>, when needed.
51273         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
51274         from the library.
51276 2010-05-31  Bruno Haible  <bruno@clisp.org>
51278         Avoid expanding two macros in the wrong order.
51279         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
51280         gl_LIBUNISTRING if it is defined.
51281         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
51282         autoconf >= 2.64.
51283         Reported by Ludovic Courtès <ludo@gnu.org>.
51285 2010-05-27  Jim Meyering  <meyering@redhat.com>
51287         maint.mk: also prohibit "#undef" of always-defined symbols
51288         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
51289         Allow more than one space before the symbol name.
51290         (sc_prohibit_always-defined_macros): Use grep's -E, now that
51291         the regexp uses alternation.
51293 2010-05-26  Eric Blake  <eblake@redhat.com>
51295         maint.mk: avoid echo -e
51296         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
51297         Convert all uses of echo -* to printf.
51298         Reported by Matthias Bolte.
51300 2010-05-25  Bruno Haible  <bruno@clisp.org>
51302         Update to GNU gettext 0.18, part 2.
51303         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
51304         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
51306 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51308         Add missing include in test-pwrite.c.
51309         * tests/test-pwrite.c: Include string.h, for strcmp.
51311 2010-05-24  Bruno Haible  <bruno@clisp.org>
51313         * NEWS: Mention requirement for Automake option 'subdir-objects'.
51315 2010-05-24  Bruno Haible  <bruno@clisp.org>
51317         Don't use conversion with transliteration in u{8,16,32}_strcoll.
51318         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
51319         iconveh_error argument.
51320         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
51321         U_STRCONV_TO_LOCALE.
51322         * lib/unistr/u16-strcoll.c: Likewise.
51323         * lib/unistr/u32-strcoll.c: Likewise.
51324         * modules/unistr/u8-strcoll (Depends-on): Add
51325         uniconv/u8-strconv-to-enc, localcharset. Remove
51326         uniconv/u8-strconv-to-locale.
51327         (configure.ac): Bump version number.
51328         * modules/unistr/u16-strcoll (Depends-on): Add
51329         uniconv/u16-strconv-to-enc, localcharset. Remove
51330         uniconv/u16-strconv-to-locale.
51331         (configure.ac): Bump version number.
51332         * modules/unistr/u32-strcoll (Depends-on): Add
51333         uniconv/u32-strconv-to-enc, localcharset. Remove
51334         uniconv/u32-strconv-to-locale.
51335         (configure.ac): Bump version number.
51337 2010-05-24  Bruno Haible  <bruno@clisp.org>
51339         Avoid a test failure on NetBSD 5.0.
51340         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
51341         an iconv() bug.
51343 2010-05-24  Bruno Haible  <bruno@clisp.org>
51345         Adjust #include directive style.
51346         * modules/regex (Includes): Recommend to write <regex.h>.
51348 2010-05-24  Bruno Haible  <bruno@clisp.org>
51350         regex: Don't require alloca.
51351         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
51352         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
51353         only inside if (0).
51355 2010-05-23  Jim Meyering  <meyering@redhat.com>
51357         test-renameat.c: include <sys/stat.h>
51358         * tests/test-renameat.c: Include <sys/stat.h>; required for
51359         definition of S_IS* macros.
51361 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
51363         Update maintainer documentation for 'relocatable-prog' module.
51364         * doc/relocatable-maint.texi: Update.
51365         Comments by Bruno Haible.
51367 2010-05-23  Bruno Haible  <bruno@clisp.org>
51369         git-merge-changelog: Enable --split-merged-entry by default.
51370         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
51371         (usage): Don't mention this option any more.
51372         Reported by Ralf Wildenhues.
51374 2010-05-23  Jim Meyering  <meyering@redhat.com>
51376         test-pwrite: do not leave behind a test file named "out"
51377         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
51378         The trivial-looking use of init.sh is really necessary.
51379         It ensures that the temporary file, "out", is created in
51380         a temporary directory, and removed upon termination.
51381         * tests/test-pwrite.sh: Re-add file.
51382         * modules/pwrite-tests: Reference it.
51384 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51386         Fix output redirection buglet in init.sh.
51387         * tests/init.sh: Fix redirection of stderr.
51389 2010-05-20  Simon Josefsson  <simon@josefsson.org>
51391         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
51393 2010-05-17  Simon Josefsson  <simon@josefsson.org>
51395         * modules/valgrind-tests: New file.
51396         * m4/valgrind-tests.m4: New file.
51397         * doc/valgrind-tests.texi: New file.
51398         * doc/gnulib.texi (Running self-tests under valgrind): New
51399         section.
51401 2010-05-19  Bruno Haible  <bruno@clisp.org>
51403         Clean up dead code in recent commit.
51404         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
51405         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
51406         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
51407         Suggested by Paolo Bonzini.
51409 2010-05-19  Bruno Haible  <bruno@clisp.org>
51411         Avoid valgrind error reports from libunistring.
51412         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
51413         * modules/libunistring (Files): Add it.
51414         * modules/libunistring-optional (Files): Likewise.
51416 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
51417             Bruno Haible  <bruno@clisp.org>
51419         New module 'libunistring-optional'.
51420         * modules/libunistring-optional: New file.
51421         * m4/libunistring-base.m4: New file.
51422         * m4/libunistring-optional.m4: New file.
51423         * lib/unicase.in.h: Renamed from lib/unicase.h.
51424         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
51425         * lib/unictype.in.h: Renamed from lib/unictype.h.
51426         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
51427         * lib/uniname.in.h: Renamed from lib/uniname.h.
51428         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
51429         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
51430         * lib/unistr.in.h: Renamed from lib/unistr.h.
51431         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
51432         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
51433         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
51434         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
51435         gl_LIBUNISTRING. If the library was found, determine the installed
51436         version and set LIBUNISTRING_VERSION.
51437         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
51438         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
51439         handle a configuration option --with-included-libunistring.
51440         * modules/libunistring (Files): Add m4/absolute-header.m4.
51441         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
51442         Add m4/libunistring-base.m4.
51443         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
51444         (Makefile.am): Build unicase.h from unicase.in.h.
51445         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
51446         Add m4/libunistring-base.m4.
51447         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
51448         (Makefile.am): Build uniconv.h from uniconv.in.h.
51449         * modules/unictype/base (Files): Use unictype.in.h instead of
51450         unictype.h. Add m4/libunistring-base.m4.
51451         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
51452         (Makefile.am): Build unictype.h from unictype.in.h.
51453         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
51454         Add m4/libunistring-base.m4.
51455         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
51456         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
51457         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
51458         Add m4/libunistring-base.m4.
51459         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
51460         (Makefile.am): Build uniname.h from uniname.in.h.
51461         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
51462         Add m4/libunistring-base.m4.
51463         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
51464         (Makefile.am): Build uninorm.h from uninorm.in.h.
51465         * modules/unistdio/base (Files): Use unistdio.in.h instead of
51466         unistdio.h. Add m4/libunistring-base.m4.
51467         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
51468         (Makefile.am): Build unistdio.h from unistdio.in.h.
51469         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
51470         Add m4/libunistring-base.m4.
51471         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
51472         (Makefile.am): Build unistr.h from unistr.in.h.
51473         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
51474         Add m4/libunistring-base.m4.
51475         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
51476         (Makefile.am): Build unitypes.h from unitypes.in.h.
51477         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
51478         Add m4/libunistring-base.m4.
51479         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
51480         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
51481         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
51482         uniwidth.h. Add m4/libunistring-base.m4.
51483         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
51484         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
51485         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
51486         instead of augmenting lib_SOURCES.
51487         * modules/unicase/empty-suffix-context: Likewise.
51488         * modules/unicase/locale-language: Likewise.
51489         * modules/unicase/tolower: Likewise.
51490         * modules/unicase/totitle: Likewise.
51491         * modules/unicase/toupper: Likewise.
51492         * modules/unicase/u8-casecmp: Likewise.
51493         * modules/unicase/u8-casecoll: Likewise.
51494         * modules/unicase/u8-casefold: Likewise.
51495         * modules/unicase/u8-casexfrm: Likewise.
51496         * modules/unicase/u8-ct-casefold: Likewise.
51497         * modules/unicase/u8-ct-tolower: Likewise.
51498         * modules/unicase/u8-ct-totitle: Likewise.
51499         * modules/unicase/u8-ct-toupper: Likewise.
51500         * modules/unicase/u8-is-cased: Likewise.
51501         * modules/unicase/u8-is-casefolded: Likewise.
51502         * modules/unicase/u8-is-lowercase: Likewise.
51503         * modules/unicase/u8-is-titlecase: Likewise.
51504         * modules/unicase/u8-is-uppercase: Likewise.
51505         * modules/unicase/u8-prefix-context: Likewise.
51506         * modules/unicase/u8-suffix-context: Likewise.
51507         * modules/unicase/u8-tolower: Likewise.
51508         * modules/unicase/u8-totitle: Likewise.
51509         * modules/unicase/u8-toupper: Likewise.
51510         * modules/unicase/u16-casecmp: Likewise.
51511         * modules/unicase/u16-casecoll: Likewise.
51512         * modules/unicase/u16-casefold: Likewise.
51513         * modules/unicase/u16-casexfrm: Likewise.
51514         * modules/unicase/u16-ct-casefold: Likewise.
51515         * modules/unicase/u16-ct-tolower: Likewise.
51516         * modules/unicase/u16-ct-totitle: Likewise.
51517         * modules/unicase/u16-ct-toupper: Likewise.
51518         * modules/unicase/u16-is-cased: Likewise.
51519         * modules/unicase/u16-is-casefolded: Likewise.
51520         * modules/unicase/u16-is-lowercase: Likewise.
51521         * modules/unicase/u16-is-titlecase: Likewise.
51522         * modules/unicase/u16-is-uppercase: Likewise.
51523         * modules/unicase/u16-prefix-context: Likewise.
51524         * modules/unicase/u16-suffix-context: Likewise.
51525         * modules/unicase/u16-tolower: Likewise.
51526         * modules/unicase/u16-totitle: Likewise.
51527         * modules/unicase/u16-toupper: Likewise.
51528         * modules/unicase/u32-casecmp: Likewise.
51529         * modules/unicase/u32-casecoll: Likewise.
51530         * modules/unicase/u32-casefold: Likewise.
51531         * modules/unicase/u32-casexfrm: Likewise.
51532         * modules/unicase/u32-ct-casefold: Likewise.
51533         * modules/unicase/u32-ct-tolower: Likewise.
51534         * modules/unicase/u32-ct-totitle: Likewise.
51535         * modules/unicase/u32-ct-toupper: Likewise.
51536         * modules/unicase/u32-is-cased: Likewise.
51537         * modules/unicase/u32-is-casefolded: Likewise.
51538         * modules/unicase/u32-is-lowercase: Likewise.
51539         * modules/unicase/u32-is-titlecase: Likewise.
51540         * modules/unicase/u32-is-uppercase: Likewise.
51541         * modules/unicase/u32-prefix-context: Likewise.
51542         * modules/unicase/u32-suffix-context: Likewise.
51543         * modules/unicase/u32-tolower: Likewise.
51544         * modules/unicase/u32-totitle: Likewise.
51545         * modules/unicase/u32-toupper: Likewise.
51546         * modules/unicase/ulc-casecmp: Likewise.
51547         * modules/unicase/ulc-casecoll: Likewise.
51548         * modules/unicase/ulc-casexfrm: Likewise.
51549         * modules/uniconv/u8-conv-from-enc: Likewise.
51550         * modules/uniconv/u8-conv-to-enc: Likewise.
51551         * modules/uniconv/u8-strconv-from-enc: Likewise.
51552         * modules/uniconv/u8-strconv-from-locale: Likewise.
51553         * modules/uniconv/u8-strconv-to-enc: Likewise.
51554         * modules/uniconv/u8-strconv-to-locale: Likewise.
51555         * modules/uniconv/u16-conv-from-enc: Likewise.
51556         * modules/uniconv/u16-conv-to-enc: Likewise.
51557         * modules/uniconv/u16-strconv-from-enc: Likewise.
51558         * modules/uniconv/u16-strconv-from-locale: Likewise.
51559         * modules/uniconv/u16-strconv-to-enc: Likewise.
51560         * modules/uniconv/u16-strconv-to-locale: Likewise.
51561         * modules/uniconv/u32-conv-from-enc: Likewise.
51562         * modules/uniconv/u32-conv-to-enc: Likewise.
51563         * modules/uniconv/u32-strconv-from-enc: Likewise.
51564         * modules/uniconv/u32-strconv-from-locale: Likewise.
51565         * modules/uniconv/u32-strconv-to-enc: Likewise.
51566         * modules/uniconv/u32-strconv-to-locale: Likewise.
51567         * modules/unictype/bidicategory-byname: Likewise.
51568         * modules/unictype/bidicategory-name: Likewise.
51569         * modules/unictype/bidicategory-of: Likewise.
51570         * modules/unictype/bidicategory-test: Likewise.
51571         * modules/unictype/block-list: Likewise.
51572         * modules/unictype/block-test: Likewise.
51573         * modules/unictype/category-C: Likewise.
51574         * modules/unictype/category-Cc: Likewise.
51575         * modules/unictype/category-Cf: Likewise.
51576         * modules/unictype/category-Cn: Likewise.
51577         * modules/unictype/category-Co: Likewise.
51578         * modules/unictype/category-Cs: Likewise.
51579         * modules/unictype/category-L: Likewise.
51580         * modules/unictype/category-Ll: Likewise.
51581         * modules/unictype/category-Lm: Likewise.
51582         * modules/unictype/category-Lo: Likewise.
51583         * modules/unictype/category-Lt: Likewise.
51584         * modules/unictype/category-Lu: Likewise.
51585         * modules/unictype/category-M: Likewise.
51586         * modules/unictype/category-Mc: Likewise.
51587         * modules/unictype/category-Me: Likewise.
51588         * modules/unictype/category-Mn: Likewise.
51589         * modules/unictype/category-N: Likewise.
51590         * modules/unictype/category-Nd: Likewise.
51591         * modules/unictype/category-Nl: Likewise.
51592         * modules/unictype/category-No: Likewise.
51593         * modules/unictype/category-P: Likewise.
51594         * modules/unictype/category-Pc: Likewise.
51595         * modules/unictype/category-Pd: Likewise.
51596         * modules/unictype/category-Pe: Likewise.
51597         * modules/unictype/category-Pf: Likewise.
51598         * modules/unictype/category-Pi: Likewise.
51599         * modules/unictype/category-Po: Likewise.
51600         * modules/unictype/category-Ps: Likewise.
51601         * modules/unictype/category-S: Likewise.
51602         * modules/unictype/category-Sc: Likewise.
51603         * modules/unictype/category-Sk: Likewise.
51604         * modules/unictype/category-Sm: Likewise.
51605         * modules/unictype/category-So: Likewise.
51606         * modules/unictype/category-Z: Likewise.
51607         * modules/unictype/category-Zl: Likewise.
51608         * modules/unictype/category-Zp: Likewise.
51609         * modules/unictype/category-Zs: Likewise.
51610         * modules/unictype/category-and: Likewise.
51611         * modules/unictype/category-and-not: Likewise.
51612         * modules/unictype/category-byname: Likewise.
51613         * modules/unictype/category-name: Likewise.
51614         * modules/unictype/category-none: Likewise.
51615         * modules/unictype/category-of: Likewise.
51616         * modules/unictype/category-or: Likewise.
51617         * modules/unictype/category-test: Likewise.
51618         * modules/unictype/combining-class: Likewise.
51619         * modules/unictype/ctype-alnum: Likewise.
51620         * modules/unictype/ctype-alpha: Likewise.
51621         * modules/unictype/ctype-blank: Likewise.
51622         * modules/unictype/ctype-cntrl: Likewise.
51623         * modules/unictype/ctype-digit: Likewise.
51624         * modules/unictype/ctype-graph: Likewise.
51625         * modules/unictype/ctype-lower: Likewise.
51626         * modules/unictype/ctype-print: Likewise.
51627         * modules/unictype/ctype-punct: Likewise.
51628         * modules/unictype/ctype-space: Likewise.
51629         * modules/unictype/ctype-upper: Likewise.
51630         * modules/unictype/ctype-xdigit: Likewise.
51631         * modules/unictype/decimal-digit: Likewise.
51632         * modules/unictype/digit: Likewise.
51633         * modules/unictype/mirror: Likewise.
51634         * modules/unictype/numeric: Likewise.
51635         * modules/unictype/property-alphabetic: Likewise.
51636         * modules/unictype/property-ascii-hex-digit: Likewise.
51637         * modules/unictype/property-bidi-arabic-digit: Likewise.
51638         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
51639         * modules/unictype/property-bidi-block-separator: Likewise.
51640         * modules/unictype/property-bidi-boundary-neutral: Likewise.
51641         * modules/unictype/property-bidi-common-separator: Likewise.
51642         * modules/unictype/property-bidi-control: Likewise.
51643         * modules/unictype/property-bidi-embedding-or-override: Likewise.
51644         * modules/unictype/property-bidi-eur-num-separator: Likewise.
51645         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
51646         * modules/unictype/property-bidi-european-digit: Likewise.
51647         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
51648         * modules/unictype/property-bidi-left-to-right: Likewise.
51649         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
51650         * modules/unictype/property-bidi-other-neutral: Likewise.
51651         * modules/unictype/property-bidi-pdf: Likewise.
51652         * modules/unictype/property-bidi-segment-separator: Likewise.
51653         * modules/unictype/property-bidi-whitespace: Likewise.
51654         * modules/unictype/property-byname: Likewise.
51655         * modules/unictype/property-combining: Likewise.
51656         * modules/unictype/property-composite: Likewise.
51657         * modules/unictype/property-currency-symbol: Likewise.
51658         * modules/unictype/property-dash: Likewise.
51659         * modules/unictype/property-decimal-digit: Likewise.
51660         * modules/unictype/property-default-ignorable-code-point: Likewise.
51661         * modules/unictype/property-deprecated: Likewise.
51662         * modules/unictype/property-diacritic: Likewise.
51663         * modules/unictype/property-extender: Likewise.
51664         * modules/unictype/property-format-control: Likewise.
51665         * modules/unictype/property-grapheme-base: Likewise.
51666         * modules/unictype/property-grapheme-extend: Likewise.
51667         * modules/unictype/property-grapheme-link: Likewise.
51668         * modules/unictype/property-hex-digit: Likewise.
51669         * modules/unictype/property-hyphen: Likewise.
51670         * modules/unictype/property-id-continue: Likewise.
51671         * modules/unictype/property-id-start: Likewise.
51672         * modules/unictype/property-ideographic: Likewise.
51673         * modules/unictype/property-ids-binary-operator: Likewise.
51674         * modules/unictype/property-ids-trinary-operator: Likewise.
51675         * modules/unictype/property-ignorable-control: Likewise.
51676         * modules/unictype/property-iso-control: Likewise.
51677         * modules/unictype/property-join-control: Likewise.
51678         * modules/unictype/property-left-of-pair: Likewise.
51679         * modules/unictype/property-line-separator: Likewise.
51680         * modules/unictype/property-logical-order-exception: Likewise.
51681         * modules/unictype/property-lowercase: Likewise.
51682         * modules/unictype/property-math: Likewise.
51683         * modules/unictype/property-non-break: Likewise.
51684         * modules/unictype/property-not-a-character: Likewise.
51685         * modules/unictype/property-numeric: Likewise.
51686         * modules/unictype/property-other-alphabetic: Likewise.
51687         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
51688         * modules/unictype/property-other-grapheme-extend: Likewise.
51689         * modules/unictype/property-other-id-continue: Likewise.
51690         * modules/unictype/property-other-id-start: Likewise.
51691         * modules/unictype/property-other-lowercase: Likewise.
51692         * modules/unictype/property-other-math: Likewise.
51693         * modules/unictype/property-other-uppercase: Likewise.
51694         * modules/unictype/property-paired-punctuation: Likewise.
51695         * modules/unictype/property-paragraph-separator: Likewise.
51696         * modules/unictype/property-pattern-syntax: Likewise.
51697         * modules/unictype/property-pattern-white-space: Likewise.
51698         * modules/unictype/property-private-use: Likewise.
51699         * modules/unictype/property-punctuation: Likewise.
51700         * modules/unictype/property-quotation-mark: Likewise.
51701         * modules/unictype/property-radical: Likewise.
51702         * modules/unictype/property-sentence-terminal: Likewise.
51703         * modules/unictype/property-soft-dotted: Likewise.
51704         * modules/unictype/property-space: Likewise.
51705         * modules/unictype/property-terminal-punctuation: Likewise.
51706         * modules/unictype/property-test: Likewise.
51707         * modules/unictype/property-titlecase: Likewise.
51708         * modules/unictype/property-unassigned-code-value: Likewise.
51709         * modules/unictype/property-unified-ideograph: Likewise.
51710         * modules/unictype/property-uppercase: Likewise.
51711         * modules/unictype/property-variation-selector: Likewise.
51712         * modules/unictype/property-white-space: Likewise.
51713         * modules/unictype/property-xid-continue: Likewise.
51714         * modules/unictype/property-xid-start: Likewise.
51715         * modules/unictype/property-zero-width: Likewise.
51716         * modules/unictype/scripts: Likewise.
51717         * modules/unictype/syntax-c-ident: Likewise.
51718         * modules/unictype/syntax-c-whitespace: Likewise.
51719         * modules/unictype/syntax-java-ident: Likewise.
51720         * modules/unictype/syntax-java-whitespace: Likewise.
51721         * modules/unilbrk/u8-possible-linebreaks: Likewise.
51722         * modules/unilbrk/u8-width-linebreaks: Likewise.
51723         * modules/unilbrk/u16-possible-linebreaks: Likewise.
51724         * modules/unilbrk/u16-width-linebreaks: Likewise.
51725         * modules/unilbrk/u32-possible-linebreaks: Likewise.
51726         * modules/unilbrk/u32-width-linebreaks: Likewise.
51727         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
51728         * modules/unilbrk/ulc-width-linebreaks: Likewise.
51729         * modules/uniname/uniname: Likewise.
51730         * modules/uninorm/canonical-decomposition: Likewise.
51731         * modules/uninorm/composition: Likewise.
51732         * modules/uninorm/decomposing-form: Likewise.
51733         * modules/uninorm/decomposition: Likewise.
51734         * modules/uninorm/filter: Likewise.
51735         * modules/uninorm/nfc: Likewise.
51736         * modules/uninorm/nfd: Likewise.
51737         * modules/uninorm/nfkc: Likewise.
51738         * modules/uninorm/nfkd: Likewise.
51739         * modules/uninorm/u8-normalize: Likewise.
51740         * modules/uninorm/u8-normcmp: Likewise.
51741         * modules/uninorm/u8-normcoll: Likewise.
51742         * modules/uninorm/u8-normxfrm: Likewise.
51743         * modules/uninorm/u16-normalize: Likewise.
51744         * modules/uninorm/u16-normcmp: Likewise.
51745         * modules/uninorm/u16-normcoll: Likewise.
51746         * modules/uninorm/u16-normxfrm: Likewise.
51747         * modules/uninorm/u32-normalize: Likewise.
51748         * modules/uninorm/u32-normcmp: Likewise.
51749         * modules/uninorm/u32-normcoll: Likewise.
51750         * modules/uninorm/u32-normxfrm: Likewise.
51751         * modules/unistdio/u8-asnprintf: Likewise.
51752         * modules/unistdio/u8-asprintf: Likewise.
51753         * modules/unistdio/u8-snprintf: Likewise.
51754         * modules/unistdio/u8-sprintf: Likewise.
51755         * modules/unistdio/u8-u8-asnprintf: Likewise.
51756         * modules/unistdio/u8-u8-asprintf: Likewise.
51757         * modules/unistdio/u8-u8-snprintf: Likewise.
51758         * modules/unistdio/u8-u8-sprintf: Likewise.
51759         * modules/unistdio/u8-u8-vasnprintf: Likewise.
51760         * modules/unistdio/u8-u8-vasprintf: Likewise.
51761         * modules/unistdio/u8-u8-vsnprintf: Likewise.
51762         * modules/unistdio/u8-u8-vsprintf: Likewise.
51763         * modules/unistdio/u8-vasnprintf: Likewise.
51764         * modules/unistdio/u8-vasprintf: Likewise.
51765         * modules/unistdio/u8-vsnprintf: Likewise.
51766         * modules/unistdio/u8-vsprintf: Likewise.
51767         * modules/unistdio/u16-asnprintf: Likewise.
51768         * modules/unistdio/u16-asprintf: Likewise.
51769         * modules/unistdio/u16-snprintf: Likewise.
51770         * modules/unistdio/u16-sprintf: Likewise.
51771         * modules/unistdio/u16-u16-asnprintf: Likewise.
51772         * modules/unistdio/u16-u16-asprintf: Likewise.
51773         * modules/unistdio/u16-u16-snprintf: Likewise.
51774         * modules/unistdio/u16-u16-sprintf: Likewise.
51775         * modules/unistdio/u16-u16-vasnprintf: Likewise.
51776         * modules/unistdio/u16-u16-vasprintf: Likewise.
51777         * modules/unistdio/u16-u16-vsnprintf: Likewise.
51778         * modules/unistdio/u16-u16-vsprintf: Likewise.
51779         * modules/unistdio/u16-vasnprintf: Likewise.
51780         * modules/unistdio/u16-vasprintf: Likewise.
51781         * modules/unistdio/u16-vsnprintf: Likewise.
51782         * modules/unistdio/u16-vsprintf: Likewise.
51783         * modules/unistdio/u32-asnprintf: Likewise.
51784         * modules/unistdio/u32-asprintf: Likewise.
51785         * modules/unistdio/u32-snprintf: Likewise.
51786         * modules/unistdio/u32-sprintf: Likewise.
51787         * modules/unistdio/u32-u32-asnprintf: Likewise.
51788         * modules/unistdio/u32-u32-asprintf: Likewise.
51789         * modules/unistdio/u32-u32-snprintf: Likewise.
51790         * modules/unistdio/u32-u32-sprintf: Likewise.
51791         * modules/unistdio/u32-u32-vasnprintf: Likewise.
51792         * modules/unistdio/u32-u32-vasprintf: Likewise.
51793         * modules/unistdio/u32-u32-vsnprintf: Likewise.
51794         * modules/unistdio/u32-u32-vsprintf: Likewise.
51795         * modules/unistdio/u32-vasnprintf: Likewise.
51796         * modules/unistdio/u32-vasprintf: Likewise.
51797         * modules/unistdio/u32-vsnprintf: Likewise.
51798         * modules/unistdio/u32-vsprintf: Likewise.
51799         * modules/unistdio/ulc-asnprintf: Likewise.
51800         * modules/unistdio/ulc-asprintf: Likewise.
51801         * modules/unistdio/ulc-fprintf: Likewise.
51802         * modules/unistdio/ulc-snprintf: Likewise.
51803         * modules/unistdio/ulc-sprintf: Likewise.
51804         * modules/unistdio/ulc-vasnprintf: Likewise.
51805         * modules/unistdio/ulc-vasprintf: Likewise.
51806         * modules/unistdio/ulc-vfprintf: Likewise.
51807         * modules/unistdio/ulc-vsnprintf: Likewise.
51808         * modules/unistdio/ulc-vsprintf: Likewise.
51809         * modules/unistr/u8-check: Likewise.
51810         * modules/unistr/u8-chr: Likewise.
51811         * modules/unistr/u8-cmp: Likewise.
51812         * modules/unistr/u8-cmp2: Likewise.
51813         * modules/unistr/u8-cpy: Likewise.
51814         * modules/unistr/u8-cpy-alloc: Likewise.
51815         * modules/unistr/u8-endswith: Likewise.
51816         * modules/unistr/u8-mblen: Likewise.
51817         * modules/unistr/u8-mbsnlen: Likewise.
51818         * modules/unistr/u8-mbtouc: Likewise.
51819         * modules/unistr/u8-mbtouc-unsafe: Likewise.
51820         * modules/unistr/u8-mbtoucr: Likewise.
51821         * modules/unistr/u8-move: Likewise.
51822         * modules/unistr/u8-next: Likewise.
51823         * modules/unistr/u8-prev: Likewise.
51824         * modules/unistr/u8-set: Likewise.
51825         * modules/unistr/u8-startswith: Likewise.
51826         * modules/unistr/u8-stpcpy: Likewise.
51827         * modules/unistr/u8-stpncpy: Likewise.
51828         * modules/unistr/u8-strcat: Likewise.
51829         * modules/unistr/u8-strchr: Likewise.
51830         * modules/unistr/u8-strcmp: Likewise.
51831         * modules/unistr/u8-strcoll: Likewise.
51832         * modules/unistr/u8-strcpy: Likewise.
51833         * modules/unistr/u8-strcspn: Likewise.
51834         * modules/unistr/u8-strdup: Likewise.
51835         * modules/unistr/u8-strlen: Likewise.
51836         * modules/unistr/u8-strmblen: Likewise.
51837         * modules/unistr/u8-strmbtouc: Likewise.
51838         * modules/unistr/u8-strncat: Likewise.
51839         * modules/unistr/u8-strncmp: Likewise.
51840         * modules/unistr/u8-strncpy: Likewise.
51841         * modules/unistr/u8-strnlen: Likewise.
51842         * modules/unistr/u8-strpbrk: Likewise.
51843         * modules/unistr/u8-strrchr: Likewise.
51844         * modules/unistr/u8-strspn: Likewise.
51845         * modules/unistr/u8-strstr: Likewise.
51846         * modules/unistr/u8-strtok: Likewise.
51847         * modules/unistr/u8-to-u16: Likewise.
51848         * modules/unistr/u8-to-u32: Likewise.
51849         * modules/unistr/u8-uctomb: Likewise.
51850         * modules/unistr/u16-check: Likewise.
51851         * modules/unistr/u16-chr: Likewise.
51852         * modules/unistr/u16-cmp: Likewise.
51853         * modules/unistr/u16-cmp2: Likewise.
51854         * modules/unistr/u16-cpy: Likewise.
51855         * modules/unistr/u16-cpy-alloc: Likewise.
51856         * modules/unistr/u16-endswith: Likewise.
51857         * modules/unistr/u16-mblen: Likewise.
51858         * modules/unistr/u16-mbsnlen: Likewise.
51859         * modules/unistr/u16-mbtouc: Likewise.
51860         * modules/unistr/u16-mbtouc-unsafe: Likewise.
51861         * modules/unistr/u16-mbtoucr: Likewise.
51862         * modules/unistr/u16-move: Likewise.
51863         * modules/unistr/u16-next: Likewise.
51864         * modules/unistr/u16-prev: Likewise.
51865         * modules/unistr/u16-set: Likewise.
51866         * modules/unistr/u16-startswith: Likewise.
51867         * modules/unistr/u16-stpcpy: Likewise.
51868         * modules/unistr/u16-stpncpy: Likewise.
51869         * modules/unistr/u16-strcat: Likewise.
51870         * modules/unistr/u16-strchr: Likewise.
51871         * modules/unistr/u16-strcmp: Likewise.
51872         * modules/unistr/u16-strcoll: Likewise.
51873         * modules/unistr/u16-strcpy: Likewise.
51874         * modules/unistr/u16-strcspn: Likewise.
51875         * modules/unistr/u16-strdup: Likewise.
51876         * modules/unistr/u16-strlen: Likewise.
51877         * modules/unistr/u16-strmblen: Likewise.
51878         * modules/unistr/u16-strmbtouc: Likewise.
51879         * modules/unistr/u16-strncat: Likewise.
51880         * modules/unistr/u16-strncmp: Likewise.
51881         * modules/unistr/u16-strncpy: Likewise.
51882         * modules/unistr/u16-strnlen: Likewise.
51883         * modules/unistr/u16-strpbrk: Likewise.
51884         * modules/unistr/u16-strrchr: Likewise.
51885         * modules/unistr/u16-strspn: Likewise.
51886         * modules/unistr/u16-strstr: Likewise.
51887         * modules/unistr/u16-strtok: Likewise.
51888         * modules/unistr/u16-to-u32: Likewise.
51889         * modules/unistr/u16-to-u8: Likewise.
51890         * modules/unistr/u16-uctomb: Likewise.
51891         * modules/unistr/u32-check: Likewise.
51892         * modules/unistr/u32-chr: Likewise.
51893         * modules/unistr/u32-cmp: Likewise.
51894         * modules/unistr/u32-cmp2: Likewise.
51895         * modules/unistr/u32-cpy: Likewise.
51896         * modules/unistr/u32-cpy-alloc: Likewise.
51897         * modules/unistr/u32-endswith: Likewise.
51898         * modules/unistr/u32-mblen: Likewise.
51899         * modules/unistr/u32-mbsnlen: Likewise.
51900         * modules/unistr/u32-mbtouc: Likewise.
51901         * modules/unistr/u32-mbtouc-unsafe: Likewise.
51902         * modules/unistr/u32-mbtoucr: Likewise.
51903         * modules/unistr/u32-move: Likewise.
51904         * modules/unistr/u32-next: Likewise.
51905         * modules/unistr/u32-prev: Likewise.
51906         * modules/unistr/u32-set: Likewise.
51907         * modules/unistr/u32-startswith: Likewise.
51908         * modules/unistr/u32-stpcpy: Likewise.
51909         * modules/unistr/u32-stpncpy: Likewise.
51910         * modules/unistr/u32-strcat: Likewise.
51911         * modules/unistr/u32-strchr: Likewise.
51912         * modules/unistr/u32-strcmp: Likewise.
51913         * modules/unistr/u32-strcoll: Likewise.
51914         * modules/unistr/u32-strcpy: Likewise.
51915         * modules/unistr/u32-strcspn: Likewise.
51916         * modules/unistr/u32-strdup: Likewise.
51917         * modules/unistr/u32-strlen: Likewise.
51918         * modules/unistr/u32-strmblen: Likewise.
51919         * modules/unistr/u32-strmbtouc: Likewise.
51920         * modules/unistr/u32-strncat: Likewise.
51921         * modules/unistr/u32-strncmp: Likewise.
51922         * modules/unistr/u32-strncpy: Likewise.
51923         * modules/unistr/u32-strnlen: Likewise.
51924         * modules/unistr/u32-strpbrk: Likewise.
51925         * modules/unistr/u32-strrchr: Likewise.
51926         * modules/unistr/u32-strspn: Likewise.
51927         * modules/unistr/u32-strstr: Likewise.
51928         * modules/unistr/u32-strtok: Likewise.
51929         * modules/unistr/u32-to-u16: Likewise.
51930         * modules/unistr/u32-to-u8: Likewise.
51931         * modules/unistr/u32-uctomb: Likewise.
51932         * modules/uniwbrk/u8-wordbreaks: Likewise.
51933         * modules/uniwbrk/u16-wordbreaks: Likewise.
51934         * modules/uniwbrk/u32-wordbreaks: Likewise.
51935         * modules/uniwbrk/ulc-wordbreaks: Likewise.
51936         * modules/uniwbrk/wordbreak-property: Likewise.
51937         * modules/uniwidth/u8-strwidth: Likewise.
51938         * modules/uniwidth/u8-width: Likewise.
51939         * modules/uniwidth/u16-strwidth: Likewise.
51940         * modules/uniwidth/u16-width: Likewise.
51941         * modules/uniwidth/u32-strwidth: Likewise.
51942         * modules/uniwidth/u32-width: Likewise.
51943         * modules/uniwidth/width: Likewise.
51944         * modules/unicase/cased-tests (Makefile.am): Link all test programs
51945         with $(LIBUNISTRING).
51946         * modules/unicase/ignorable-tests: Likewise.
51947         * modules/unicase/locale-language-tests: Likewise.
51948         * modules/unicase/tolower-tests: Likewise.
51949         * modules/unicase/totitle-tests: Likewise.
51950         * modules/unicase/toupper-tests: Likewise.
51951         * modules/unicase/u8-casecmp-tests: Likewise.
51952         * modules/unicase/u8-casecoll-tests: Likewise.
51953         * modules/unicase/u8-casefold-tests: Likewise.
51954         * modules/unicase/u8-is-cased-tests: Likewise.
51955         * modules/unicase/u8-is-casefolded-tests: Likewise.
51956         * modules/unicase/u8-is-lowercase-tests: Likewise.
51957         * modules/unicase/u8-is-titlecase-tests: Likewise.
51958         * modules/unicase/u8-is-uppercase-tests: Likewise.
51959         * modules/unicase/u8-tolower-tests: Likewise.
51960         * modules/unicase/u8-totitle-tests: Likewise.
51961         * modules/unicase/u8-toupper-tests: Likewise.
51962         * modules/unicase/u16-casecmp-tests: Likewise.
51963         * modules/unicase/u16-casecoll-tests: Likewise.
51964         * modules/unicase/u16-casefold-tests: Likewise.
51965         * modules/unicase/u16-is-cased-tests: Likewise.
51966         * modules/unicase/u16-is-casefolded-tests: Likewise.
51967         * modules/unicase/u16-is-lowercase-tests: Likewise.
51968         * modules/unicase/u16-is-titlecase-tests: Likewise.
51969         * modules/unicase/u16-is-uppercase-tests: Likewise.
51970         * modules/unicase/u16-tolower-tests: Likewise.
51971         * modules/unicase/u16-totitle-tests: Likewise.
51972         * modules/unicase/u16-toupper-tests: Likewise.
51973         * modules/unicase/u32-casecmp-tests: Likewise.
51974         * modules/unicase/u32-casecoll-tests: Likewise.
51975         * modules/unicase/u32-casefold-tests: Likewise.
51976         * modules/unicase/u32-is-cased-tests: Likewise.
51977         * modules/unicase/u32-is-casefolded-tests: Likewise.
51978         * modules/unicase/u32-is-lowercase-tests: Likewise.
51979         * modules/unicase/u32-is-titlecase-tests: Likewise.
51980         * modules/unicase/u32-is-uppercase-tests: Likewise.
51981         * modules/unicase/u32-tolower-tests: Likewise.
51982         * modules/unicase/u32-totitle-tests: Likewise.
51983         * modules/unicase/u32-toupper-tests: Likewise.
51984         * modules/unicase/ulc-casecmp-tests: Likewise.
51985         * modules/unicase/ulc-casecoll-tests: Likewise.
51986         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
51987         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
51988         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
51989         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
51990         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
51991         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
51992         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
51993         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
51994         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
51995         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
51996         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
51997         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
51998         * modules/unictype/bidicategory-byname-tests: Likewise.
51999         * modules/unictype/bidicategory-name-tests: Likewise.
52000         * modules/unictype/bidicategory-of-tests: Likewise.
52001         * modules/unictype/bidicategory-test-tests: Likewise.
52002         * modules/unictype/block-list-tests: Likewise.
52003         * modules/unictype/block-of-tests: Likewise.
52004         * modules/unictype/block-test-tests: Likewise.
52005         * modules/unictype/category-C-tests: Likewise.
52006         * modules/unictype/category-Cc-tests: Likewise.
52007         * modules/unictype/category-Cf-tests: Likewise.
52008         * modules/unictype/category-Cn-tests: Likewise.
52009         * modules/unictype/category-Co-tests: Likewise.
52010         * modules/unictype/category-Cs-tests: Likewise.
52011         * modules/unictype/category-L-tests: Likewise.
52012         * modules/unictype/category-Ll-tests: Likewise.
52013         * modules/unictype/category-Lm-tests: Likewise.
52014         * modules/unictype/category-Lo-tests: Likewise.
52015         * modules/unictype/category-Lt-tests: Likewise.
52016         * modules/unictype/category-Lu-tests: Likewise.
52017         * modules/unictype/category-M-tests: Likewise.
52018         * modules/unictype/category-Mc-tests: Likewise.
52019         * modules/unictype/category-Me-tests: Likewise.
52020         * modules/unictype/category-Mn-tests: Likewise.
52021         * modules/unictype/category-N-tests: Likewise.
52022         * modules/unictype/category-Nd-tests: Likewise.
52023         * modules/unictype/category-Nl-tests: Likewise.
52024         * modules/unictype/category-No-tests: Likewise.
52025         * modules/unictype/category-P-tests: Likewise.
52026         * modules/unictype/category-Pc-tests: Likewise.
52027         * modules/unictype/category-Pd-tests: Likewise.
52028         * modules/unictype/category-Pe-tests: Likewise.
52029         * modules/unictype/category-Pf-tests: Likewise.
52030         * modules/unictype/category-Pi-tests: Likewise.
52031         * modules/unictype/category-Po-tests: Likewise.
52032         * modules/unictype/category-Ps-tests: Likewise.
52033         * modules/unictype/category-S-tests: Likewise.
52034         * modules/unictype/category-Sc-tests: Likewise.
52035         * modules/unictype/category-Sk-tests: Likewise.
52036         * modules/unictype/category-Sm-tests: Likewise.
52037         * modules/unictype/category-So-tests: Likewise.
52038         * modules/unictype/category-Z-tests: Likewise.
52039         * modules/unictype/category-Zl-tests: Likewise.
52040         * modules/unictype/category-Zp-tests: Likewise.
52041         * modules/unictype/category-Zs-tests: Likewise.
52042         * modules/unictype/category-and-not-tests: Likewise.
52043         * modules/unictype/category-and-tests: Likewise.
52044         * modules/unictype/category-byname-tests: Likewise.
52045         * modules/unictype/category-name-tests: Likewise.
52046         * modules/unictype/category-none-tests: Likewise.
52047         * modules/unictype/category-of-tests: Likewise.
52048         * modules/unictype/category-or-tests: Likewise.
52049         * modules/unictype/category-test-withtable-tests: Likewise.
52050         * modules/unictype/combining-class-tests: Likewise.
52051         * modules/unictype/ctype-alnum-tests: Likewise.
52052         * modules/unictype/ctype-alpha-tests: Likewise.
52053         * modules/unictype/ctype-blank-tests: Likewise.
52054         * modules/unictype/ctype-cntrl-tests: Likewise.
52055         * modules/unictype/ctype-digit-tests: Likewise.
52056         * modules/unictype/ctype-graph-tests: Likewise.
52057         * modules/unictype/ctype-lower-tests: Likewise.
52058         * modules/unictype/ctype-print-tests: Likewise.
52059         * modules/unictype/ctype-punct-tests: Likewise.
52060         * modules/unictype/ctype-space-tests: Likewise.
52061         * modules/unictype/ctype-upper-tests: Likewise.
52062         * modules/unictype/ctype-xdigit-tests: Likewise.
52063         * modules/unictype/decimal-digit-tests: Likewise.
52064         * modules/unictype/digit-tests: Likewise.
52065         * modules/unictype/mirror-tests: Likewise.
52066         * modules/unictype/numeric-tests: Likewise.
52067         * modules/unictype/property-alphabetic-tests: Likewise.
52068         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
52069         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
52070         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
52071         * modules/unictype/property-bidi-block-separator-tests: Likewise.
52072         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
52073         * modules/unictype/property-bidi-common-separator-tests: Likewise.
52074         * modules/unictype/property-bidi-control-tests: Likewise.
52075         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
52076         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
52077         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
52078         * modules/unictype/property-bidi-european-digit-tests: Likewise.
52079         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
52080         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
52081         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
52082         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
52083         * modules/unictype/property-bidi-pdf-tests: Likewise.
52084         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
52085         * modules/unictype/property-bidi-whitespace-tests: Likewise.
52086         * modules/unictype/property-byname-tests: Likewise.
52087         * modules/unictype/property-combining-tests: Likewise.
52088         * modules/unictype/property-composite-tests: Likewise.
52089         * modules/unictype/property-currency-symbol-tests: Likewise.
52090         * modules/unictype/property-dash-tests: Likewise.
52091         * modules/unictype/property-decimal-digit-tests: Likewise.
52092         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
52093         * modules/unictype/property-deprecated-tests: Likewise.
52094         * modules/unictype/property-diacritic-tests: Likewise.
52095         * modules/unictype/property-extender-tests: Likewise.
52096         * modules/unictype/property-format-control-tests: Likewise.
52097         * modules/unictype/property-grapheme-base-tests: Likewise.
52098         * modules/unictype/property-grapheme-extend-tests: Likewise.
52099         * modules/unictype/property-grapheme-link-tests: Likewise.
52100         * modules/unictype/property-hex-digit-tests: Likewise.
52101         * modules/unictype/property-hyphen-tests: Likewise.
52102         * modules/unictype/property-id-continue-tests: Likewise.
52103         * modules/unictype/property-id-start-tests: Likewise.
52104         * modules/unictype/property-ideographic-tests: Likewise.
52105         * modules/unictype/property-ids-binary-operator-tests: Likewise.
52106         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
52107         * modules/unictype/property-ignorable-control-tests: Likewise.
52108         * modules/unictype/property-iso-control-tests: Likewise.
52109         * modules/unictype/property-join-control-tests: Likewise.
52110         * modules/unictype/property-left-of-pair-tests: Likewise.
52111         * modules/unictype/property-line-separator-tests: Likewise.
52112         * modules/unictype/property-logical-order-exception-tests: Likewise.
52113         * modules/unictype/property-lowercase-tests: Likewise.
52114         * modules/unictype/property-math-tests: Likewise.
52115         * modules/unictype/property-non-break-tests: Likewise.
52116         * modules/unictype/property-not-a-character-tests: Likewise.
52117         * modules/unictype/property-numeric-tests: Likewise.
52118         * modules/unictype/property-other-alphabetic-tests: Likewise.
52119         * modules/unictype/property-other-default-ignorable-code-point-tests:
52120         Likewise.
52121         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
52122         * modules/unictype/property-other-id-continue-tests: Likewise.
52123         * modules/unictype/property-other-id-start-tests: Likewise.
52124         * modules/unictype/property-other-lowercase-tests: Likewise.
52125         * modules/unictype/property-other-math-tests: Likewise.
52126         * modules/unictype/property-other-uppercase-tests: Likewise.
52127         * modules/unictype/property-paired-punctuation-tests: Likewise.
52128         * modules/unictype/property-paragraph-separator-tests: Likewise.
52129         * modules/unictype/property-pattern-syntax-tests: Likewise.
52130         * modules/unictype/property-pattern-white-space-tests: Likewise.
52131         * modules/unictype/property-private-use-tests: Likewise.
52132         * modules/unictype/property-punctuation-tests: Likewise.
52133         * modules/unictype/property-quotation-mark-tests: Likewise.
52134         * modules/unictype/property-radical-tests: Likewise.
52135         * modules/unictype/property-sentence-terminal-tests: Likewise.
52136         * modules/unictype/property-soft-dotted-tests: Likewise.
52137         * modules/unictype/property-space-tests: Likewise.
52138         * modules/unictype/property-terminal-punctuation-tests: Likewise.
52139         * modules/unictype/property-test-tests: Likewise.
52140         * modules/unictype/property-titlecase-tests: Likewise.
52141         * modules/unictype/property-unassigned-code-value-tests: Likewise.
52142         * modules/unictype/property-unified-ideograph-tests: Likewise.
52143         * modules/unictype/property-uppercase-tests: Likewise.
52144         * modules/unictype/property-variation-selector-tests: Likewise.
52145         * modules/unictype/property-white-space-tests: Likewise.
52146         * modules/unictype/property-xid-continue-tests: Likewise.
52147         * modules/unictype/property-xid-start-tests: Likewise.
52148         * modules/unictype/property-zero-width-tests: Likewise.
52149         * modules/unictype/scripts-tests: Likewise.
52150         * modules/unictype/syntax-c-ident-tests: Likewise.
52151         * modules/unictype/syntax-c-whitespace-tests: Likewise.
52152         * modules/unictype/syntax-java-ident-tests: Likewise.
52153         * modules/unictype/syntax-java-whitespace-tests: Likewise.
52154         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
52155         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
52156         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
52157         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
52158         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
52159         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
52160         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
52161         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
52162         * modules/uniname/uniname-tests: Likewise.
52163         * modules/uninorm/canonical-decomposition-tests: Likewise.
52164         * modules/uninorm/compat-decomposition-tests: Likewise.
52165         * modules/uninorm/composition-tests: Likewise.
52166         * modules/uninorm/decomposing-form-tests: Likewise.
52167         * modules/uninorm/decomposition-tests: Likewise.
52168         * modules/uninorm/filter-tests: Likewise.
52169         * modules/uninorm/nfc-tests: Likewise.
52170         * modules/uninorm/nfd-tests: Likewise.
52171         * modules/uninorm/nfkc-tests: Likewise.
52172         * modules/uninorm/nfkd-tests: Likewise.
52173         * modules/uninorm/u8-normcmp-tests: Likewise.
52174         * modules/uninorm/u8-normcoll-tests: Likewise.
52175         * modules/uninorm/u16-normcmp-tests: Likewise.
52176         * modules/uninorm/u16-normcoll-tests: Likewise.
52177         * modules/uninorm/u32-normcmp-tests: Likewise.
52178         * modules/uninorm/u32-normcoll-tests: Likewise.
52179         * modules/unistdio/u8-asnprintf-tests: Likewise.
52180         * modules/unistdio/u8-vasnprintf-tests: Likewise.
52181         * modules/unistdio/u8-vasprintf-tests: Likewise.
52182         * modules/unistdio/u8-vsnprintf-tests: Likewise.
52183         * modules/unistdio/u8-vsprintf-tests: Likewise.
52184         * modules/unistdio/u16-asnprintf-tests: Likewise.
52185         * modules/unistdio/u16-vasnprintf-tests: Likewise.
52186         * modules/unistdio/u16-vasprintf-tests: Likewise.
52187         * modules/unistdio/u16-vsnprintf-tests: Likewise.
52188         * modules/unistdio/u16-vsprintf-tests: Likewise.
52189         * modules/unistdio/u32-asnprintf-tests: Likewise.
52190         * modules/unistdio/u32-vasnprintf-tests: Likewise.
52191         * modules/unistdio/u32-vasprintf-tests: Likewise.
52192         * modules/unistdio/u32-vsnprintf-tests: Likewise.
52193         * modules/unistdio/u32-vsprintf-tests: Likewise.
52194         * modules/unistdio/ulc-asnprintf-tests: Likewise.
52195         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
52196         * modules/unistdio/ulc-vasprintf-tests: Likewise.
52197         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
52198         * modules/unistdio/ulc-vsprintf-tests: Likewise.
52199         * modules/unistr/u8-check-tests: Likewise.
52200         * modules/unistr/u8-chr-tests: Likewise.
52201         * modules/unistr/u8-cmp-tests: Likewise.
52202         * modules/unistr/u8-cmp2-tests: Likewise.
52203         * modules/unistr/u8-cpy-alloc-tests: Likewise.
52204         * modules/unistr/u8-cpy-tests: Likewise.
52205         * modules/unistr/u8-mblen-tests: Likewise.
52206         * modules/unistr/u8-mbsnlen-tests: Likewise.
52207         * modules/unistr/u8-mbtouc-tests: Likewise.
52208         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
52209         * modules/unistr/u8-mbtoucr-tests: Likewise.
52210         * modules/unistr/u8-move-tests: Likewise.
52211         * modules/unistr/u8-next-tests: Likewise.
52212         * modules/unistr/u8-prev-tests: Likewise.
52213         * modules/unistr/u8-set-tests: Likewise.
52214         * modules/unistr/u8-stpcpy-tests: Likewise.
52215         * modules/unistr/u8-stpncpy-tests: Likewise.
52216         * modules/unistr/u8-strcat-tests: Likewise.
52217         * modules/unistr/u8-strcmp-tests: Likewise.
52218         * modules/unistr/u8-strcoll-tests: Likewise.
52219         * modules/unistr/u8-strcpy-tests: Likewise.
52220         * modules/unistr/u8-strdup-tests: Likewise.
52221         * modules/unistr/u8-strlen-tests: Likewise.
52222         * modules/unistr/u8-strmblen-tests: Likewise.
52223         * modules/unistr/u8-strmbtouc-tests: Likewise.
52224         * modules/unistr/u8-strncat-tests: Likewise.
52225         * modules/unistr/u8-strncmp-tests: Likewise.
52226         * modules/unistr/u8-strncpy-tests: Likewise.
52227         * modules/unistr/u8-strnlen-tests: Likewise.
52228         * modules/unistr/u8-to-u16-tests: Likewise.
52229         * modules/unistr/u8-to-u32-tests: Likewise.
52230         * modules/unistr/u8-uctomb-tests: Likewise.
52231         * modules/unistr/u16-check-tests: Likewise.
52232         * modules/unistr/u16-chr-tests: Likewise.
52233         * modules/unistr/u16-cmp-tests: Likewise.
52234         * modules/unistr/u16-cmp2-tests: Likewise.
52235         * modules/unistr/u16-cpy-alloc-tests: Likewise.
52236         * modules/unistr/u16-cpy-tests: Likewise.
52237         * modules/unistr/u16-mblen-tests: Likewise.
52238         * modules/unistr/u16-mbsnlen-tests: Likewise.
52239         * modules/unistr/u16-mbtouc-tests: Likewise.
52240         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
52241         * modules/unistr/u16-mbtoucr-tests: Likewise.
52242         * modules/unistr/u16-move-tests: Likewise.
52243         * modules/unistr/u16-next-tests: Likewise.
52244         * modules/unistr/u16-prev-tests: Likewise.
52245         * modules/unistr/u16-set-tests: Likewise.
52246         * modules/unistr/u16-stpcpy-tests: Likewise.
52247         * modules/unistr/u16-stpncpy-tests: Likewise.
52248         * modules/unistr/u16-strcat-tests: Likewise.
52249         * modules/unistr/u16-strcmp-tests: Likewise.
52250         * modules/unistr/u16-strcoll-tests: Likewise.
52251         * modules/unistr/u16-strcpy-tests: Likewise.
52252         * modules/unistr/u16-strdup-tests: Likewise.
52253         * modules/unistr/u16-strlen-tests: Likewise.
52254         * modules/unistr/u16-strmblen-tests: Likewise.
52255         * modules/unistr/u16-strmbtouc-tests: Likewise.
52256         * modules/unistr/u16-strncat-tests: Likewise.
52257         * modules/unistr/u16-strncmp-tests: Likewise.
52258         * modules/unistr/u16-strncpy-tests: Likewise.
52259         * modules/unistr/u16-strnlen-tests: Likewise.
52260         * modules/unistr/u16-to-u32-tests: Likewise.
52261         * modules/unistr/u16-to-u8-tests: Likewise.
52262         * modules/unistr/u16-uctomb-tests: Likewise.
52263         * modules/unistr/u32-check-tests: Likewise.
52264         * modules/unistr/u32-chr-tests: Likewise.
52265         * modules/unistr/u32-cmp-tests: Likewise.
52266         * modules/unistr/u32-cmp2-tests: Likewise.
52267         * modules/unistr/u32-cpy-alloc-tests: Likewise.
52268         * modules/unistr/u32-cpy-tests: Likewise.
52269         * modules/unistr/u32-mblen-tests: Likewise.
52270         * modules/unistr/u32-mbsnlen-tests: Likewise.
52271         * modules/unistr/u32-mbtouc-tests: Likewise.
52272         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
52273         * modules/unistr/u32-mbtoucr-tests: Likewise.
52274         * modules/unistr/u32-move-tests: Likewise.
52275         * modules/unistr/u32-next-tests: Likewise.
52276         * modules/unistr/u32-prev-tests: Likewise.
52277         * modules/unistr/u32-set-tests: Likewise.
52278         * modules/unistr/u32-stpcpy-tests: Likewise.
52279         * modules/unistr/u32-stpncpy-tests: Likewise.
52280         * modules/unistr/u32-strcat-tests: Likewise.
52281         * modules/unistr/u32-strcmp-tests: Likewise.
52282         * modules/unistr/u32-strcoll-tests: Likewise.
52283         * modules/unistr/u32-strcpy-tests: Likewise.
52284         * modules/unistr/u32-strdup-tests: Likewise.
52285         * modules/unistr/u32-strlen-tests: Likewise.
52286         * modules/unistr/u32-strmblen-tests: Likewise.
52287         * modules/unistr/u32-strmbtouc-tests: Likewise.
52288         * modules/unistr/u32-strncat-tests: Likewise.
52289         * modules/unistr/u32-strncmp-tests: Likewise.
52290         * modules/unistr/u32-strncpy-tests: Likewise.
52291         * modules/unistr/u32-strnlen-tests: Likewise.
52292         * modules/unistr/u32-to-u16-tests: Likewise.
52293         * modules/unistr/u32-to-u8-tests: Likewise.
52294         * modules/unistr/u32-uctomb-tests: Likewise.
52295         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
52296         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
52297         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
52298         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
52299         * modules/uniwidth/u8-strwidth-tests: Likewise.
52300         * modules/uniwidth/u8-width-tests: Likewise.
52301         * modules/uniwidth/u16-strwidth-tests: Likewise.
52302         * modules/uniwidth/u16-width-tests: Likewise.
52303         * modules/uniwidth/u32-strwidth-tests: Likewise.
52304         * modules/uniwidth/u32-width-tests: Likewise.
52305         * modules/uniwidth/width-tests: Likewise.
52307 2010-05-18  Richard Jones  <rjones@redhat.com>
52309         doc: users.txt: list hivex
52310         * users.txt: Add hivex.
52312 2010-05-18  Richard Jones  <rjones@redhat.com>
52314         doc: users.txt: list febootstrap
52315         * users.txt: Add febootstrap.
52317 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
52319         bootstrap: fix an error when gnulib is not used as a git submodule
52320         * build-aux/bootstrap (gnulib_path): If its length is zero then
52321         assign "gnulib" to it.
52322         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
52324 2010-05-16  Bruno Haible  <bruno@clisp.org>
52326         Avoid autoconf warnings about AM_ICONV.
52327         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
52328         2.64.
52330 2010-05-16  Bruno Haible  <bruno@clisp.org>
52332         absolute-header: Make the macro usable in more situations.
52333         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
52334         from gl_ABSOLUTE_HEADER.
52335         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
52337 2010-05-16  James Youngman  <jay@gnu.org>
52339         doc: update users.txt
52340         * users.txt: Add CSSC.
52342 2010-05-16  Jim Meyering  <meyering@redhat.com>
52344         init.sh: fix an error in the previous change; add more comments
52345         * tests/init.sh: Compare exit code in loop against 9, not 2.
52346         Patch by Bruno Haible.
52347         Make the two tests more similar by adding an empty "then" clause.
52348         Add comments.
52350         init.sh: avoid unnecessary shell re-exec
52351         * tests/init.sh: Improve the re-exec-required check to first test the
52352         current shell.  If it passes the test, do not search for a shell that
52353         does pass, and do not re-exec.  This test is particularly contorted to
52354         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
52355         of $(...) evokes a syntax error and causes immediate shell exit with
52356         status 2.  Bruno Haible reported that the re-exec made it impossible
52357         to single-step through any init.sh-using script.
52359 2010-05-16  Bruno Haible  <bruno@clisp.org>
52361         Fix collision between gnulib's and libintl's printf replacements.
52362         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
52363         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
52364         (printf): When using GNU C, map the __printf__ function to rpl_printf
52365         via __asm__. When not using GNU C, define rpl_printf instead of
52366         __printf__.
52367         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
52368         commit.
52369         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
52370         commit.
52371         * m4/asm-underscore.m4: New file.
52372         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
52373         * modules/stdio (Files): Add m4/asm-underscore.m4.
52374         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
52375         Reported by Ben Pfaff.
52377 2010-05-16  Bruno Haible  <bruno@clisp.org>
52379         verify: Avoid skipping the test on openSUSE 11.0.
52380         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
52382 2010-05-13  Bruno Haible  <bruno@clisp.org>
52384         Avoid useless warnings from G++.
52385         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
52386         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
52387         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
52389 2010-05-11  Jim Meyering  <meyering@redhat.com>
52391         maint.mk: tweak preceding change
52392         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
52393         regexps tighter by anchoring at EOL, and make the new group "shy"
52394         for slightly decreased overhead.
52396 2010-05-11  Eric Blake  <eblake@redhat.com>
52398         maint.mk: gnulib doesn't guarantee NSIG
52399         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
52401 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
52403         test-pwrite.c: Remove unused variable declaration.
52404         * tests/test-pwrite.c (main): Remove read_buf declaration.
52406         Remove useless test-pwrite.sh file.
52407         * tests/test-pwrite.sh: Delete file.
52408         * modules/pwrite-tests: Remove references.
52409         Reported by Bruno Haible.
52411 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
52413         init.sh: fix a typo
52414         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
52416 2010-05-10  Jim Meyering  <meyering@redhat.com>
52418         maint.mk: avoid using a temporary file in the always-defined-macros check
52419         * top/maint.mk (.re-defmac): Remove rule.
52420         (gl_trap_): Remove definition.
52421         (sc_prohibit_always-defined_macros): Rewrite not to create and
52422         depend on a temporary file.  Instead, depend on GNU grep's ability
52423         to read a list of regular expressions from stdin when given "-f -".
52425 2010-05-09  Bruno Haible  <bruno@clisp.org>
52427         Update to GNU gettext 0.18, part 1.
52428         * m4/gettext.m4: Update to GNU gettext 0.18.
52429         * m4/intl.m4: Likewise.
52430         * m4/po.m4: Likewise.
52431         * modules/gettext (Files): Add m4/fcntl-o.m4.
52432         (configure.ac): Require gettext infrastructure from version 0.18.
52434 2010-05-09  Jim Meyering  <meyering@redhat.com>
52436         init.sh: enable MALLOC_PERTURB_
52437         * tests/init.sh: Enable glibc's malloc-perturbing option.
52439         maint.mk: improve sc_cross_check_PATH_usage_in_tests
52440         With my recent change in init.sh from the two-line form:
52441             -#   : ${srcdir=.}
52442             -#   . "$srcdir/init.sh"; path_prepend_ .
52443             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
52444         I noticed that using the one-line form would cause this test
52445         to fail with a false-positive, or to stop working altogether,
52446         depending on whether help-version changed or all the tests did.
52447         * top/maint.mk (_hv_regex): Remove this definition.
52448         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
52449         (_hv_regex_strong): Use a stronger regex to check for conformance.
52450         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
52451         Give a separate diagnostic for lack of conforming use.
52453         maint.mk: prohibit definition of symbols defined by gnulib
52454         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
52455         definition of symbols defined by gnulib.
52457 2010-05-09  Bruno Haible  <bruno@clisp.org>
52459         acl: Avoid test failure on Cygwin-hosted mingw.
52460         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
52462 2010-05-09  Bruno Haible  <bruno@clisp.org>
52464         error: Use system's fcntl function.
52465         * lib/error.c (fcntl): Undefine.
52467 2010-05-09  Jim Meyering  <meyering@redhat.com>
52469         verify: adjust formatting to be more consistent
52470         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
52471         argument-list '('s, and after one comma.
52473 2010-05-09  Bruno Haible  <bruno@clisp.org>
52475         error: More reliable output on mingw.
52476         * lib/error.c: Include <windows.h>.
52477         (is_open): New function.
52478         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
52479         defined.
52481 2010-05-09  Bruno Haible  <bruno@clisp.org>
52483         vasnprintf: Fix syntax errors in libintl build on mingw.
52484         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
52485         pad_ourselves and prec_ourselves after use.
52487 2010-05-08  Bruno Haible  <bruno@clisp.org>
52489         * lib/config.charset: Update comments for Cygwin 1.7.
52490         * lib/localcharset.c: Likewise.
52492 2010-05-07  Jim Meyering  <meyering@redhat.com>
52494         init.sh: improve comments
52495         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
52496         . "${srcdir=.}/init.sh"; path_prepend_ .
52497         Add a note about path_prepend_ and the alternative of using
52498         TESTS_ENVIRONMENT.
52500 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
52502         exclude: Unescape hashed patterns in wildcard mode.
52503         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
52504         to the hash list.
52505         * tests/test-exclude8.sh: New test case.
52506         * modules/exclude-tests: Add new test.
52508 2010-05-05  Eric Blake  <eblake@redhat.com>
52510         verify: automate tests
52511         * modules/verify-tests: New module.
52512         * tests/test-verify.sh: New file.
52513         * tests/test-verify.c: Guard each negative test with a unique id.
52514         Also avoid warning about unused left hand of comma expressions.
52516 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
52518         Further improvements to verify.h, suggested by Eric Blake.
52519         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
52520         the GL_* versions, to avoid collision with OpenGL.
52521         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
52522         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
52523         than testing merely whether it's defined.
52525         Modify verify.h to pacify gcc -Wredundant_decls.
52526         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
52527         These use the prefix "GL_" since they're likely to be useful elsewhere.
52528         We may need to break them out into a different .h file.
52529         (__COUNTER__): Define to 0 if the compiler doesn't support it.
52530         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
52531         of verify_function__.
52533 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
52535         Tests for module pwrite.
52536         * modules/pwrite-tests: New file.
52537         * tests/test-pwrite.sh: New file.
52538         * tests/test-pwrite.c: New file.
52540         New module pwrite.
52541         * lib/unistd.in.h (pwrite): New declaration.
52542         * lib/pwrite.c: New file, from glibc with modifications.
52543         * m4/pwrite.m4: New file.
52544         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
52545         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
52546         REPLACE_PWRITE.
52547         * modules/pwrite: New file.
52548         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
52549         REPLACE_PWRITE.
52550         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
52551         * doc/posix-functions/pwrite.texi: Mention the new module.
52553 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
52555         pread: Update documentation.
52556         * doc/posix-functions/pread.texi: Mention the 'pread' module.
52558 2010-05-04  Eric Blake  <eblake@redhat.com>
52560         docs: update cygwin progress
52561         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
52562         this bug.
52563         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
52564         Added in cygwin 1.7.2.
52565         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
52566         Likewise.
52567         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
52568         Likewise.
52569         * doc/glibc-functions/dup3.texi (dup3): Likewise.
52570         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
52571         * doc/glibc-functions/accept4.texi (accept4): Likewise.
52572         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
52573         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
52574         Mention nproc module.
52575         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
52576         bug in cygwin 1.7.5 addition.
52577         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
52578         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
52579         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
52580         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
52581         1.7.5.
52582         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
52583         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
52584         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
52585         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
52586         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
52587         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
52588         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
52589         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
52590         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
52591         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
52592         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
52593         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
52594         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
52595         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
52596         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
52597         Likewise.
52598         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
52599         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
52600         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
52601         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
52602         Likewise.
52603         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
52604         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
52605         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
52606         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
52607         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
52608         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
52609         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
52610         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
52611         Likewise.
52612         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
52613         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
52614         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
52615         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
52616         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
52617         Likewise.
52618         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
52619         Likewise.
52620         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
52621         Likewise.
52622         * doc/glibc-functions/xdrrec_endofrecord.texi
52623         (xdrrec_endofrecord): Likewise.
52624         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
52625         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
52626         Likewise.
52627         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
52628         Likewise.
52630 2010-05-04  Jim Meyering  <meyering@redhat.com>
52632         gendocs.sh: make its "-s FILE" option more useful
52633         * build-aux/gendocs.sh: When honoring the -s FILE option, update
52634         $PACKAGE to reflect the probably-different basename of "FILE".
52636 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
52638         bootstrap: don't ignore download_po_files failure
52639         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
52640         failure.
52642 2010-05-03  Jim Meyering  <meyering@redhat.com>
52644         maint.mk: allow to pass options to gendocs.sh
52645         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
52646         (gendocs_options_): New overridable variable.
52648         gnu-web-doc-update: don't ignore configure or build failure
52649         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
52651         announce-gen: backslash-escape '@'s in --help output
52652         * build-aux/announce-gen: Fix syntax errors.
52654         maint.mk, announce-gen: allow project-specific announcement mail headers
52655         * top/maint.mk (translation_project_): Define default.
52656         (announcement_Cc_, announcement_mail_headers_): Likewise.
52657         (announcement): Invoke announce-gen with new --mail-headers option.
52658         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
52660         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
52661         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
52662         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
52663         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
52664         line in the "err2" output file when running "make check" in verbose
52665         mode (i.e., with set -x enabled).
52667 2010-05-03  Bruno Haible  <bruno@clisp.org>
52669         wctob: Fix for weird platforms.
52670         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
52671         argument value.
52673 2010-05-03  Jim Meyering  <meyering@redhat.com>
52675         maint.mk: prohibit unwarranted use of <strings.h>
52676         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
52677         strings.h in a file that does not also use strcasecmp, strncasecmp,
52678         ffs or ffsll.
52680         maint.mk: remove obsolete comments
52681         * top/maint.mk: Remove stale, commented-out rules.
52683 2010-05-02  Bruno Haible  <bruno@clisp.org>
52685         wcwidth: Declare also when it's aliased.
52686         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
52687         macro.
52689 2010-05-02  Bruno Haible  <bruno@clisp.org>
52691         Fix regression from 2010-04-25.
52692         * gnulib-tool (func_modules_transitive_closure): Check the status of
52693         all modules, not only of the tests that are of the form foo-tests where
52694         foo is a module.
52696 2010-05-02  Bruno Haible  <bruno@clisp.org>
52698         wctob: Work around nasty Cygwin 1.7.2 bug.
52699         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
52700         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
52702 2010-05-01  Bruno Haible  <bruno@clisp.org>
52704         fpurge: Sharper test.
52705         * tests/test-fpurge.c (main): Add one more ftell check.
52706         * modules/fpurge-tests (Depends-on): Add ftell.
52707         Suggested by Eric Blake.
52709 2010-05-01  Bruno Haible  <bruno@clisp.org>
52711         ftello: Another test.
52712         * tests/test-ftello3.c: New file.
52713         * modules/ftello-tests (Files): Add it.
52714         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
52715         MOSTLYCLEANFILES.
52717         ftell: Another test.
52718         * tests/test-ftell3.c: New file.
52719         * modules/ftell-tests (Files): Add it.
52720         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
52721         MOSTLYCLEANFILES.
52723 2010-05-01  Bruno Haible  <bruno@clisp.org>
52725         ftell, ftello: Work around Solaris bug.
52726         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
52727         * lib/ftello.c: Include stdio-impl.h.
52728         (ftello): On Solaris, when _IOWRT is set, compute the result without
52729         looking at _IOREAD.
52730         * modules/ftello (Files): Add lib/stdio-impl.h.
52731         * doc/posix-functions/ftell.texi: Mention Solaris bug.
52732         * doc/posix-functions/ftello.texi: Likewise.
52733         Reported by Eric Blake.
52735 2010-05-01  Bruno Haible  <bruno@clisp.org>
52737         freading: Adapt to special meaning of _IOREAD flag on Solaris.
52738         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
52739         the _IOWRT flag is also set.
52741 2010-05-01  Bruno Haible  <bruno@clisp.org>
52743         Fix doc about a HP-UX stdio bug.
52744         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
52745         * doc/posix-functions/ftello.texi: Likewise.
52747 2010-05-01  Bruno Haible  <bruno@clisp.org>
52749         lseek test: Fix failure on Solaris.
52750         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
52751         output.
52753 2010-04-30  Jim Meyering  <meyering@redhat.com>
52755         bootstrap: don't ignore failure to generate po*/Makevars
52756         * build-aux/bootstrap (with_gettext): Don't ignore failure
52757         to create po/Makevars or runtime-po/Makevars.
52759 2010-04-29  Eric Blake  <eblake@redhat.com>
52761         headers: relax license to LGPLv2+
52762         * modules/fcntl-h (License): Relax license.
52763         * modules/getopt-posix (License): Likewise.
52764         * modules/locale (License): Likewise.
52765         * modules/math (License): Likewise.
52766         * modules/pty (License): Likewise.
52767         * modules/sched (License): Likewise.
52768         * modules/search (License): Likewise.
52769         * modules/spawn (License): Likewise.
52770         * modules/stdarg (License): Likewise.
52771         * modules/sysexits (License): Likewise.
52773 2010-04-29  Jim Meyering  <meyering@redhat.com>
52775         inttypes: relax license to LGPLv2+
52776         * modules/inttypes (License): Relax license.
52778 2010-04-29  Simon Josefsson  <simon@josefsson.org>
52780         * top/maint.mk (indent): Run twice to produce idempotent results.
52782 2010-04-28  Bruno Haible  <bruno@clisp.org>
52784         getdate: Generate getdate.c in the source directory.
52785         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
52786         MOSTLYCLEANFILES.
52787         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
52789 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
52791         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
52792         is not declared as a const *; avoid warnings in that case.
52794 2010-04-28  Eric Blake  <eblake@redhat.com>
52796         canonicalize-lgpl: avoid compiler warning
52797         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
52798         declaration' / 'extraneous semicolon' warning with some compilers.
52799         Reported by Andreas Gruenbacher.
52801 2010-04-28  Jim Meyering  <meyering@redhat.com>
52803         init.sh: ensure a more reliable exit status when exiting via trap
52804         * tests/init.sh (setup_): Don't rely on $? in signal handler.
52805         Inspired by patches from Dmitry V. Levin.
52806         Also trap on signal 3 (SIGQUIT).
52808 2010-04-27  Bruno Haible  <bruno@clisp.org>
52810         Update doc about utimes().
52811         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
52812         'utimens' module.
52813         Reported by Andreas Gruenbacher <agruen@suse.de>.
52815 2010-04-27  Eric Blake  <eblake@redhat.com>
52817         full-read, full-write: relax license
52818         * modules/full-read (License): Drop to LGPLv2+.
52819         * modules/full-write (License): Likewise.
52820         * modules/safe-read (License): Likewise.
52821         * modules/safe-write (License): Likewise.
52823         pthread: mention library for linking
52824         * modules/pthread (Link): Mention $(LIB_PTHREAD).
52826 2010-04-27  Jim Meyering  <meyering@redhat.com>
52828         maint.mk: fix a bug introduced in last change
52829         * top/maint.mk (gl_assured_headers_): Now that all names are on
52830         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
52831         is not anchored to end of word, it should be adequate.
52833         maint.mk: avoid side-effect in latest syntax-check
52834         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
52835         to run commands via $(shell...), and hence to incur cost only when
52836         the new rule is actually run.
52838         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
52839         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
52840         and use that to create a regexp used to detect all #if HAVE_..._H uses.
52841         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
52842         (gl_assured_headers_, az_, AZ_): Define.
52843         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
52845 2010-04-26  Jim Meyering  <jim@meyering.net>
52846             Bruno Haible  <bruno@clisp.org>
52848         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
52849         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
52850         Prompted by an exchange with Gilles Espinasse.
52852 2010-04-26  Jim Meyering  <meyering@redhat.com>
52854         git-version-gen: aesthetic tweak
52855         * build-aux/git-version-gen: Use "$nl" rather than a literal,
52856         so that the command remains on a single line.
52858 2010-04-26  Eric Blake  <eblake@redhat.com>
52860         git-version-gen: allow use on EBCDIC hosts
52861         * build-aux/git-version-gen (dirty): Use literal rather than tying
52862         ourselves to ascii.
52863         Reported by Steve Goetze.
52865 2010-04-25  Bruno Haible  <bruno@clisp.org>
52867         netdb: Add support for GNULIB_POSIXCHECK.
52868         * lib/netdb.in.h: Include warn-on-use.h.
52869         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
52870         functions are used when GNULIB_POSIXCHECK is defined and the
52871         getaddrinfo module is not in use.
52872         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
52873         freeaddrinfo, gai_strerror, getnameinfo are declared.
52874         * modules/netdb (Depends-on): Add warn-on-use.
52875         (Makefile.am): Include warn-on-use.h in netdb.h.
52877 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
52879         build: avoid "make check" failure without .git/ directory
52880         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
52881         there is no .git/ directory.
52883 2010-04-25  Bruno Haible  <bruno@clisp.org>
52885         ptsname: Fix misuse of ttyname_r.
52886         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
52887         of errno.
52889 2010-04-25  Bruno Haible  <bruno@clisp.org>
52891         ttyname_r: Make it work on Solaris 10.
52892         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
52893         if the system function has the POSIX declaration. Test whether the
52894         function fails if the buffer is less than 128 bytes large.
52895         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
52896         system's ttyname_r function. Provide a reasonably large buffer.
52897         * modules/ttyname_r (Depends-on): Add extensions.
52898         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
52900 2010-04-25  Bruno Haible  <bruno@clisp.org>
52902         Use the 'extensions' module for some more functions on Solaris.
52903         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
52904         module.
52905         * doc/posix-functions/ctime_r.texi: Likewise.
52906         * doc/posix-functions/getgrgid_r.texi: Likewise.
52907         * doc/posix-functions/getgrnam_r.texi: Likewise.
52908         * doc/posix-functions/getpwnam_r.texi: Likewise.
52909         * doc/posix-functions/getpwuid_r.texi: Likewise.
52910         * doc/posix-functions/readdir_r.texi: Likewise.
52911         * doc/posix-functions/sigwait.texi: Likewise.
52912         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
52913         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
52915 2010-04-25  Bruno Haible  <bruno@clisp.org>
52917         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
52918         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
52919         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
52920         * lib/ttyname_r.c: Include <limits.h>.
52921         (ttyname_r): Define using the system's ttyname_r function, if it exists
52922         and not on Solaris.
52923         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
52924         set.
52925         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
52926         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
52927         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
52928         Reported by Simon Josefsson.
52930 2010-04-25  Bruno Haible  <bruno@clisp.org>
52932         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
52933         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
52934         * doc/posix-functions/ctime_r.texi: Likewise.
52935         * doc/posix-functions/getgrgid_r.texi: Likewise.
52936         * doc/posix-functions/getgrnam_r.texi: Likewise.
52937         * doc/posix-functions/getlogin_r.texi: Likewise.
52938         * doc/posix-functions/getpwnam_r.texi: Likewise.
52939         * doc/posix-functions/getpwuid_r.texi: Likewise.
52940         * doc/posix-functions/readdir_r.texi: Likewise.
52941         * doc/posix-functions/sigwait.texi: Likewise.
52942         * doc/posix-functions/ttyname_r.texi: Likewise.
52943         Reported by Simon Josefsson.
52945 2010-04-25  Bruno Haible  <bruno@clisp.org>
52947         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
52948         * gnulib-tool (func_usage): Document that --with-*-tests options apply
52949         also to --create-testdir.
52950         (func_acceptable): Don't consider the status of *-tests modules here.
52951         (func_modules_transitive_closure): Consider it here, before including a
52952         test module.
52953         (func_import, func_create_testdir): Set inc_all_direct_tests,
52954         inc_all_indirect_tests.
52955         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
52956         --create-testdir and --create-megatestdir.
52958 2010-04-25  Bruno Haible  <bruno@clisp.org>
52960         gnulib-tool: Add --without-*-tests options.
52961         * gnulib-tool (func_usage): Document the --without-*-tests options.
52962         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
52963         excl_unportable_tests): New variables.
52964         Fail if they are specified with --import or --update.
52965         (func_acceptable): Respect the excl_*_tests variables.
52966         (func_import): Set the excl_*_tests variables to empty.
52968 2010-04-25  Simon Josefsson  <simon@josefsson.org>
52969             Bruno Haible  <bruno@clisp.org>
52971         Work around a MacOS X 10.4 bug with openpty.
52972         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
52973         * tests/test-openpty.c (main): Close the master side explicitly.
52975 2010-04-25  Bruno Haible  <bruno@clisp.org>
52977         strnlen: Fix a C++ test error on MacOS X and Solaris.
52978         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
52979         the function is not declared.
52980         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
52981         Simon Josefsson.
52983 2010-04-24  Bruno Haible  <bruno@clisp.org>
52985         Avoid a gcc warning.
52986         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
52987         of correct type for %08lx directive.
52988         Reported by Eric Blake.
52990 2010-04-24  Bruno Haible  <bruno@clisp.org>
52992         vasnprintf: Correct errno value in case of out-of-memory.
52993         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
52994         or sprintf. Use the errno value from SNPRINTF or sprintf.
52995         Reported by Ian Beckwith <ianb@erislabs.net>.
52997 2010-04-24  Bruno Haible  <bruno@clisp.org>
52999         ansi-c++-opt: Find correct compiler when cross-compiling.
53000         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
53001         AC_CHECK_PROGS.
53002         Reported by Simon Josefsson.
53004 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
53006         vc-list-files: Add support for subversion
53007         * build-aux/vc-list-files: Use "svn list" to generate the list of
53008         files controlled by subversion.
53010 2010-04-23  Jim Meyering  <meyering@redhat.com>
53012         vc-list-files tests: convert to use init.sh
53013         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
53014         path_prepend_.
53015         Use Exit, not exit.
53016         Use skip_ rather than open coding it.
53017         Remove trap set-up and compare definitions.
53018         * tests/test-vc-list-files-git.sh: Likewise.
53019         * modules/vc-list-files-tests (Files): Add tests/init.sh.
53021 2010-04-22  Simon Josefsson  <simon@josefsson.org>
53023         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
53024         backup files.
53026 2010-04-21  Simon Josefsson  <simon@josefsson.org>
53028         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
53030 2010-04-20  Eric Blake  <eblake@redhat.com>
53032         tests: be robust to ignored SIGPIPE
53033         * tests/test-select-in.sh: Consume all output.
53034         * tests/test-lseek.sh: Check correct exit status, while avoiding
53035         EPIPE.
53037 2010-04-20  Simon Josefsson  <simon@josefsson.org>
53038             Bruno Haible  <bruno@clisp.org>
53040         visibility: Don't use -fvisibility if it leads to a warning.
53041         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
53042         yes, don't pretend that visibility works if it leads to a warning.
53043         Reported by Mike Gran <spk121@yahoo.com>.
53045 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
53047         * build-aux/bootstrap: Use "git -h" for testing for supported options
53048         instead of "git --help".  The short-form option only shows a summary,
53049         and doesn't layout the full man page.  Grep for the full option name
53050         in the summary, too.
53052 2010-04-19  Bruno Haible  <bruno@clisp.org>
53054         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
53055         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
53056         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
53057         mention of RELOCATABLE_STRIP.
53058         Reported by Sylvain Beucler <beuc@beuc.net>.
53060 2010-04-19  Bruno Haible  <bruno@clisp.org>
53062         * lib/diffseq.h: Fix typo in comment.
53063         Reported by Eric Blake.
53065 2010-04-19  Bruno Haible  <bruno@clisp.org>
53067         ioctl: Move autoconf macro to a .m4 file.
53068         * m4/ioctl.m4: New file, extracted from modules/ioctl.
53069         * modules/ioctl (Files): Add it.
53070         (configure.ac): Simply invoke gl_FUNC_IOCTL.
53071         Reported by Ian Beckwith <ianb@erislabs.net>.
53073 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
53074             Bruno Haible  <bruno@clisp.org>
53076         diffseq: Accommodate use-case with abstract arrays.
53077         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
53078         is not defined.
53079         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
53080         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
53082 2010-04-18  Bruno Haible  <bruno@clisp.org>
53084         * doc/posix-headers/stdbool.texi: More precise wording.
53086 2010-04-17  Jim Meyering  <meyering@redhat.com>
53088         maint.mk: use gnu-style indentation in an embedded perl script
53089         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
53090         Rename variable: s/two/last_two_bytes/
53092 2010-04-16  Eric Blake  <eblake@redhat.com>
53094         test-stdbool: skip test that fails with Solaris CC
53095         * tests/test-stdbool.c (f): Skip test that causes compilation
53096         error under buggy C++ compiler.
53097         * lib/stdbool.in.h: Document the limitation.
53098         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
53100         setenv: allow compilation with C++
53101         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
53102         register keyword.
53104         stdint: allow test to pass with C++
53105         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
53107         getopt: allow compilation with C++
53108         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
53109         struct.
53110         * lib/getopt.c (_getopt_internal_r): Use correct type.
53111         Reported by Dagobert Michelson, via Joel E. Denny.
53113 2010-04-16  Bruno Haible  <bruno@clisp.org>
53115         Override netdb.h always.
53116         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
53117         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
53118         Reported by Ludovic Courtès <ludo@gnu.org>.
53120 2010-04-15  Bruno Haible  <bruno@clisp.org>
53122         openpty: Fix mistake from 2010-03-21.
53123         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
53124         Reported by Simon Josefsson.
53126 2010-04-15  Eric Blake  <eblake@redhat.com>
53128         test-forkpty: fix expected signature
53129         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
53130         Reported by Simon Josefsson.
53132 2010-04-15  Jim Meyering  <meyering@redhat.com>
53134         maint.mk: texinfo_suffix_re_: correct the default regexp
53135         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
53137         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
53138         make it configurable via texinfo_suffix_re_.
53140 2010-04-14  Eric Blake  <eblake@redhat.com>
53142         strtok_r: relax license to LGPLv2+
53143         * modules/strtok_r (License): Relax license.
53144         Reported by Matthias Bolte.
53146 2010-04-14  Simon Josefsson  <simon@josefsson.org>
53148         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
53149         version 1.4.4 by default instead of requiring the libgcrypt
53150         version used during build.  This makes it possible to use the
53151         application with older but still binary compatible libgcrypt
53152         versions.
53154 2010-04-13  Eric Blake  <eblake@redhat.com>
53156         getopt-gnu: match recent glibc fixes and posix ruling
53157         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
53158         '+' handling, when requesting extensions.
53159         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
53160         'W;' handling.
53161         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
53162         * doc/posix-functions/getopt.texi (getopt): Document this.
53163         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
53164         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
53165         Likewise.
53167         getopt: merge bug fixes from glibc
53168         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
53169         diagnostics.  Honor '+:' correctly.  Reject ';'.
53171         getopt-posix: detect MacOS bug
53172         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
53173         optind when missing a required argument.
53174         * doc/posix-functions/getopt.texi (getopt): Document the bug.
53175         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
53176         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
53177         Likewise.
53179         getopt-posix: avoid spurious failure on Solaris
53180         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
53181         an indicator that setting optind=1 is sufficient for reset.
53183         getopt-posix: avoid spurious failure on FreeBSD
53184         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
53185         in POSIX mode, since the m4 test uses it.
53187         gnulib-tool: silence warning on BSD sh
53188         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
53190 2010-04-13  Jim Meyering  <meyering@redhat.com>
53192         doc: users.txt: GNU patch now uses gnulib
53193         * users.txt: Add patch.
53195 2010-04-12  Jim Meyering  <meyering@redhat.com>
53197         maint.mk: generate more concise timing data for syntax-check rules
53198         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
53199         " done" from each line that reports a syntax-check test duration.
53201 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
53203         git-version-gen: use "git update-index..." rather than "git status"
53204         * build-aux/git-version-gen: Use git update-index --refresh, not
53205         "git status".  With some versions of git, "git status" would fail
53206         to update the index and result in an unwarranted "-dirty" suffix.
53208 2010-04-11  Jim Meyering  <meyering@redhat.com>
53210         openat: correct formatting (no semantic change)
53211         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
53212         Suggested by Bruno Haible.
53214 2010-04-11  Bruno Haible  <bruno@clisp.org>
53216         Stricter declaration checking in testdirs.
53217         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
53218         If for_tests is true, augment AM_CPPFLAGS to define
53219         GNULIB_STRICT_CHECKING.
53220         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
53221         GNULIB_STRICT_CHECKING is defined, verify that the function is
53222         declared.
53224 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
53225             Bruno Haible  <bruno@clisp.org>
53227         libunistring: Improve configure output.
53228         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
53229         Don't say "consider installing GNU libunistring" when checking again
53230         with libiconv.
53232 2010-04-11  Bruno Haible  <bruno@clisp.org>
53234         libunistring: Correct value of $LTLIBUNISTRING.
53235         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
53236         correct the value of $LTLIBUNISTRING.
53238 2010-04-11  Bruno Haible  <bruno@clisp.org>
53240         havelib: Add static libraries to LIBS in the right order.
53241         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
53242         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
53244 2010-04-11  Bruno Haible  <bruno@clisp.org>
53246         libunistring: Detect libunistring also when it depends on libiconv.
53247         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
53248         the second AC_LIB_HAVE_LINKFLAGS invocation.
53250 2010-04-11  James Youngman  <jay@gnu.org>
53252         close-stream: declare local scalars to be "const"
53253         * lib/close-stream.c (close_stream): Make boolean variables const
53254         to document the fact that we set but do not change them.
53256 2010-04-11  Bruno Haible  <bruno@clisp.org>
53258         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
53260 2010-04-11  Jim Meyering  <meyering@redhat.com>
53262         maint.mk: don't include dist-check.mk
53263         * top/maint.mk: Remove bogus include directive.
53265         maint.mk: improve empty-line-at-EOF check
53266         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
53267         solution, rather than tail+Perl-based one.  The latter would read
53268         a few kilobytes from the end of each file, and did not handle empty
53269         files properly.
53271         maint.mk: print the elapsed time for each syntax-check rule
53272         * top/maint.mk (sc_m_rules_): Save start time in a file.
53273         (sc_z_rules_): New rules: remove temp file and print elapsed time.
53274         (local-check): Interpose the .z rules
53276 2010-04-11  Jim Meyering  <meyering@redhat.com>
53278         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
53279         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
53280         empty file with one that ends in an empty line.
53282 2010-04-10  Bruno Haible  <bruno@clisp.org>
53284         mkdir: Make it work on mingw64.
53285         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
53286         * lib/mkdir.c: Update comment.
53287         Reported by Roman Donchenko (Роман Донченко) <dxdragon@yandex.ru>.
53289 2010-04-10  Bruno Haible  <bruno@clisp.org>
53291         Don't override improved macro from newer autoconf.
53292         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
53293         autoconf >= 2.62.
53294         Reported by Joel E. Denny <jdenny@clemson.edu>.
53296 2010-04-10  Jim Meyering  <meyering@redhat.com>
53298         maint.mk: new syntax-check rule: prohibit empty lines at end of file
53299         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
53301         maint.mk: correct a diagnostic
53302         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
53303         in diagnostic; now use $prohibit.
53305 2010-04-10  Bruno Haible  <address@hidden>
53307         fchownat: Fix a C++ test error on Solaris 8.
53308         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
53309         the function does not exist.
53311 2010-04-10  Bruno Haible  <bruno@clisp.org>
53313         vasnprintf: Add more tests.
53314         * tests/test-vasnprintf-posix.c: Include <errno.h>.
53315         (test_function): Test converting an invalid wide string.
53317         vasnprintf: Correct handling of unconvertible wide string arguments.
53318         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
53319         VASNPRINTF.
53320         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
53321         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
53322         smaller than the expected maximum need for the directive. Set errno to
53323         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
53324         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
53325         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
53326         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
53327         * modules/vasnprintf (Files): Add m4/printf.m4.
53328         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
53330 2010-04-10  Bruno Haible  <bruno@clisp.org>
53332         vasnprintf: Fix crash in %ls directive.
53333         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
53334         string is passed as argument to %ls, with no precision and no width.
53335         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
53337 2010-04-10  Bruno Haible  <bruno@clisp.org>
53339         vasnprintf: Fix multiple test failures on mingw.
53340         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
53341         _snprintf, or snwprintf, not _snwprintf.
53343 2010-04-10  Bruno Haible  <bruno@clisp.org>
53345         write: Fix a C++ test error on mingw.
53346         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
53348 2010-04-10  Bruno Haible  <bruno@clisp.org>
53350         vasnprintf test: Reduce code duplication.
53351         * tests/test-vasnprintf.c (test_function): New function, extracted from
53352         test_vasnprintf.
53353         (test_vasnprintf, test_asnprintf): Invoke it.
53355 2010-04-10  Bruno Haible  <bruno@clisp.org>
53357         strnlen: Fix warning in C++ mode on MacOS X.
53358         * lib/string.in.h (strnlen): Use the modern idiom.
53359         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
53360         defining strnlen as a macro already in <config.h>.
53361         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
53362         REPLACE_STRNLEN.
53363         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
53364         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
53366 2010-04-08  James Youngman  <jay@gnu.org>
53368         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
53369         the example.
53371 2010-04-09  Jim Meyering  <meyering@redhat.com>
53373         maint.mk: print better diagnostic when there is no $(_hv_file)
53374         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
53375         announce that when $(_hv_file) (aka help-version) does not exist.
53377         init.sh: run tr in the "C" locale to avoid multibyte interpretation
53378         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
53379         not try to interpret its random input bytes.  Jarno Rajahalme reported
53380         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
53381         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
53382         (mktempd_): Likewise, just in case.
53384         ftruncate: add two years to projected module removal date: 2012
53385         * m4/ftruncate.m4: Adjust comments.
53387         ftruncate: mark module as obsolete; even MinGW provides it, now
53388         * modules/ftruncate (Status): Obsolete.
53389         (Notice): Say that.
53390         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
53391         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
53393 2010-04-08  Bruno Haible  <bruno@clisp.org>
53395         Fix side effects from tests-related modules.
53396         * modules/dprintf-posix (Comment): New section.
53397         * modules/fprintf-posix (Comment): Likewise.
53398         * modules/obstack-printf-posix (Comment): Likewise.
53399         * modules/printf-posix (Comment): Likewise.
53400         * modules/snprintf-posix (Comment): Likewise.
53401         * modules/sprintf-posix (Comment): Likewise.
53402         * modules/vasnprintf-posix (Comment): Likewise.
53403         * modules/vasprintf-posix (Comment): Likewise.
53404         * modules/vdprintf-posix (Comment): Likewise.
53405         * modules/vfprintf-posix (Comment): Likewise.
53406         * modules/vprintf-posix (Comment): Likewise.
53407         * modules/vsnprintf-posix (Comment): Likewise.
53408         * modules/vsprintf-posix (Comment): Likewise.
53409         * modules/xprintf-posix (Comment): Likewise.
53410         * modules/xvasprintf-posix (Comment): Likewise.
53411         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
53412         * modules/floorf-tests (Depends-on): Likewise.
53413         * modules/round-tests (Depends-on): Likewise.
53414         * modules/roundf-tests (Depends-on): Likewise.
53415         * modules/trunc-tests (Depends-on): Likewise.
53416         * modules/truncf-tests (Depends-on): Likewise.
53417         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
53418         'fprintf-posix' module is not present.
53419         * tests/test-floorf2.c (check): Likewise.
53420         * tests/test-trunc2.c (check): Likewise.
53421         * tests/test-truncf2.c (check): Likewise.
53422         * tests/test-round2.c (equal): Likewise.
53423         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
53425 2010-04-07  Karl Berry  <karl@gnu.org>
53427         * config/srclist.txt,
53428         * config/srclistvars.sh,
53429         * config/srclist-update: doc fixes.
53431 2010-04-07  Jim Meyering  <meyering@redhat.com>
53433         maint.mk: add a PATH crosschecking syntax-check rule
53434         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
53435         Useful if you use a test like the one in help-version (coreutils,
53436         diffutils, grep, gzip) that ensures $(VERSION) matches what is
53437         printed by prog --version.
53439 2010-04-06  Bruno Haible  <bruno@clisp.org>
53441         Fix link error on mingw.
53442         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
53443         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
53445 2010-04-06  Bruno Haible  <bruno@clisp.org>
53447         Assume rmdir exists.
53448         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
53450 2010-04-06  Giuseppe Scrivano  <gscrivano@gnu.org>
53452         doc: update users.txt
53453         * users.txt: Add gcal.
53455 2010-04-06  Jim Meyering  <meyering@redhat.com>
53457         init.sh: simply unset TMPDIR rather than risking env -i
53458         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
53459         although it probably works fine on all Unix-based systems, some
53460         systems (Cygwin?) cannot tolerate a totally cleared environment.
53461         Suggestion from Eric Blake.
53463 2010-04-06  Jim Meyering  <meyering@redhat.com>
53465         init.sh: portability fix: use env's POSIX-specified -i option not -u
53466         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
53467         than unportable env -u.  Solaris 5.11's env lacks support for -u.
53469 2010-04-05  Bruno Haible  <bruno@clisp.org>
53471         btowc: Work around Cygwin 1.7.2 bug.
53472         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
53473         does not map NUL to 0.
53474         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
53476 2010-04-05  Bruno Haible  <bruno@clisp.org>
53478         Make the multithread modules work on Cygwin 1.7.2.
53479         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
53480         imported symbols can be declared weak, so that it returns "no" on
53481         Cygwin 1.7.2.
53483 2010-04-05  Bruno Haible  <bruno@clisp.org>
53485         Use the module 'strncat'.
53486         * modules/unistr/u8-strncat (Depends-on): Add strncat.
53488         Tests for module 'strncat'.
53489         * modules/strncat-tests: New file.
53490         * tests/test-strncat.c: New file.
53492         New module 'strncat'.
53493         * lib/string.in.h (strncat): New declaration.
53494         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
53495         * m4/strncat.m4: New file, based on m4/memchr.m4.
53496         * modules/strncat: New file.
53497         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
53498         is declared.
53499         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
53500         REPLACE_STRNCAT.
53501         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
53502         REPLACE_STRNCAT.
53503         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
53504         module.
53505         * tests/test-string-c++.cc: Check signature of strncat.
53507 2010-04-05  Jim Meyering  <meyering@redhat.com>
53509         xstrtoumax-tests: convert to use init.sh
53510         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
53511         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
53512         Use Exit, not exit.
53513         Remove uses of $EXEEXT and "./" to run a program in the current dir.
53515         xstrtoimax-tests: convert to use init.sh
53516         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
53517         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
53518         Use Exit, not exit.
53519         Remove uses of $EXEEXT and "./" to run a program in the current dir.
53521 2010-04-05  Bruno Haible  <bruno@clisp.org>
53523         sys_socket: Avoid #define replacements in C++ mode.
53524         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
53525         warning to the function if possible, rather than #defining the symbol
53526         to a dysfunctional alias.
53528 2010-04-05  Bruno Haible  <bruno@clisp.org>
53530         fseeko: Fix C++ test error on mingw.
53531         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
53532         gl_FUNC_FSEEKO.
53533         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
53534         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
53535         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
53536         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
53538 2010-04-05  Bruno Haible  <bruno@clisp.org>
53540         duplocale: Improve test output.
53541         * tests/test-duplocale.c (main): Print reason for skipped test.
53543 2010-04-05  Bruno Haible  <bruno@clisp.org>
53545         Assume rmdir exists.
53546         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
53547         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
53549 2010-04-05  Bruno Haible  <bruno@clisp.org>
53551         Fix link error on Solaris 8 with cc.
53552         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
53554 2010-04-05  Bruno Haible  <bruno@clisp.org>
53556         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
53557         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
53559 2010-04-05  Bruno Haible  <bruno@clisp.org>
53561         vasprintf: Update documentation.
53562         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
53564 2010-04-05  Bruno Haible  <bruno@clisp.org>
53566         ptsname: Improve test.
53567         * tests/test-ptsname.c (main): Also try the various master names of BSD
53568         systems.
53570 2010-04-05  Bruno Haible  <bruno@clisp.org>
53572         memchr: Avoid a possible C++ test error.
53573         * lib/string.in.h (memchr): Provide declaration if function is missing.
53574         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
53575         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
53576         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
53577         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
53579 2010-04-05  Bruno Haible  <bruno@clisp.org>
53581         strtok_r: Improve idiom.
53582         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
53583         AC_LIBOBJ is used.
53585 2010-04-05  Bruno Haible  <bruno@clisp.org>
53587         strdup: Improve idiom.
53588         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
53589         AC_LIBOBJ is used.
53590         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
53591         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
53592         when AC_LIBOBJ is used.
53594 2010-04-05  Bruno Haible  <bruno@clisp.org>
53596         mbsinit, mbrtowc, wcrtomb: Improve idioms.
53597         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
53598         don't set REPLACE_MBSINIT to 1.
53599         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
53600         don't set REPLACE_MBRTOWC to 1.
53601         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
53602         exist, don't set REPLACE_MBSRTOWCS to 1.
53603         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
53604         exist, don't set REPLACE_MBSNRTOWCS to 1.
53605         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
53606         don't set REPLACE_WCRTOMB to 1.
53607         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
53608         exist, don't set REPLACE_WCSRTOMBS to 1.
53609         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
53610         exist, don't set REPLACE_WCSNRTOMBS to 1.
53612 2010-04-05  Bruno Haible  <bruno@clisp.org>
53614         ldexpl: Improve idiom.
53615         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
53616         make sure to set HAVE_DECL_LDEXPL to 0.
53618 2010-04-05  Jim Meyering  <meyering@redhat.com>
53620         xstrtol-tests: convert to use init.sh
53621         * modules/xstrtol-tests (Files): Add tests/init.sh.
53622         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
53623         Use Exit, not exit.
53624         Remove uses of $EXEEXT and "./" to run a program in the current dir.
53626         atexit-tests: convert to use init.sh
53627         * modules/atexit-tests (Files): Add tests/init.sh.
53628         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
53629         Use Exit, not exit.
53630         Remove uses of $EXEEXT and "./" to run a program in the current dir.
53632         init.sh: fix typo
53633         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
53635         init.sh: make it easier for a test script to write to the tty, ...
53636         when using automake's parallel-tests mode.
53637         * tests/init.sh (stderr_fileno_): Define overridable variable.
53638         (warn_): New function, to use it.
53639         (fail_, skip_, framework_failure_): Use warn_.
53641 2010-04-04  Bruno Haible  <bruno@clisp.org>
53643         btowc: Avoid warning.
53644         * lib/btowc.c: Include <stdlib.h>.
53645         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
53647 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
53648             Bruno Haible  <bruno@clisp.org>
53650         wchar: Port to NetBSD 1.5.
53651         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
53652         * lib/wctype.in.h (WEOF): Likewise.
53654 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
53655             Bruno Haible  <bruno@clisp.org>
53657         Port extended stdio to NetBSD 1.5.
53658         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
53659         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
53660         older.
53662 2010-04-04  Bruno Haible  <bruno@clisp.org>
53664         string: Remove unused substitution.
53665         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
53666         HAVE_DECL_STRERROR.
53667         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
53669 2010-04-04  Bruno Haible  <bruno@clisp.org>
53671         strtod: Avoid a possible C++ test error.
53672         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
53673         set REPLACE_STRTOD.
53675 2010-04-04  Bruno Haible  <bruno@clisp.org>
53677         strerror: Update documentation.
53678         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
53680 2010-04-04  Bruno Haible  <bruno@clisp.org>
53682         stdio: Fix some C++ test errors on Solaris 8 with GCC.
53683         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
53684         _GL_CXXALIAS_SYS_CAST.
53686 2010-04-04  Bruno Haible  <bruno@clisp.org>
53688         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
53689         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
53690         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
53691         REPLACE_FREXPL to 1.
53692         * doc/posix-functions/frexpl.texi: Update documentation.
53694 2010-04-04  Bruno Haible  <bruno@clisp.org>
53696         math: Fix some C++ test errors on Solaris 8 and Cygwin.
53697         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
53699 2010-04-04  Bruno Haible  <bruno@clisp.org>
53701         Implement nanosleep for native Windows.
53702         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
53704 2010-04-04  Bruno Haible  <bruno@clisp.org>
53706         math: Fix some C++ test errors on Solaris 8.
53707         * lib/math.in.h (truncf, trunc): Use simpler idiom.
53709 2010-04-04  Bruno Haible  <bruno@clisp.org>
53711         math: Fix some C++ test errors on Cygwin.
53712         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
53713         truncl): Provide declaration if the system does not have it.
53714         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
53715         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
53716         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
53717         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
53718         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
53719         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
53720         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
53721         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
53722         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
53723         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
53724         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
53725         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
53726         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
53727         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
53728         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
53729         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
53730         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
53731         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
53732         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
53733         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
53734         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
53735         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
53737 2010-04-04  Bruno Haible  <bruno@clisp.org>
53739         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
53740         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
53741         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
53742         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
53743         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
53744         * m4/isinf.m4 (gl_ISINF): Likewise.
53745         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
53747 2010-04-04  Bruno Haible  <bruno@clisp.org>
53749         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
53750         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
53752 2010-04-04  Bruno Haible  <bruno@clisp.org>
53754         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
53755         * modules/tmpfile (configure.ac): Update.
53757         tmpfile: Fix C++ test error on mingw.
53758         * lib/stdio.in.h (tmpfile): New declaration.
53759         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
53760         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
53761         * modules/tmpfile (Depends-on): Add stdio.
53762         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
53763         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
53764         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
53765         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
53766         REPLACE_TMPFILE.
53767         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
53769 2010-04-04  Bruno Haible  <bruno@clisp.org>
53771         ioctl: Fix C++ test error on mingw.
53772         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
53773         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
53774         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
53776 2010-04-03  Bruno Haible  <bruno@clisp.org>
53778         wcwidth: Fix C++ test error on mingw.
53779         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
53780         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
53781         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
53783 2010-04-03  Bruno Haible  <bruno@clisp.org>
53785         nanosleep: Fix C++ test error on mingw.
53786         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
53787         * lib/time.in.h (nanosleep): Use modern idiom.
53788         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
53789         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
53790         REPLACE_NANOSLEEP to 1.
53791         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
53792         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
53794 2010-04-03  Bruno Haible  <bruno@clisp.org>
53796         strptime: Fix C++ test error on mingw.
53797         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
53798         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
53799         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
53800         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
53801         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
53802         not REPLACE_STRPTIME.
53803         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
53804         REPLACE_STRPTIME.
53806 2010-04-03  Bruno Haible  <bruno@clisp.org>
53808         timegm: Fix C++ test error on mingw.
53809         * lib/time.in.h (timegm): Use modern idiom.
53810         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
53811         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
53812         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
53813         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
53815 2010-04-03  Bruno Haible  <bruno@clisp.org>
53817         timegm: Assume declaration if function exists.
53818         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
53819         if it exists. Don't clobber ac_cv_func_timegm.
53821 2010-04-03  Bruno Haible  <bruno@clisp.org>
53823         time_r: Fix C++ test error on mingw.
53824         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
53825         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
53826         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
53827         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
53828         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
53830 2010-04-03  Bruno Haible  <bruno@clisp.org>
53832         time_r: Minor updates.
53833         * modules/time_r (Description): Mention the provided functions.
53834         * lib/time_r.c: Don't include <string.h>.
53835         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
53836         * doc/posix-functions/localtime_r.texi: Likewise.
53838 2010-04-03  Bruno Haible  <bruno@clisp.org>
53840         time: Fix regression introduced on 2010-03-08.
53841         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
53842         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
53844 2010-04-03  Jim Meyering  <meyering@redhat.com>
53846         maint.mk: don't silently disable project-specific syntax-check rules
53847         * top/maint.mk (_prohibit_regexp): Define, to help people realize
53848         that they need to convert their project-specific syntax-check rules
53849         to use the new _sc_search_regexp.
53851 2010-04-03  Bruno Haible  <bruno@clisp.org>
53853         fchdir: Fix regression introduced on 2010-03-08.
53854         * lib/unistd.in.h (fchdir): Fix declaration.
53855         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
53856         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
53857         REPLACE_FCHDIR.
53858         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
53859         REPLACE_FCHDIR.
53861 2010-04-03  Bruno Haible  <bruno@clisp.org>
53863         getpagesize: Fix C++ test error on mingw.
53864         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
53865         system does not declare the function.
53866         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
53867         declared.
53868         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
53869         HAVE_DECL_GETPAGESIZE.
53870         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
53872 2010-04-03  Bruno Haible  <bruno@clisp.org>
53874         stdio: Make C++ tests work on mingw.
53875         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
53876         does not declare the function.
53878 2010-04-03  Bruno Haible  <bruno@clisp.org>
53880         ftello: Fix C++ test error on mingw.
53881         * lib/stdio.in.h (ftello): Use modern idiom.
53882         * lib/ftello.c (ftello): Renamed from rpl_ftello.
53883         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
53884         is missing and that it needs to be replaced.
53885         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
53886         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
53887         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
53889 2010-04-03  Bruno Haible  <bruno@clisp.org>
53891         fseeko: Fix C++ test error on mingw.
53892         * lib/stdio.in.h (fseeko): Use modern idiom.
53893         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
53894         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
53895         is missing and that it needs to be replaced.
53896         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
53897         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
53898         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
53900 2010-04-03  Bruno Haible  <bruno@clisp.org>
53902         mkstemp: Fix C++ test error on mingw.
53903         * lib/stdlib.in.h (mkstemp): Use modern idiom.
53904         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
53905         function is missing and that it needs to be replaced.
53906         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
53907         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
53909 2010-04-03  Bruno Haible  <bruno@clisp.org>
53911         stpncpy: Fix C++ test error on mingw.
53912         * lib/string.in.h (stpncpy): Use modern idiom.
53913         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
53914         function is missing and that it needs to be replaced.
53915         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
53916         REPLACE_STPNCPY.
53917         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
53919 2010-04-03  Bruno Haible  <bruno@clisp.org>
53921         sys_stat: Fix C++ test error on mingw.
53922         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
53923         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
53925 2010-04-03  Bruno Haible  <bruno@clisp.org>
53927         pty: Update doc.
53928         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
53930 2010-04-03  Bruno Haible  <bruno@clisp.org>
53932         unistd: Fix C++ test error on mingw.
53933         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
53935 2010-04-03  Bruno Haible  <bruno@clisp.org>
53937         Update doc regarding mingw.
53938         * doc/glibc-functions/openpty.texi: Update regarding mingw.
53939         * doc/glibc-functions/login_tty.texi: Likewise.
53940         * doc/glibc-functions/forkpty.texi: Likewise.
53942 2010-04-03  Bruno Haible  <bruno@clisp.org>
53944         stdlib: Avoid compilation failure of c-strtold on mingw.
53945         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
53947 2010-04-03  Bruno Haible  <bruno@clisp.org>
53949         locale: Make C++ tests work on Cygwin and mingw.
53950         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
53951         cannot provide the function.
53952         Reported by Simon Josefsson.
53954 2010-04-03  Bruno Haible  <bruno@clisp.org>
53956         localename: Port to MacOS X 10.6.
53957         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
53958         memory layout of the locales in MacOS X 10.6 as well.
53959         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
53961 2010-04-02  Bruno Haible  <bruno@clisp.org>
53963         gnulib-tool: Ensure that long-running tests are executed last.
53964         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
53965         running tests after the one for the other tests.
53967 2010-04-02  Bruno Haible  <bruno@clisp.org>
53969         gnulib-tool: Ensure the tests in the main directory are executed first.
53970         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
53971         start with the current directory.
53973 2010-04-02  Bruno Haible  <bruno@clisp.org>
53975         Tests for module 'havelib', moved here from GNU gettext.
53976         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
53977         modifications.
53978         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
53979         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
53980         with modifications.
53981         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
53982         modifications.
53983         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
53984         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
53985         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
53986         with modifications.
53987         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
53988         with modifications.
53989         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
53990         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
53991         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
53992         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
53993         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
53994         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
53995         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
53996         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
53997         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
53998         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
53999         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
54000         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
54001         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
54002         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
54003         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
54004         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
54005         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
54006         with modifications.
54007         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
54008         with modifications.
54009         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
54010         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
54011         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
54012         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
54013         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
54014         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
54015         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
54016         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
54017         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
54018         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
54019         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
54020         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
54021         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
54022         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
54023         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
54024         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
54025         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
54026         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
54027         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
54028         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
54029         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
54030         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
54031         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
54032         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
54033         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
54034         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
54035         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
54036         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
54037         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
54038         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
54039         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
54040         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
54041         * tests/havelib/rpathx/rpathx.c: New file, from
54042         gettext/autoconf-lib-link.
54043         * tests/havelib/rpathx/Makefile.am: New file, from
54044         gettext/autoconf-lib-link.
54045         * tests/havelib/rpathx/configure.ac: New file, from
54046         gettext/autoconf-lib-link with modifications.
54047         * tests/havelib/rpathy/rpathy.c: New file, from
54048         gettext/autoconf-lib-link.
54049         * tests/havelib/rpathy/Makefile.am: New file, from
54050         gettext/autoconf-lib-link.
54051         * tests/havelib/rpathy/configure.ac: New file, from
54052         gettext/autoconf-lib-link with modifications.
54053         * tests/havelib/rpathz/rpathz.c: New file, from
54054         gettext/autoconf-lib-link.
54055         * tests/havelib/rpathz/Makefile.am: New file, from
54056         gettext/autoconf-lib-link.
54057         * tests/havelib/rpathz/configure.ac: New file, from
54058         gettext/autoconf-lib-link with modifications.
54059         * tests/havelib/rpathlx/usex.c: New file, from
54060         gettext/autoconf-lib-link.
54061         * tests/havelib/rpathlx/Makefile.am: New file, from
54062         gettext/autoconf-lib-link.
54063         * tests/havelib/rpathlx/configure.ac: New file, from
54064         gettext/autoconf-lib-link with modifications.
54065         * tests/havelib/rpathly/usey.c: New file, from
54066         gettext/autoconf-lib-link.
54067         * tests/havelib/rpathly/Makefile.am: New file, from
54068         gettext/autoconf-lib-link.
54069         * tests/havelib/rpathly/configure.ac: New file, from
54070         gettext/autoconf-lib-link with modifications.
54071         * tests/havelib/rpathlz/usez.c: New file, from
54072         gettext/autoconf-lib-link.
54073         * tests/havelib/rpathlz/Makefile.am: New file, from
54074         gettext/autoconf-lib-link.
54075         * tests/havelib/rpathlz/configure.ac: New file, from
54076         gettext/autoconf-lib-link with modifications.
54077         * tests/havelib/rpathlyx/usey.c: New file, from
54078         gettext/autoconf-lib-link.
54079         * tests/havelib/rpathlyx/Makefile.am: New file, from
54080         gettext/autoconf-lib-link.
54081         * tests/havelib/rpathlyx/configure.ac: New file, from
54082         gettext/autoconf-lib-link with modifications.
54083         * tests/havelib/rpathlzyx/usez.c: New file, from
54084         gettext/autoconf-lib-link.
54085         * tests/havelib/rpathlzyx/Makefile.am: New file, from
54086         gettext/autoconf-lib-link.
54087         * tests/havelib/rpathlzyx/configure.ac: New file, from
54088         gettext/autoconf-lib-link with modifications.
54089         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
54090         with modifications.
54092 2010-04-02  Bruno Haible  <bruno@clisp.org>
54094         gnulib-tool: Create distributed built sources also for the tests.
54095         * gnulib-tool (func_create_testdir): Also generate distributed built
54096         sources in the tests directory.
54098 2010-04-02  Bruno Haible  <bruno@clisp.org>
54100         gnulib-tool: Obey user's environment variables.
54101         * gnulib-tool (func_create_testdir): When creating built sources,
54102         respect the environment variables for autoconf, automake, etc. given by
54103         the user.
54105 2010-04-02  Bruno Haible  <bruno@clisp.org>
54107         gnulib-tool: Provide the value of --m4-base to modules.
54108         * gnulib-tool (func_import, func_create_testdir): Emit a definition
54109         of gl_m4_base.
54111 2010-04-02  Eric Blake  <eblake@redhat.com>
54113         maint.mk: fix some fallout
54114         * NEWS: Document the incompatible change, and its effect on cfg.mk.
54115         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
54117 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
54119         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
54120         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
54121         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
54122         (sc_cast_of_x_alloc_return_value): Likewise.
54123         (sc_cast_of_alloca_return_value): Likewise.
54124         (sc_space_tab): Likewise.
54125         (sc_prohibit_atoi_atof): Likewise.
54126         (sc_prohibit_magic_number_exit): Likewise.
54127         (sc_error_exit_success): Likewise.
54128         (sc_file_system): Likewise.
54129         (sc_prohibit_have_config_h): Likewise.
54130         (sc_require_config_h): Likewise.
54131         (sc_prohibit_HAVE_MBRTOWC): Likewise.
54132         (sc_obsolete_symbols): Likewise.
54133         (sc_changelog): Likewise.
54134         (sc_program_name): Likewise.
54135         (sc_the_the): Likewise.
54136         (sc_trailing_blank): Likewise.
54137         (sc_two_space_separator_in_usage): Likewise.
54138         (sc_useless_cpp_parens): Likewise.
54139         (sc_GPL_version): Likewise.
54140         (sc_GFDL_version): Likewise.
54141         (sc_texinfo_acronym): Likewise.
54142         (sc_prohibit_cvs_keyword): Likewise.
54143         (sc_prohibit_stat_st_blocks): Likewise.
54144         (sc_prohibit_S_IS_definition): Likewise.
54145         (sc_redundant_const): Likewise.
54146         (sc_makefile_TAB_only_indentation): Likewise.
54147         (sc_m4_quote_check): Likewise.
54148         (sc_makefile_path_separator_check): Likewise.
54149         (sc_copyright_check): Likewise.
54150         (sc_Wundef_boolean): Likewise.
54151         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
54153         maint.mk: match 0 or more whitespace-before-function-call '('
54154         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
54155         that have zero or two-and-more spaces between the function name
54156         and the open parenthesis.
54157         (sc_error_message_warn_fatal): Likewise.
54158         (sc_error_message_uppercase): Likewise.
54159         (sc_error_message_period): Likewise.
54161 2010-03-31  Eric Blake  <eblake@redhat.com>
54163         maint.mk: check for [ as well as test
54164         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
54165         Based on a libvirt report by Matthias Bolte.
54167         gnumakefile: don't squelch _version output
54168         * top/GNUmakefile (_version): Create one-shot dependency rather
54169         than using $(shell) when version must be regenerated.
54170         (_autoreconf): Run verbosely, by default.
54172         sys_time: avoid compiler warnings
54173         * lib/sys_time.in.h (includes): Ensure gcc pragma is
54174         unconditional, fixing regression from 2010-03-29.
54175         Reported by Simon Josefsson.
54177 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
54179         maint.mk: s/_header_without_use/_sc_header_without_use/
54180         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
54181         (sc_prohibit_assert_without_use): Use the new name.
54182         (sc_prohibit_close_stream_without_use): Likewise.
54183         (sc_prohibit_getopt_without_use): Likewise.
54184         (sc_prohibit_quotearg_without_use): Likewise.
54185         (sc_prohibit_quote_without_use): Likewise.
54186         (sc_prohibit_long_options_without_use): Likewise.
54187         (sc_prohibit_inttostr_without_use): Likewise.
54188         (sc_prohibit_ignore_value_without_use): Likewise.
54189         (sc_prohibit_error_without_use): Likewise.
54190         (sc_prohibit_xalloc_without_use): Likewise.
54191         (sc_prohibit_hash_without_use): Likewise.
54192         (sc_prohibit_hash_pjw_without_use): Likewise.
54193         (sc_prohibit_safe_read_without_use): Likewise.
54194         (sc_prohibit_argmatch_without_use): Likewise.
54195         (sc_prohibit_canonicalize_without_use): Likewise.
54196         (sc_prohibit_root_dev_ino_without_use): Likewise.
54197         (sc_prohibit_openat_without_use): Likewise.
54198         (sc_prohibit_c_ctype_without_use): Likewise.
54199         (sc_prohibit_signal_without_use): Likewise.
54200         (sc_prohibit_intprops_without_use): Likewise.
54202 2010-03-30  Eric Blake  <eblake@redhat.com>
54204         maint: improve module indicators
54205         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
54206         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
54207         columns, and avoid extra macro expansion.
54209         fdopendir: work around FreeBSD bug
54210         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
54211         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
54212         * modules/dirent (Makefile.am): Substitute it.
54213         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
54214         declaration.
54215         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
54216         fix.
54217         Reported by Christian Weisgerber <naddy@mips.inka.de>.
54219 2010-03-29  Bruno Haible  <bruno@clisp.org>
54221         Emit #pragma system_header after the inclusion guard, not before.
54222         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
54223         guard that spans the entire file, not before. This enables an
54224         optimization in GCC's preprocessor.
54225         * lib/ctype.in.h: Likewise.
54226         * lib/dirent.in.h: Likewise.
54227         * lib/errno.in.h: Likewise.
54228         * lib/float.in.h: Likewise.
54229         * lib/getopt.in.h: Likewise.
54230         * lib/iconv.in.h: Likewise.
54231         * lib/langinfo.in.h: Likewise.
54232         * lib/locale.in.h: Likewise.
54233         * lib/math.in.h: Likewise.
54234         * lib/netdb.in.h: Likewise.
54235         * lib/netinet_in.in.h: Likewise.
54236         * lib/pty.in.h: Likewise.
54237         * lib/sched.in.h: Likewise.
54238         * lib/se-selinux.in.h: Likewise.
54239         * lib/search.in.h: Likewise.
54240         * lib/spawn.in.h: Likewise.
54241         * lib/stdarg.in.h: Likewise.
54242         * lib/stdint.in.h: Likewise.
54243         * lib/string.in.h: Likewise.
54244         * lib/strings.in.h: Likewise.
54245         * lib/sys_file.in.h: Likewise.
54246         * lib/sys_ioctl.in.h: Likewise.
54247         * lib/sys_time.in.h: Likewise.
54248         * lib/sys_times.in.h: Likewise.
54249         * lib/sys_utsname.in.h: Likewise.
54250         * lib/sys_wait.in.h: Likewise.
54251         * lib/sysexits.in.h: Likewise.
54252         * lib/wctype.in.h: Likewise.
54254 2010-03-28  James Youngman  <jay@gnu.org>
54256         save-cwd: don't leak a file descriptor when the caller execs.
54257         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
54258         saved file descriptor.
54259         * modules/save-cwd (Depends-on): Depend on cloexec.
54261 2010-03-29  Bruno Haible  <bruno@clisp.org>
54263         Remove vestiges of fts-lgpl module.
54264         * lib/fts_.h: Assume GNULIB_FTS is 1.
54265         * lib/fts.c: Likewise.
54266         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
54268 2010-03-28  Bruno Haible  <bruno@clisp.org>
54270         Fix definition of tests witness macro.
54271         * gnulib-tool (func_import): Fix definition of witness macro.
54273 2010-03-28  Bruno Haible  <bruno@clisp.org>
54275         Fix ioctl's protoype on glibc systems.
54276         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
54277         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
54278         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
54279         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
54280         signature. If not, arrange to replace the ioctl function.
54281         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
54282         REPLACE_IOCTL.
54283         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
54284         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
54285         Reported by Ludovic Courtès <ludo@gnu.org>.
54287 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
54289         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
54290         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
54291         made it so grep -r --include=GLOB* ... did not work.
54293 2010-03-26  Jim Meyering  <meyering@redhat.com>
54294             Eric Blake  <eblake@redhat.com>
54296         maint.mk: prohibit use of test's -o and -a operators
54297         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
54299 2010-03-28  Bruno Haible  <bruno@clisp.org>
54301         Remove unused GNULIB_XYZ macro definitions.
54302         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
54303         invocation.
54305 2010-03-28  Bruno Haible  <bruno@clisp.org>
54307         Mark privileged tests modules.
54308         * modules/idpriv-drop-tests (Status): New section.
54309         * modules/idpriv-droptemp-tests (Status): New section.
54311 2010-03-28  Bruno Haible  <bruno@clisp.org>
54313         Split C++ tests into separate tests modules.
54314         * modules/dirent-c++-tests: New file, extracted from
54315         modules/dirent-tests.
54316         * modules/dirent-tests: Depend on it.
54317         * modules/fcntl-h-c++-tests: New file, extracted from
54318         modules/fcntl-h-tests.
54319         * modules/fcntl-h-tests: Depend on it.
54320         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
54321         * modules/glob-tests: Depend on it.
54322         * modules/iconv-h-c++-tests: New file, extracted from
54323         modules/iconv-h-tests.
54324         * modules/iconv-h-tests: Depend on it.
54325         * modules/langinfo-c++-tests: New file, extracted from
54326         modules/langinfo-tests.
54327         * modules/langinfo-tests: Depend on it.
54328         * modules/locale-c++-tests: New file, extracted from
54329         modules/locale-tests.
54330         * modules/locale-tests: Depend on it.
54331         * modules/math-c++-tests: New file, extracted from modules/math-tests.
54332         * modules/math-tests: Depend on it.
54333         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
54334         * modules/pty-tests: Depend on it.
54335         * modules/search-c++-tests: New file, extracted from
54336         modules/search-tests.
54337         * modules/search-tests: Depend on it.
54338         * modules/signal-c++-tests: New file, extracted from
54339         modules/signal-tests.
54340         * modules/signal-tests: Depend on it.
54341         * modules/spawn-c++-tests: New file, extracted from
54342         modules/spawn-tests.
54343         * modules/spawn-tests: Depend on it.
54344         * modules/stdio-c++-tests: New file, extracted from
54345         modules/stdio-tests.
54346         * modules/stdio-tests: Depend on it.
54347         * modules/stdlib-c++-tests: New file, extracted from
54348         modules/stdlib-tests.
54349         * modules/stdlib-tests: Depend on it.
54350         * modules/string-c++-tests: New file, extracted from
54351         modules/string-tests.
54352         * modules/string-tests: Depend on it.
54353         * modules/sys_ioctl-c++-tests: New file, extracted from
54354         modules/sys_ioctl-tests.
54355         * modules/sys_ioctl-tests: Depend on it.
54356         * modules/sys_select-c++-tests: New file, extracted from
54357         modules/sys_select-tests.
54358         * modules/sys_select-tests: Depend on it.
54359         * modules/sys_socket-c++-tests: New file, extracted from
54360         modules/sys_socket-tests.
54361         * modules/sys_socket-tests: Depend on it.
54362         * modules/sys_stat-c++-tests: New file, extracted from
54363         modules/sys_stat-tests.
54364         * modules/sys_stat-tests: Depend on it.
54365         * modules/sys_time-c++-tests: New file, extracted from
54366         modules/sys_time-tests.
54367         * modules/sys_time-tests: Depend on it.
54368         * modules/time-c++-tests: New file, extracted from modules/time-tests.
54369         * modules/time-tests: Depend on it.
54370         * modules/unistd-c++-tests: New file, extracted from
54371         modules/unistd-tests.
54372         * modules/unistd-tests: Depend on it.
54373         * modules/wchar-c++-tests: New file, extracted from
54374         modules/wchar-tests.
54375         * modules/wchar-tests: Depend on it.
54376         * modules/wctype-c++-tests: New file, extracted from
54377         modules/wctype-tests.
54378         * modules/wctype-tests: Depend on it.
54379         Reported by Simon Josefsson.
54381 2010-03-28  Bruno Haible  <bruno@clisp.org>
54383         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
54384         * gnulib-tool (func_exists_module): New function, extracted from
54385         func_verify_module.
54386         (func_verify_module): Use it.
54387         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
54388         'foo' only if 'foo' exists.
54389         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
54390         module.
54392 2010-03-28  Bruno Haible  <bruno@clisp.org>
54394         gnulib-tool: Add support for special categories of tests.
54395         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
54396         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
54397         (func_usage): Document them.
54398         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
54399         inc_unportable_tests, inc_all_tests): New variables.
54400         (func_acceptable): Consider these variables.
54401         (func_modules_transitive_closure): Make it work when the 'Status' field
54402         consists of multiple words.
54403         (func_import): Store and restore the values of inc_cxx_tests,
54404         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
54405         inc_all_tests in gnulib-comp.m4.
54406         (func_create_testdir): Set inc_all_tests to true.
54407         * doc/gnulib.texi (Extra tests modules): New section.
54408         Suggested by Jim Meyering.
54410 2010-03-28  Bruno Haible  <bruno@clisp.org>
54412         ansi-c++-opt: Allow turning off the C++ build by default.
54413         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
54414         gl_CXX_CHOICE_DEFAULT_NO is defined.
54415         Requested by Eric Blake.
54417 2010-03-28  Bruno Haible  <bruno@clisp.org>
54419         unistd: Avoid #define replacements in C++ mode.
54420         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
54421         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
54422         setsockopt, shutdown, select): In C++, attach a warning to the function
54423         if possible, rather than #defining the symbol to a dysfunctional alias.
54424         Reported by John W. Eaton <jwe@gnu.org>.
54426 2010-03-28  Bruno Haible  <bruno@clisp.org>
54428         Fix link errors on mingw.
54429         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
54430         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
54431         $(LIBSOCKET).
54432         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
54433         $(LIBSOCKET).
54435 2010-03-28  Bruno Haible  <bruno@clisp.org>
54436             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54438         lib-ignore: Determine different options for different compilers.
54439         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
54440         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
54441         Add comments.
54442         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
54443         * NEWS: Mention the change.
54445 2010-03-27  Bruno Haible  <bruno@clisp.org>
54447         Remove unused GNULIB_XYZ macro definitions.
54448         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
54449         * modules/fseek (configure.ac): Likewise.
54450         * modules/ioctl (configure.ac): Likewise.
54451         * modules/open (configure.ac): Likewise.
54452         * modules/stdlib-safer (configure.ac): Likewise.
54454 2010-03-27  Bruno Haible  <bruno@clisp.org>
54456         Add a remark about certain modules.
54457         * modules/malloc (Comment): New section.
54458         * modules/realloc (Comment): Likewise.
54459         * modules/sigpipe (Comment): Likewise.
54461 2010-03-27  Bruno Haible  <bruno@clisp.org>
54463         Resolve conflict between the two kinds of module indicators.
54464         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
54465         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
54466         * modules/canonicalize (configure.ac): Invoke
54467         gl_MODULE_INDICATOR_FOR_TESTS.
54468         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
54469         GNULIB_XYZ.
54470         * tests/test-dirent-c++.cc: Likewise.
54471         * tests/test-dirent-safer.c: Likewise.
54472         * tests/test-dup2.c: Likewise.
54473         * tests/test-fchdir.c: Likewise.
54474         * tests/test-fcntl-h-c++.cc: Likewise.
54475         * tests/test-getopt.c: Likewise.
54476         * tests/test-getopt.h: Likewise.
54477         * tests/test-langinfo-c++.cc: Likewise.
54478         * tests/test-locale-c++.cc: Likewise.
54479         * tests/test-math-c++.cc: Likewise.
54480         * tests/test-pty-c++.cc: Likewise.
54481         * tests/test-search-c++.cc: Likewise.
54482         * tests/test-signal-c++.cc: Likewise.
54483         * tests/test-spawn-c++.cc: Likewise.
54484         * tests/test-stdio-c++.cc: Likewise.
54485         * tests/test-stdlib-c++.cc: Likewise.
54486         * tests/test-string-c++.cc: Likewise.
54487         * tests/test-sys_ioctl-c++.cc: Likewise.
54488         * tests/test-sys_select-c++.cc: Likewise.
54489         * tests/test-sys_socket-c++.cc: Likewise.
54490         * tests/test-sys_stat-c++.cc: Likewise.
54491         * tests/test-sys_time-c++.cc: Likewise.
54492         * tests/test-time-c++.cc: Likewise.
54493         * tests/test-unistd-c++.cc: Likewise.
54494         * tests/test-wchar-c++.cc: Likewise.
54495         * tests/uninorm/test-u8-nfc.c: Likewise.
54496         * tests/uninorm/test-u8-nfd.c: Likewise.
54497         * tests/uninorm/test-u8-nfkc.c: Likewise.
54498         * tests/uninorm/test-u8-nfkd.c: Likewise.
54499         * tests/uninorm/test-u16-nfc.c: Likewise.
54500         * tests/uninorm/test-u16-nfd.c: Likewise.
54501         * tests/uninorm/test-u16-nfkc.c: Likewise.
54502         * tests/uninorm/test-u16-nfkd.c: Likewise.
54503         * tests/uninorm/test-u32-nfc.c: Likewise.
54504         * tests/uninorm/test-u32-nfc-big.c: Likewise.
54505         * tests/uninorm/test-u32-nfd.c: Likewise.
54506         * tests/uninorm/test-u32-nfd-big.c: Likewise.
54507         * tests/uninorm/test-u32-nfkc.c: Likewise.
54508         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
54509         * tests/uninorm/test-u32-nfkd.c: Likewise.
54510         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
54511         * tests/uninorm/test-u32-normalize-big.c: Likewise.
54513 2010-03-27  Bruno Haible  <bruno@clisp.org>
54515         Distinguish two kinds of module indicators.
54516         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
54517         gl_MODULE_INDICATOR.
54518         (gl_MODULE_INDICATOR): New macro.
54519         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
54520         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
54521         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
54522         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
54523         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
54524         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
54525         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
54526         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
54527         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
54528         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
54529         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
54530         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
54531         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
54532         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
54533         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
54534         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
54535         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
54536         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
54537         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
54538         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
54539         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
54540         * modules/cloexec (configure.ac): Likewise.
54541         * modules/getopt-gnu (configure.ac): Likewise.
54542         * modules/uninorm/u8-normalize (configure.ac): Likewise.
54543         * modules/uninorm/u16-normalize (configure.ac): Likewise.
54544         * modules/uninorm/u32-normalize (configure.ac): Likewise.
54545         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
54547 2010-03-27  Bruno Haible  <bruno@clisp.org>
54549         New module description field 'Comment'.
54550         * gnulib-tool: New option --extract-comment.
54551         (func_usage): Document it.
54552         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
54553         (func_get_comment): New function.
54554         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
54556 2010-03-27  Bruno Haible  <bruno@clisp.org>
54558         Addendum to 2010-02-07 commit.
54559         * gnulib-tool (func_usage): Document --extract-applicability option.
54561 2010-03-27  Bruno Haible  <bruno@clisp.org>
54563         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
54564         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
54565         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
54566         rather than link errors.
54568 2010-03-27  Bruno Haible  <bruno@clisp.org>
54570         Avoid side effects from tests-related modules on the compilation of lib.
54571         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
54572         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
54573         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
54574         parameter. Emit into AM_CPPFLAGS a definition of the designated C
54575         macro.
54576         (func_import): Define a witness macro. Assign it a value that depends
54577         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
54578         tests-related modules.
54579         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
54580         Reported by Jim Meyering.
54582 2010-03-27  Bruno Haible  <bruno@clisp.org>
54584         Factorize common .m4 code.
54585         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
54586         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
54587         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
54588         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
54589         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
54590         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
54591         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
54592         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
54593         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
54594         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
54595         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
54596         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
54597         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
54598         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
54599         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
54600         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
54601         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
54602         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
54603         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
54604         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
54605         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
54606         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
54607         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
54608         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
54609         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
54610         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
54611         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
54612         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
54613         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
54614         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
54615         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
54616         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
54618 2010-03-27  Bruno Haible  <bruno@clisp.org>
54620         Fix a compilation error on Cygwin with g++ >= 4.3.
54621         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
54622         if it is undefined or if we alias it to chmod.
54623         (lstat): Don't warn about the use of this function if it is undefined
54624         or if we alias it to stat.
54625         Reported by Simon Josefsson.
54627 2010-03-27  Bruno Haible  <bruno@clisp.org>
54629         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
54630         * modules/getlogin (configure.ac): Update.
54632         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
54633         * modules/getlogin_r (configure.ac): Update.
54635         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
54636         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
54637         * modules/inet_ntop (configure.ac): Update.
54639         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
54640         * modules/inet_pton (configure.ac): Update.
54642         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
54643         * modules/mbslen (configure.ac): Update.
54645         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
54646         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
54647         * modules/forkpty (configure.ac): Update.
54648         * modules/openpty (configure.ac): Update.
54650 2010-03-26  Simon Josefsson  <simon@josefsson.org>
54652         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
54653         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
54655 2010-03-25  Eric Blake  <eblake@redhat.com>
54657         maint: use pragma consistently across replacement headers
54658         * lib/ctype.in.h (system_header): Hoist for consistent placement.
54659         * lib/dirent.in.h (system_header): Likewise.
54660         * lib/errno.in.h (system_header): Likewise.
54661         * lib/float.in.h (system_header): Likewise.
54662         * lib/getopt.in.h (system_header): Likewise.
54663         * lib/iconv.in.h (system_header): Likewise.
54664         * lib/inttypes.in.h (system_header): Likewise.
54665         * lib/langinfo.in.h (system_header): Likewise.
54666         * lib/locale.in.h (system_header): Likewise.
54667         * lib/math.in.h (system_header): Likewise.
54668         * lib/netdb.in.h (system_header): Likewise.
54669         * lib/netinet_in.in.h (system_header): Likewise.
54670         * lib/pty.in.h (system_header): Likewise.
54671         * lib/sched.in.h (system_header): Likewise.
54672         * lib/se-selinux.in.h (system_header): Likewise.
54673         * lib/search.in.h (system_header): Likewise.
54674         * lib/spawn.in.h (system_header): Likewise.
54675         * lib/stdarg.in.h (system_header): Likewise.
54676         * lib/stdint.in.h (system_header): Likewise.
54677         * lib/string.in.h (system_header): Likewise.
54678         * lib/strings.in.h (system_header): Likewise.
54679         * lib/sys_file.in.h (system_header): Likewise.
54680         * lib/sys_ioctl.in.h (system_header): Likewise.
54681         * lib/sys_socket.in.h (system_header): Likewise.
54682         * lib/sys_times.in.h (system_header): Likewise.
54683         * lib/sys_utsname.in.h (system_header): Likewise.
54684         * lib/sys_wait.in.h (system_header): Likewise.
54685         * lib/sysexits.in.h (system_header): Likewise.
54686         * lib/unistd.in.h (system_header): Likewise.
54687         * lib/wctype.in.h (system_header): Likewise.
54689         arpa/inet: fix mingw compilation warning
54690         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
54691         Reported by Matthew Bolte.
54693 2010-03-25  Bruno Haible  <bruno@clisp.org>
54695         Avoid collision between gnulib wrapper and libintl wrapper.
54696         * lib/printf.c (printf): Don't define if a printf wrapper is already
54697         defined in intl/printf.c.
54698         Reported by Michel Boaventura <michel@michelboaventura.com>.
54700 2010-03-25  Bruno Haible  <bruno@clisp.org>
54702         Use ANSI C.
54703         * lib/readutmp.h (getutent): Provide ANSI C prototype.
54705 2010-03-25  Bruno Haible  <bruno@clisp.org>
54707         Minor formatting changes.
54708         * lib/acosl.c: Insert space before function argument list.
54709         * lib/argz.c: Likewise.
54710         * lib/asinl.c: Likewise.
54711         * lib/expl.c: Likewise.
54712         * lib/gen-uni-tables.c: Likewise.
54713         * lib/gettext.h: Likewise.
54714         * lib/glthread/lock.h: Likewise.
54715         * lib/tanl.c: Likewise.
54716         * lib/uniname/uniname.c: Likewise.
54717         * tests/test-idpriv-drop.c: Likewise.
54718         * tests/test-idpriv-droptemp.c: Likewise.
54719         * tests/test-lock.c: Likewise.
54720         * tests/test-tls.c: Likewise.
54721         * lib/argp-help.c: Insert space before function-like macro argument
54722         list.
54723         * lib/memcmp.c: Likewise.
54724         * tests/test-base64.c: Likewise.
54725         * lib/localename.c: Insert space before sizeof's argument list.
54726         * lib/safe-alloc.h: Likewise.
54727         * lib/file-set.h: Insert space before macro argument list.
54728         * tests/test-argp.c: Likewise.
54729         * lib/argp-namefrob.h: Insert space before function parameter list.
54730         * lib/getaddrinfo.c: Likewise.
54731         * lib/netdb.in.h: Likewise.
54732         * lib/parse-duration.h: Likewise.
54733         * lib/parse-duration.c: Likewise.
54734         * lib/poll.c: Likewise.
54735         * lib/select.c: Likewise.
54736         * lib/trim.h: Likewise.
54737         * tests/test-usleep.c: Likewise.
54738         * lib/ldexpl.c: Insert space before function parameter list and before
54739         function argument list.
54740         * lib/logl.c: Likewise.
54741         * lib/sqrtl.c: Likewise.
54742         * lib/trim.c: Likewise.
54743         * lib/cosl.c: Use GNU style indentation. Insert space before function
54744         argument list.
54745         * lib/sinl.c: Likewise.
54746         * lib/tsearch.c: Insert space after 'for'.
54747         Reported by Jim Meyering.
54749 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
54751         * maint.mk (sc_Wundef_boolean): Check for the presence of the
54752         config header before grepping, as it's not present before
54753         autoreconf/configure are run.  Reported by Simon Josefsson.
54755 2010-03-23  Bruno Haible  <bruno@clisp.org>
54757         pt_chown: Make it work with automake < 1.11.
54758         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
54759         Reported by Simon Josefsson.
54761 2010-03-23  Bruno Haible  <bruno@clisp.org>
54763         pt_chown: Don't depend on GPLed modules.
54764         * lib/pt_chown.c: Don't include idpriv.h.
54765         (main): Don't drop privileges.
54766         * modules/pt_chown (Depends-on): Remove idpriv-drop.
54767         Reported by Simon Josefsson.
54769 2010-03-24  Simon Josefsson  <simon@josefsson.org>
54771         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
54772         suggestions from karl@freefriends.org (Karl Berry).
54774 2010-03-22  Eric Blake  <eblake@redhat.com>
54776         gethostname: further tweaks
54777         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
54778         are overriding gethostname.
54779         Suggested by Bruno Haible.
54781 2010-03-21  Bruno Haible  <bruno@clisp.org>
54783         Fix comments.
54784         * lib/forkpty.c (rpl_forkpty): Fix comment.
54785         * lib/openpty.c (rpl_openpty): Likewise.
54786         Reported by Eric Blake.
54788 2010-03-22  Eric Blake  <eblake@redhat.com>
54790         gethostname: fix build on mingw
54791         * lib/unistd.in.h (includes): Work around fact that mingw
54792         <winsock2.h> re-includes <unistd.h>, by avoiding any
54793         redeclarations if we are being included by <winsock2.h>.
54794         Reported by Matthias Bolte.
54796 2010-03-21  Bruno Haible  <bruno@clisp.org>
54798         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
54799         * lib/forkpty.c (forkpty): New replacement function, from glibc with
54800         modifications.
54801         * lib/pty.in.h (forkpty): Update declaration. Add comments.
54802         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
54803         provide the replacement.
54804         * modules/forkpty (Depends-on): Add openpty, login_tty.
54805         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
54806         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
54807         * doc/glibc-functions/forkpty.texi: More supported platforms.
54808         * config/srclist.txt: Add forkpty.c (commented).
54810 2010-03-21  Bruno Haible  <bruno@clisp.org>
54812         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
54813         (Makefile.am): Verify that PTY_LIB is defined.
54815         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
54817 2010-03-21  Bruno Haible  <bruno@clisp.org>
54819         Tests for module 'login_tty'.
54820         * modules/login_tty-tests: New file.
54821         * tests/test-login_tty.c: New file.
54823         New module 'login_tty'.
54824         * lib/login_tty.c: New file.
54825         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
54826         * modules/login_tty: New file.
54827         * doc/glibc-functions/login_tty.texi: Mention the new module.
54829 2010-03-21  Bruno Haible  <bruno@clisp.org>
54831         login_tty: Documentation.
54832         * doc/glibc-functions/login_tty.texi: New file.
54833         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
54835 2010-03-21  Bruno Haible  <bruno@clisp.org>
54837         pty: Consistent macro naming.
54838         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
54839         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
54840         * modules/pty (configure.ac): Update.
54842 2010-03-21  Bruno Haible  <bruno@clisp.org>
54844         Tests for openpty: Make stricter.
54845         * tests/test-openpty.c (main): Add test of canonical processing and
54846         erase.
54847         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
54849         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
54850         * lib/openpty.c (openpty): New replacement function.
54851         * lib/pty.in.h: Include <termios.h>.
54852         (openpty): Update declaration. Add comments.
54853         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
54854         is not declared, arrange to provide the replacement. Check for _getpty
54855         and posix_openpt.
54856         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
54857         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
54858         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
54859         * modules/pty-tests (test_pty_c___LDADD): New variable.
54860         * doc/glibc-functions/openpty.texi: More supported platforms.
54862 2010-03-21  Bruno Haible  <bruno@clisp.org>
54864         setenv: Tweaks.
54865         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
54866         the test program.
54867         * doc/posix-functions/setenv.texi: Update platforms list.
54869 2010-03-21  Bruno Haible  <bruno@clisp.org>
54871         New module 'unlockpt'.
54872         * lib/unlockpt.c: New file, from glibc with modifications.
54873         * m4/unlockpt.m4: New file.
54874         * modules/unlockpt: New file.
54875         * lib/stdlib.in.h (unlockpt): New declaration.
54876         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
54877         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
54878         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
54879         HAVE_UNLOCKPT.
54880         * doc/posix-functions/unlockpt.texi: Mention the new module.
54881         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
54882         * config/srclist.txt: Add unlockpt.c (commented).
54884 2010-03-21  Jim Meyering  <meyering@redhat.com>
54886         maint.mk: prohibit inclusion of "intprops.h" without use
54887         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
54889 2010-03-21  Bruno Haible  <bruno@clisp.org>
54891         New module 'grantpt'.
54892         * lib/grantpt.c: New file, from glibc with modifications.
54893         * m4/grantpt.m4: New file.
54894         * modules/grantpt: New file.
54895         * lib/stdlib.in.h (grantpt): New declaration.
54896         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
54897         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
54898         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
54899         HAVE_GRANTPT.
54900         * doc/posix-functions/grantpt.texi: Mention the new module.
54901         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
54902         * config/srclist.txt: Add grantpt.c (commented).
54904 2010-03-21  Bruno Haible  <bruno@clisp.org>
54906         New module 'pt_chown'.
54907         * lib/pt_chown.c: New file, from glibc with modifications.
54908         * lib/pty-private.h: New file, from glibc with modifications.
54909         * modules/pt_chown: New file.
54910         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
54912 2010-03-21  Bruno Haible  <bruno@clisp.org>
54914         Tests for module 'ptsname'.
54915         * modules/ptsname-tests: New file.
54916         * tests/test-ptsname.c: New file.
54918         New module 'ptsname'.
54919         * lib/ptsname.c: New file, from glibc with modifications.
54920         * m4/ptsname.m4: New file.
54921         * modules/ptsname: New file.
54922         * lib/stdlib.in.h (ptsname): New declaration.
54923         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
54924         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
54925         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
54926         HAVE_PTSNAME.
54927         * doc/posix-functions/ptsname.texi: Mention the new module.
54928         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
54929         * config/srclist.txt: Add ptsname.c (commented).
54931 2010-03-21  Bruno Haible  <bruno@clisp.org>
54933         Tests for module 'ttyname_r'.
54934         * modules/ttyname_r-tests: New file.
54935         * tests/test-ttyname_r.c: New file.
54937         New module 'ttyname_r'.
54938         * lib/ttyname_r.c: New file.
54939         * m4/ttyname_r.m4: New file.
54940         * modules/ttyname_r: New file.
54941         * lib/unistd.in.h (ttyname_r): New declaration.
54942         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
54943         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
54944         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
54945         HAVE_TTYNAME_R.
54946         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
54947         * doc/posix-functions/ttyname_r.texi: Mention the new module.
54949 2010-03-20  Bruno Haible  <bruno@clisp.org>
54951         signal: Undefine macro definitions in C++ mode.
54952         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
54953         sigfillset): Undefine macro definitions from the system header in C++
54954         mode.
54955         Reported by John W. Eaton <jwe@gnu.org>.
54957 2010-03-20  Bruno Haible  <bruno@clisp.org>
54959         Ensure no #include statements inside extern "C" { ... }.
54960         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
54961         contain #include statements.
54962         * lib/time.in.h: Likewise.
54964 2010-03-20  Bruno Haible  <bruno@clisp.org>
54966         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
54967         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
54968         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
54969         Reported by John W. Eaton <jwe@gnu.org>.
54971 2010-03-20  Bruno Haible  <bruno@clisp.org>
54973         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
54974         Reported by Jim Meyering.
54976 2010-03-20  Bruno Haible  <bruno@clisp.org>
54978         pipe: Set errno upon failure.
54979         * lib/pipe.h: Specify that when -1 is returned, errno is set.
54980         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
54981         errno value in error message.
54983 2010-03-20  Bruno Haible  <bruno@clisp.org>
54984             Jim Meyering  <meyering@redhat.com>
54986         lchown: Avoid "unused variable" warning.
54987         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
54989 2010-03-20  Bruno Haible  <bruno@clisp.org>
54991         Work around unlink() bug on MacOS X 10.5.6.
54992         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
54993         attempting to unlink a parent directory.
54994         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
54995         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
54996         activate for the replacement function.
54997         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
54999 2010-03-20  Bruno Haible  <bruno@clisp.org>
55001         Fix link errors on Solaris 8.
55002         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
55003         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
55005 2010-03-19  Jim Meyering  <meyering@redhat.com>
55007         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
55008         The _LIBC implementation of build_range_exp correctly honors the
55009         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
55010         However, the non-_LIBC implementation would ignore that syntax-bit
55011         flag and return REG_ERANGE unconditionally.
55012         This change makes it honor that flag.
55013         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
55014         Make two pointer parameters "const".
55015         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
55016         (parse_bracket_exp): Update caller.
55018         regex.m4: correct the reversed range endpoint ([b-a]) test
55019         * m4/regex.m4: When requiring that [b-a] evoke failure,
55020         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
55021         test pass once again for x86-based systems.
55023 2010-03-19  Bruno Haible  <bruno@clisp.org>
55025         scandir: Fix link error on Solaris 8.
55026         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
55027         macros.
55029 2010-03-19  Bruno Haible  <bruno@clisp.org>
55031         getusershell: Fix documentation.
55032         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
55033         module.
55034         * doc/glibc-functions/setusershell.texi: Likewise.
55036         getusershell: Provide declaration, missing on Solaris 9.
55037         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
55038         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
55039         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
55040         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
55041         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
55042         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
55043         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
55044         HAVE_GETUSERSHELL.
55045         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
55047 2010-03-19  Bruno Haible  <bruno@clisp.org>
55049         wctype: Provide iswblank function.
55050         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
55051         exists and is fine.
55052         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
55053         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
55054         * tests/test-wctype.c (main): Re-enable the iswblank tests.
55055         * doc/posix-functions/iswblank.texi: Update.
55057 2010-03-19  Bruno Haible  <bruno@clisp.org>
55059         Tests of module 'pty' in C++ mode.
55060         * modules/pty-tests: New file.
55061         * tests/test-pty-c++.cc: New file.
55062         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
55064 2010-03-19  Eric Blake  <eblake@redhat.com>
55066         logb: fix documentation
55067         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
55068         1.5 declaration bug.
55070         forkpty, openpty: prefer glibc's const-safe prototype
55071         * lib/forkpty.c (rpl_forkpty): New file.
55072         * lib/openpty.c (rpl_openpty): Likewise.
55073         * modules/forkpty (Files): Distribute it.
55074         * modules/openpty (Files): Likewise.
55075         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
55076         check...
55077         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
55078         replacement for non-const BSD signature.
55079         * modules/pty (Makefile.am): Substitute witnesses.
55080         * lib/pty.in.h (forkpty, openpty): Declare replacements.
55081         * tests/test-forkpty.c: Update signature check.
55082         * tests/test-openpty.c: Likewise.
55083         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
55084         * doc/glibc-functions/openpty.texi (openpty): Likewise.
55086         forkpty, openpty: split functions into new modules
55087         * modules/pty (Makefile.am): Substitute new witnesses.
55088         (Libraries): Move library detection...
55089         * modules/forkpty: ...into new module.
55090         * modules/openpty: Another new module.
55091         * modules/pty-tests: Rename and split...
55092         * modules/forkpty-tests: ...to this...
55093         * modules/openpty-tests: ...and this.
55094         * tests/test-pty.c: Rename and split...
55095         * tests/test-forkpty.c: ...to this...
55096         * tests/test-openpty.c: ...and this.
55097         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
55098         (gl_PTY): Split library searching...
55099         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
55100         (gl_FORKPTY, gl_OPENPTY): New macros.
55101         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
55102         * NEWS: Mention the split.
55103         * MODULES.html.sh (Misc): Document the modules.
55104         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
55105         * doc/glibc-functions/openpty.texi (openpty): Likewise.
55107         pty: improve replacement header
55108         * lib/pty.in.h: New file.
55109         * modules/pty (Files): Ship it.
55110         (Makefile.am): Always build replacement.
55111         * m4/pty.m4: Rename...
55112         * m4/pty_h.m4: ...to this.
55113         (gl_PTY): Modernize setting of witness macros; update check of
55114         forkpty to take proper advantage of cache.
55115         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
55117         getopt: avoid compiler warning
55118         * lib/getopt.c (attribute_hidden): Remove unused macro.
55120 2010-03-18  Bruno Haible  <bruno@clisp.org>
55122         Fix link errors on Solaris 8.
55123         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
55124         * modules/search-tests (test_search_c___LDADD): Likewise.
55125         * modules/signal-tests (test_signal_c___LDADD): Likewise.
55126         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
55127         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
55128         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
55129         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
55130         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
55131         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
55133 2010-03-18  Bruno Haible  <bruno@clisp.org>
55135         Fix bug introduced on 2010-03-14.
55136         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
55137         (gl_SPAWN_H): Require it.
55138         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
55139         Reported by Simon Josefsson.
55141 2010-03-18  Bruno Haible  <bruno@clisp.org>
55143         Fix typo introduced on 2009-12-31.
55144         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
55145         posix_spawn_file_actions_adddup2.
55147 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
55148         and Eric Blake  <eblake@redhat.com>
55150         test-vc-list-files-git: make more robust
55151         * tests/test-vc-list-files-git.sh: Unset problematic environment
55152         variables.  Chain commands together.
55154 2010-03-17  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
55156         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
55157         `AC_CHECK_DECL' invocation.
55159 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
55161         * lib/inttostr.c (inttostr): Make sure the invocation of verify
55162         appears before executable statements. Suggested by Petr Sumbera
55163         <Petr.Sumbera@Sun.COM>.
55165 2010-03-14  Bruno Haible  <bruno@clisp.org>
55167         * tests/test-flock.c (test_exclusive): Comment out a test that causes
55168         portability problems. Instead use a simpler test.
55169         (main): Check that invalid arguments are rejected only on Linux.
55171 2010-03-14  Bruno Haible  <bruno@clisp.org>
55173         Fix bug introduced on 2009-12-31.
55174         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
55175         gl_PREREQ_SYS_H_WINSOCK2 always.
55176         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
55177         SYS_SOCKET_H variable.
55178         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
55179         Update comments.
55180         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
55181         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
55182         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
55183         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
55184         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
55186 2010-03-14  Bruno Haible  <bruno@clisp.org>
55188         Fix values returned by sinl, cosl.
55189         * lib/trigl.h: Add specification comments.
55190         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
55191         that combines the values from the precomputed table with the values of
55192         the Chebyshev polynomials.
55194 2010-03-14  Bruno Haible  <bruno@clisp.org>
55196         Fix compilation error when modules 'posix_spawn[p]' are not used.
55197         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
55198         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
55200 2010-03-14  Bruno Haible  <bruno@clisp.org>
55202         Fix compilation error on mingw when module 'time_r' is not used.
55203         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
55204         is 1.
55205         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
55206         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
55207         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
55208         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
55210 2010-03-14  Bruno Haible  <bruno@clisp.org>
55212         Fix compilation error with Sun C.
55213         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
55214         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
55215         instead of GCC specific ULONG_LONG_MAX.
55216         * lib/xstrtoll.c: Likewise.
55217         * lib/xstrtoull.c: Likewise.
55219 2010-03-13  Bruno Haible  <bruno@clisp.org>
55221         Allow the user to disable C++ code and tests.
55222         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
55223         (gl_PROG_ANSI_CXX): Require it.
55225 2010-03-13  Bruno Haible  <bruno@clisp.org>
55227         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
55228         cases.
55230 2010-03-13  Bruno Haible  <bruno@clisp.org>
55232         Test that gnulib does not break the standard C++ headers.
55233         * tests/test-locale-c++2.cc: New file.
55234         * modules/locale-tests (Files): Add it.
55235         (Makefile.am): Compile it for test-locale-c++.
55236         * tests/test-math-c++2.cc: New file.
55237         * modules/math-tests (Files): Add it.
55238         (Makefile.am): Compile it for test-math-c++.
55239         * tests/test-signal-c++2.cc: New file.
55240         * modules/signal-tests (Files): Add it.
55241         (Makefile.am): Compile it for test-signal-c++.
55242         * tests/test-stdio-c++2.cc: New file.
55243         * modules/stdio-tests (Files): Add it.
55244         (Makefile.am): Compile it for test-stdio-c++.
55245         * tests/test-stdlib-c++2.cc: New file.
55246         * modules/stdlib-tests (Files): Add it.
55247         (Makefile.am): Compile it for test-stdlib-c++.
55248         * tests/test-string-c++2.cc: New file.
55249         * modules/string-tests (Files): Add it.
55250         (Makefile.am): Compile it for test-string-c++.
55251         * tests/test-time-c++2.cc: New file.
55252         * modules/time-tests (Files): Add it.
55253         (Makefile.am): Compile it for test-time-c++.
55254         Reported by John W. Eaton <jwe@gnu.org>.
55256 2010-03-13  Bruno Haible  <bruno@clisp.org>
55258         * gnulib-tool (func_usage): Clarify which options are available for
55259         --create-testdir and --create-megatestdir.
55261 2010-03-13  Bruno Haible  <bruno@clisp.org>
55263         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
55264         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
55265         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
55266         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
55267         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
55268         when appropriate.
55269         Reported by Jim Meyering.
55271 2010-03-12  Simon Josefsson  <simon@josefsson.org>
55273         * gnulib-tool (func_import): Explain origin of code.
55275 2010-03-12  Bruno Haible  <bruno@clisp.org>
55277         Fix problem with automake's definition of CXXLINK.
55278         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
55279         Reported by Simon Josefsson and Ludovic Courtès.
55281 2010-03-12  Bruno Haible  <bruno@clisp.org>
55283         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
55284         stable releases.
55286 2010-03-11  Bruno Haible  <bruno@clisp.org>
55288         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
55289         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
55290         whether the system provides one variant or multiple variants of the
55291         function.
55292         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
55293         C++ compilers.
55294         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
55295         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
55296         Reported by Jim Meyering.
55298 2010-03-09  Simon Josefsson  <simon@josefsson.org>
55300         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
55302 2010-03-08  Bruno Haible  <bruno@clisp.org>
55304         gnulib-tool: Add support for --libtool in --create-testdir.
55305         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
55306         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
55308 2010-03-08  Eric Blake  <eblake@redhat.com>
55310         gnulib-tool.texi: mention possibility of git submodule
55311         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
55312         submodules.
55313         * doc/.gitignore: Ignore another generated file.
55315 2010-03-08  Karl Berry  <karl@gnu.org>
55317         * doc/gnulib-tool.texi (VCS Issues): Mention third option
55318         of committing gnulib files while skipping others.
55320 2010-03-07  Bruno Haible  <bruno@clisp.org>
55322         Tests of module 'wctype' in C++ mode.
55323         * tests/test-wctype-c++.cc: New file.
55324         * modules/wctype-tests (Files): Add it and tests/signature.h.
55325         (Depends-on): Add ansi-c++-opt.
55326         (Makefile.am): Arrange to compile and run test-wctype-c++.
55328         Tests of module 'wchar' in C++ mode.
55329         * tests/test-wchar-c++.cc: New file.
55330         * modules/wchar-tests (Files): Add it and tests/signature.h.
55331         (Depends-on): Add ansi-c++-opt.
55332         (Makefile.am): Arrange to compile and run test-wchar-c++.
55333         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
55334         gl_MODULE_INDICATOR.
55336         Tests of module 'unistd' in C++ mode.
55337         * tests/test-unistd-c++.cc: New file.
55338         * modules/unistd-tests (Files): Add it and tests/signature.h.
55339         (Depends-on): Add ansi-c++-opt.
55340         (Makefile.am): Arrange to compile and run test-unistd-c++.
55341         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
55342         gl_MODULE_INDICATOR.
55344         Tests of module 'time' in C++ mode.
55345         * tests/test-time-c++.cc: New file.
55346         * modules/time-tests (Files): Add it and tests/signature.h.
55347         (Depends-on): Add ansi-c++-opt.
55348         (Makefile.am): Arrange to compile and run test-time-c++.
55349         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
55351         Tests of module 'sys_time' in C++ mode.
55352         * tests/test-sys_time-c++.cc: New file.
55353         * modules/sys_time-tests (Files): Add it and tests/signature.h.
55354         (Depends-on): Add ansi-c++-opt.
55355         (Makefile.am): Arrange to compile and run test-sys_time-c++.
55356         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
55357         gl_MODULE_INDICATOR.
55359         Tests of module 'sys_stat' in C++ mode.
55360         * tests/test-sys_stat-c++.cc: New file.
55361         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
55362         (Depends-on): Add ansi-c++-opt.
55363         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
55364         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
55365         gl_MODULE_INDICATOR.
55367         Tests of module 'sys_socket' in C++ mode.
55368         * tests/test-sys_socket-c++.cc: New file.
55369         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
55370         (Depends-on): Add ansi-c++-opt.
55371         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
55372         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
55373         gl_MODULE_INDICATOR.
55375         Tests of module 'sys_select' in C++ mode.
55376         * tests/test-sys_select-c++.cc: New file.
55377         * modules/sys_select-tests (Files): Add it and tests/signature.h.
55378         (Depends-on): Add ansi-c++-opt.
55379         (Makefile.am): Arrange to compile and run test-sys_select-c++.
55380         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
55381         gl_MODULE_INDICATOR.
55383         Tests of module 'sys_ioctl' in C++ mode.
55384         * tests/test-sys_ioctl-c++.cc: New file.
55385         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
55386         (Depends-on): Add ansi-c++-opt.
55387         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
55388         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
55389         gl_MODULE_INDICATOR.
55391         Tests of module 'string' in C++ mode.
55392         * tests/test-string-c++.cc: New file.
55393         * modules/string-tests (Files): Add it and tests/signature.h.
55394         (Depends-on): Add ansi-c++-opt.
55395         (Makefile.am): Arrange to compile and run test-string-c++.
55396         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
55397         gl_MODULE_INDICATOR.
55399         Tests of module 'stdlib' in C++ mode.
55400         * tests/test-stdlib-c++.cc: New file.
55401         * modules/stdlib-tests (Files): Add it and tests/signature.h.
55402         (Depends-on): Add ansi-c++-opt.
55403         (Makefile.am): Arrange to compile and run test-stdlib-c++.
55404         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
55405         gl_MODULE_INDICATOR.
55407         Tests of module 'stdio' in C++ mode.
55408         * tests/test-stdio-c++.cc: New file.
55409         * modules/stdio-tests (Files): Add it and tests/signature.h.
55410         (Depends-on): Add ansi-c++-opt.
55411         (Makefile.am): Arrange to compile and run test-stdio-c++.
55412         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
55413         gl_MODULE_INDICATOR.
55415         Tests of module 'spawn' in C++ mode.
55416         * tests/test-spawn-c++.cc: New file.
55417         * modules/spawn-tests (Files): Add it and tests/signature.h.
55418         (Depends-on): Add ansi-c++-opt.
55419         (Makefile.am): Arrange to compile and run test-spawn-c++.
55420         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
55421         gl_MODULE_INDICATOR.
55423         Tests of module 'signal' in C++ mode.
55424         * tests/test-signal-c++.cc: New file.
55425         * modules/signal-tests (Files): Add it and tests/signature.h.
55426         (Depends-on): Add ansi-c++-opt.
55427         (Makefile.am): Arrange to compile and run test-signal-c++.
55428         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
55429         gl_MODULE_INDICATOR.
55431         Tests of module 'search' in C++ mode.
55432         * tests/test-search-c++.cc: New file.
55433         * modules/search-tests (Files): Add it and tests/signature.h.
55434         (Depends-on): Add ansi-c++-opt.
55435         (Makefile.am): Arrange to compile and run test-search-c++.
55436         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
55437         gl_MODULE_INDICATOR.
55439         Tests of module 'math' in C++ mode.
55440         * tests/test-math-c++.cc: New file.
55441         * modules/math-tests (Files): Add it and tests/signature.h.
55442         (Depends-on): Add ansi-c++-opt.
55443         (Makefile.am): Arrange to compile and run test-math-c++.
55444         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
55446         Tests of module 'locale' in C++ mode.
55447         * tests/test-locale-c++.cc: New file.
55448         * modules/locale-tests (Files): Add it and tests/signature.h.
55449         (Depends-on): Add ansi-c++-opt.
55450         (Makefile.am): Arrange to compile and run test-locale-c++.
55451         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
55452         gl_MODULE_INDICATOR.
55454         Tests of module 'langinfo' in C++ mode.
55455         * tests/test-langinfo-c++.cc: New file.
55456         * modules/langinfo-tests (Files): Add it and tests/signature.h.
55457         (Depends-on): Add ansi-c++-opt.
55458         (Makefile.am): Arrange to compile and run test-langinfo-c++.
55459         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
55460         gl_MODULE_INDICATOR.
55462         Tests of module 'iconv-h' in C++ mode.
55463         * tests/test-iconv-h-c++.cc: New file.
55464         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
55465         (Depends-on): Add ansi-c++-opt.
55466         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
55468         Tests of module 'glob' in C++ mode.
55469         * tests/test-glob-c++.cc: New file.
55470         * modules/glob-tests (Files): Add it.
55471         (Depends-on): Add ansi-c++-opt.
55472         (Makefile.am): Arrange to compile and run test-glob-c++.
55474         Tests of module 'fcntl-h' in C++ mode.
55475         * tests/test-fcntl-h-c++.cc: New file.
55476         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
55477         (Depends-on): Add ansi-c++-opt.
55478         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
55479         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
55480         gl_MODULE_INDICATOR.
55482         Tests of module 'dirent' in C++ mode.
55483         * tests/test-dirent-c++.cc: New file.
55484         * modules/dirent-tests (Files): Add it and tests/signature.h.
55485         (Depends-on): Add ansi-c++-opt.
55486         (Makefile.am): Arrange to compile and run test-dirent-c++.
55487         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
55488         gl_MODULE_INDICATOR.
55490         New module 'ansi-c++-opt'.
55491         * modules/ansi-c++-opt: New file.
55492         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
55494         Document C++ namespace mode.
55495         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
55497         wctype: Avoid #define replacements in C++ mode.
55498         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
55499         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
55500         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
55501         In C++, define a namespaced alias symbol.
55502         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
55503         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
55504         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
55505         rule.
55507         wchar: Avoid #define replacements in C++ mode.
55508         * lib/wchar.in.h: Include c++defs.h.
55509         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
55510         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
55511         symbol.
55512         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
55513         * modules/wchar (Depends-on): Add c++defs.
55514         (Makefile.am): Update wchar.h rule.
55516         unistd: Avoid #define replacements in C++ mode.
55517         * lib/unistd.in.h: Include c++defs.h.
55518         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
55519         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
55520         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
55521         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
55522         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
55523         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
55524         symbol.
55525         (environ): Update.
55526         * modules/unistd (Depends-on): Add c++defs.
55527         (Makefile.am): Update unistd.h rule.
55529         time: Avoid #define replacements in C++ mode.
55530         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
55531         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
55532         define a namespaced alias symbol.
55533         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
55534         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
55535         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
55536         * modules/time (Depends-on): Add c++defs, warn-on-use.
55537         (Makefile.am): Update time.h rule.
55538         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
55539         * modules/nanosleep (configure.ac): Likewise.
55540         * modules/strptime (configure.ac): Likewise.
55541         * modules/timegm (configure.ac): Likewise.
55543         sys_time: Avoid #define replacements in C++ mode.
55544         * lib/sys_time.in.h: Include c++defs.h.
55545         (gettimeofday): In C++, define a namespaced alias symbol.
55546         * modules/sys_time (Depends-on): Add c++defs.
55547         (Makefile.am): Update sys/time.h rule.
55549         sys_stat: Avoid #define replacements in C++ mode.
55550         * lib/sys_stat.in.h: Include c++defs.h.
55551         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
55552         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
55553         namespaced alias symbol.
55554         In C++, define a namespaced alias symbol.
55555         * modules/sys_stat (Depends-on): Add c++defs.
55556         (Makefile.am): Update sys/stat.h rule.
55558         sys_socket: Avoid #define replacements in C++ mode.
55559         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
55560         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
55561         definitions also when the system has a <sys/socket.h>.
55562         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
55563         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
55564         In C++, define a namespaced alias symbol.
55565         * modules/sys_socket (Depends-on): Add c++defs.
55566         (Makefile.am): Update sys/socket.h rule.
55568         sys_select: Avoid #define replacements in C++ mode.
55569         * lib/sys_select.in.h: Include c++defs.h. Enable the function
55570         definitions also when the system has a <sys/select.h>.
55571         (select): In C++, define a namespaced alias symbol.
55572         * modules/sys_select (Depends-on): Add c++defs.
55573         (Makefile.am): Update sys/select.h rule.
55575         sys_ioctl: Avoid #define replacements in C++ mode.
55576         * lib/sys_ioctl.in.h: Include c++defs.h.
55577         (ioctl): In C++, define a namespaced alias symbol.
55578         * modules/sys_ioctl (Depends-on): Add c++defs.
55579         (Makefile.am): Update sys/ioctl.h rule.
55581         string: Avoid #define replacements in C++ mode.
55582         * lib/string.in.h: Include c++defs.h.
55583         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
55584         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
55585         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
55586         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
55587         strsignal, strverscmp): In C++, define a namespaced alias symbol.
55588         * modules/string (Depends-on): Add c++defs.
55589         (Makefile.am): Update string.h rule.
55591         stdlib: Avoid #define replacements in C++ mode.
55592         * lib/stdlib.in.h: Include c++defs.h.
55593         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
55594         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
55595         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
55596         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
55597         symbol.
55598         * modules/stdlib (Depends-on): Add c++defs.
55599         (Makefile.am): Update stdlib.h rule.
55601         stdio: Avoid #define replacements in C++ mode.
55602         * lib/stdio.in.h: Include c++defs.h.
55603         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
55604         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
55605         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
55606         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
55607         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
55608         namespaced alias symbol.
55609         * modules/stdio (Depends-on): Add c++defs.
55610         (Makefile.am): Update stdio.h rule.
55612         spawn: Avoid #define replacements in C++ mode.
55613         * lib/spawn.in.h: Include c++defs.h.
55614         (posix_spawn, posix_spawnp, posix_spawnattr_init,
55615         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
55616         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
55617         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
55618         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
55619         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
55620         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
55621         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
55622         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
55623         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
55624         In C++, define a namespaced alias symbol.
55625         * modules/spawn (Depends-on): Add c++defs.
55626         (Makefile.am): Update spawn.h rule.
55628         signal: Avoid #define replacements in C++ mode.
55629         * lib/signal.in.h: Include c++defs.h.
55630         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
55631         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
55632         namespaced alias symbol.
55633         * modules/signal (Depends-on): Add c++defs.
55634         (Makefile.am): Update signal.h rule.
55636         search: Avoid #define replacements in C++ mode.
55637         * lib/search.in.h: Include c++defs.h.
55638         (_gl_search_compar_fn, _gl_search_action_fn): New types.
55639         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
55640         symbol.
55641         * modules/search (Depends-on): Add c++defs.
55642         (Makefile.am): Update search.h rule.
55644         math: Avoid #define replacements in C++ mode.
55645         * lib/math.in.h: Include c++defs.h.
55646         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
55647         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
55648         trunc, truncl): In C++, define a namespaced alias symbol.
55649         * modules/math (Depends-on): Add c++defs.
55650         (Makefile.am): Update math.h rule.
55652         locale: Avoid #define replacements in C++ mode.
55653         * lib/locale.in.h: Include c++defs.h.
55654         (duplocale): In C++, define a namespaced alias symbol.
55655         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
55656         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
55657         * modules/locale (Depends-on): Add c++defs.
55658         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
55660         langinfo: Avoid #define replacements in C++ mode.
55661         * lib/langinfo.in.h: Include c++defs.h.
55662         (nl_langinfo): In C++, define a namespaced alias symbol.
55663         * modules/langinfo (Depends-on): Add c++defs.
55664         (Makefile.am): Update langinfo.h rule.
55666         iconv-h: Avoid #define replacements in C++ mode.
55667         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
55668         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
55669         symbol.
55670         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
55671         whenever iconv is present.
55672         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
55673         (Makefile.am): Update iconv.h rule.
55675         glob: Avoid #define replacements in C++ mode.
55676         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
55677         (_gl_glob_errfunc_fn): New type.
55678         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
55679         symbol.
55680         * modules/glob (Depends-on): Add c++defs, warn-on-use.
55681         (Makefile.am): Update glob.h rule.
55683         fcntl-h: Avoid #define replacements in C++ mode.
55684         * lib/fcntl.in.h: Include c++defs.h.
55685         (fcntl, open, openat): In C++, define a namespaced alias symbol.
55686         * modules/fcntl-h (Depends-on): Add c++defs.
55687         (Makefile.am): Update fcntl.h rule.
55689         dirent: Avoid #define replacements in C++ mode.
55690         * lib/dirent.in.h: Include c++defs.h.
55691         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
55692         namespaced alias symbol.
55693         (dirfd): Update declaration.
55694         * modules/dirent (Depends-on): Add c++defs.
55695         (Makefile.am): Update dirent.h rule.
55697         ctype: Make it usable in C++ code.
55698         * lib/ctype.in.h: Include c++defs.h.
55699         (isblank): Declare as extern "C".
55700         * modules/ctype (Depends-on): Add c++defs.
55701         (Makefile.am): Update ctype.h rule.
55703         New module 'c++defs'.
55704         * modules/c++defs: New file.
55705         * build-aux/c++defs.h: New file.
55706         Reported by John W. Eaton <jwe@gnu.org>.
55708 2010-03-07  Bruno Haible  <bruno@clisp.org>
55710         logb: Provide missing declaration for Cygwin.
55711         * lib/math.in.h (logb): New declaration.
55712         * m4/logb.m4: New file.
55713         * modules/logb (Files): Add m4/logb.m4.
55714         (Depends-on): Add math.
55715         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
55716         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
55717         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
55718         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
55719         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
55721 2010-03-07  Bruno Haible  <bruno@clisp.org>
55723         Fix test-cond link error.
55724         * tests/test-cond.c: Include <stdio.h>.
55726 2010-03-07  Bruno Haible  <bruno@clisp.org>
55728         Fix test-dirent-safer link error.
55729         * modules/dirent-safer-tests (Makefile.am): Define
55730         test_dirent_safer_LDADD.
55732 2010-03-07  Bruno Haible  <bruno@clisp.org>
55734         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
55735         among default module list.
55737 2010-03-07  Bruno Haible  <bruno@clisp.org>
55739         Fix link error on platforms with GNU libiconv.
55740         * modules/unistr/u8-strcoll-tests (Makefile): Define
55741         test_u8_strcoll_LDADD.
55742         * modules/unistr/u16-strcoll-tests (Makefile): Define
55743         test_u16_strcoll_LDADD.
55744         * modules/unistr/u32-strcoll-tests (Makefile): Define
55745         test_u32_strcoll_LDADD.
55747 2010-03-07  Bruno Haible  <bruno@clisp.org>
55749         Use POSIX declarations for socket functions.
55750         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
55751         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
55752         rpl_sendto): Change declaration to match POSIX.
55753         * lib/connect.c (rpl_connect): Likewise.
55754         * lib/accept.c (rpl_accept): Likewise.
55755         * lib/bind.c (rpl_bind): Likewise.
55756         * lib/getpeername.c (rpl_getpeername): Likewise.
55757         * lib/getsockname.c (rpl_getsockname): Likewise.
55758         * lib/recv.c (rpl_recv): Likewise.
55759         * lib/send.c (rpl_send): Likewise.
55760         * lib/recvfrom.c (rpl_recvfrom): Likewise.
55761         * lib/sendto.c (rpl_sendto): Likewise.
55763 2010-03-06  Bruno Haible  <bruno@clisp.org>
55765         Clarify access, euidaccess, faccessat.
55766         * doc/posix-functions/faccessat.texi: Mention security problem under
55767         "Other problems", not "Portability problems".
55768         * doc/posix-functions/access.texi: Likewise. Mention a related security
55769         problem.
55770         * doc/glibc-functions/euidaccess.texi: Mention security problems.
55771         * lib/euidaccess.c: Add comments about platforms.
55772         * lib/unistd.in.h (access, euidaccess): Add warnings.
55774 2010-03-07  Bruno Haible  <bruno@clisp.org>
55776         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
55777         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
55778         (POSIX_SPAWN_SETSCHEDULER): Likewise.
55779         (POSIX_SPAWN_USEVFORK): Define in a way that works when
55780         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
55781         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
55782         declare when POSIX_SPAWN_SETSCHEDULER is zero.
55783         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
55784         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
55785         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
55786         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
55787         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
55788         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
55789         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
55790         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
55791         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
55792         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
55793         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
55794         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
55795         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
55796         Likewise.
55797         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
55798         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
55799         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
55800         Likewise.
55801         * tests/test-spawn.c (main): Make it work when
55802         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
55804 2010-03-07  Bruno Haible  <bruno@clisp.org>
55806         Fix incorrect Makefile.am generation in German locale.
55807         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
55808         Execute sed command with character range in C locale.
55810 2010-03-06  Bruno Haible  <bruno@clisp.org>
55812         Tests for module 'iconv-h'.
55813         * modules/iconv-h-tests: New file.
55814         * tests/test-iconv-h.c: New file.
55816         New module 'iconv-h'.
55817         * modules/iconv-h: New file.
55818         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
55819         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
55820         (configure.ac): Remove gl_ICONV_H.
55821         (Makefile.am): Remove rule for iconv.h.
55823 2010-03-06  Bruno Haible  <bruno@clisp.org>
55825         More consistent naming of *.m4 files.
55826         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
55827         * modules/wctype (Files): Update.
55829         More consistent naming of *.m4 files.
55830         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
55831         * modules/wchar (Files): Update.
55833 2010-03-06  Jim Meyering  <meyering@redhat.com>
55835         euidaccess: relax license to LGPLv2+
55836         * modules/euidaccess (License): Relax to LGPLv2+.
55838 2010-03-06  Bruno Haible  <bruno@clisp.org>
55840         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
55841         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
55842         (Makefile.am): Augment lib_SOURCES instead.
55844 2010-03-04  Jim Meyering  <meyering@redhat.com>
55846         utime: remove obsolete module
55847         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
55848         unnecessary for years, and has been marked as obsolete for 10 months.
55849         * modules/utime: Remove file.
55850         * lib/utime.c: Remove file.
55851         * m4/utime.m4: Remove file.
55852         * m4/utimes-null.m4: Remove file.
55853         * doc/posix-functions/utime.texi (utime): Remove reference to
55854         the module.  Move the sole "fixed by gnulib" item into the
55855         "problems not fixed by Gnulib" list.
55856         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
55858 2010-03-05  Simon Josefsson  <simon@josefsson.org>
55860         * modules/exit (License): Relax license to LGPLv2+.
55861         (Status): Mark as obsolete.
55862         * NEWS: Mention deprecated 'exit' module.
55863         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
55864         of now obsolete 'exit'.
55866 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55868         fts-lgpl: remove unused module
55869         * modules/fts-lgpl: Remove.
55870         * MODULES.html.sh (func_all_modules): Adjust.
55871         * check-module (find_included_lib_files): Adjust.
55872         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
55874 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
55876         copy-acl: enhance Solaris ACL error handling
55877         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
55878         * lib/set-mode-acl.c (qset_acl): Likewise.
55880 2010-03-02  Bruno Haible  <bruno@clisp.org>
55882         spawn: Don't override the system defined values on FreeBSD 8.
55883         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
55884         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
55885         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
55886         if HAVE_POSIX_SPAWN is 1.
55887         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
55889 2010-03-01  Bruno Haible  <bruno@clisp.org>
55891         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
55892         regarding Automake.
55894 2010-02-25  Bruno Haible  <bruno@clisp.org>
55896         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
55897         * gnulib-tool: Define 'echo' as a function only before the ksh alias
55898         setting, not afterwards.
55899         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
55901 2010-02-24  Eric Blake  <eblake@redhat.com>
55903         bootstrap, git-version-gen: use timestamp
55904         * build-aux/git-version-gen (scriptversion): Force UTC.
55905         * build-aux/bootstrap (scriptversion): New variable.
55907         bootstrap: allow older git
55908         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
55909         older than 1.6.4.  Requested by the libvirt project.
55911 2010-02-23  Eric Blake  <eblake@redhat.com>
55913         warn-on-use: work with old autoconf
55914         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
55915         AS_VAR semantics of autoconf 2.60.
55916         Reported by Bruno Haible.
55918         bootstrap: improve some comments
55919         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
55920         clarification comments.
55922         gettimeofday: provide correct function
55923         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
55924         when replacement is declared, otherwise provide gettimeofday.
55925         Reported by Michael Goffioul.
55927 2010-02-23  Jim Meyering  <meyering@redhat.com>
55929         lib-ignore: relax license to "unlimited", not LGPLv2+
55930         * modules/lib-ignore (License): Relax to "unlimited".
55932 2010-02-23  Jim Meyering  <meyering@redhat.com>
55934         lib-ignore: relax license to LGPLv2+
55935         * modules/lib-ignore (License): Relax to LGPLv2+.
55937 2010-02-22  Eric Blake  <eblake@redhat.com>
55939         lseek: avoid bash 3.2 broken pipe bug
55940         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
55941         warning from bash 3.2.
55942         Reported by Ben Pfaff, with analysis from Bruno Haible.
55944         bootstrap: support non-FSF copyright holder
55945         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
55946         bootstrap.conf override of COPYRIGHT_HOLDER.
55947         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
55949         bootstrap: interoperate with gettext 0.14.1
55950         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
55952         bootstrap: allow for alternate submodule location
55953         * build-aux/bootstrap (gnulib_path): New variable; use instead of
55954         hardcoding submodule location.
55955         (gnulib_mk): Allow direct use of Makefile.am.
55957         bootstrap: use GNULIB_SRCDIR to reduce disk usage
55958         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
55959         rather than reconfiguring where the submodule points.
55961         gettimeofday: restore support for platforms that lack function
55962         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
55963         replacement if function is missing.
55964         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
55965         * modules/sys_time (Makefile.am): Substitute it.
55966         * lib/sys_time.in.h (gettimeofday): Check it.
55967         Reported by Michael Goffioul.
55969 2010-02-21  Bruno Haible  <bruno@clisp.org>
55971         * lib/stdio.in.h (obstack_printf): Fix typo.
55973 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
55975         vc-list-files: use bzr ls's -R option
55976         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
55977         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
55979 2010-02-21  Jim Meyering  <meyering@redhat.com>
55981         init.sh: fix EXEEXT shims to work also for names like test-prog
55982         * tests/init.sh: Re-exec a better shell, when needed.
55983         If the current shell lacks support for posix $(...), an init.sh-using
55984         test will now try to find a shell that supports that.  If EXEEXT is
55985         nonempty, we also require support for hyphen-in-alias-name and shell
55986         substitutions like ${var#glob}.  Failure to find such a shell results
55987         in a skipped test.
55989 2010-02-21  Bruno Haible  <bruno@clisp.org>
55991         Really work around "broken pipe" error message from bash 3.2.
55992         * gnulib-tool (func_reset_sigpipe): Remove function.
55993         (echo): In bash 3.2, define to a function that uses printf.
55994         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
55996 2010-02-20  Bruno Haible  <bruno@clisp.org>
55998         Restore support for automake 1.9.6 with autoconf 2.61.
55999         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
56000         Reported by James Youngman <jay@gnu.org>.
56002 2010-02-20  Bruno Haible  <bruno@clisp.org>
56004         Improve *printf warning condition.
56005         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
56006         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
56007         and the function is overridden due to SIGPIPE emulation.
56009 2010-02-20  Bruno Haible  <bruno@clisp.org>
56011         * lib/stdio.in.h: Tweak comments.
56013 2010-02-19  Bruno Haible  <bruno@clisp.org>
56015         Make it easier to find modules. New gnulib-tool option '--find'.
56016         * gnulib-tool: New option --find.
56017         (func_usage): Document it.
56018         (func_sanitize_modulelist): New function, extracted from
56019         func_all_modules.
56020         (func_all_modules): Invoke it.
56021         * doc/gnulib-tool.texi (Which modules?): New node.
56023 2010-02-18  Markus Duft  <mduft@gentoo.org>  (tiny change)
56025         * lib/sys_select.in.h: Provide select replacement even if
56026         sys/select.h exists on a system, for Interix.
56028 2010-02-18  Jim Meyering  <meyering@redhat.com>
56030         init.sh: don't use $(...) just yet
56031         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
56032         to accommodate e.g., Solaris' /bin/sh.
56034 2010-02-17  Bruno Haible  <bruno@clisp.org>
56036         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
56037         Reported by Ludovic Courtès <ludo@gnu.org>.
56039 2010-02-16  Simon Josefsson  <simon@josefsson.org>
56041         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
56042         linking with -lintl.
56044 2010-02-17  Simon Josefsson  <simon@josefsson.org>
56046         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
56047         if not provided by the system's netdb.h.  Reported by
56048         ludo@gnu.org (Ludovic Courtès).
56050 2010-02-15  Jim Meyering  <meyering@redhat.com>
56052         init.sh: improve portability and efficiency
56053         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
56054         "dummy" in a for loop.
56055         Use '!', not '^' to select the complement of a character set used
56056         in a "case" statement.
56057         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
56058         Suggestions from Eric Blake.
56060         init.sh: automatically accommodate programs with the .exe suffix
56061         Automatically arrange for an invocation of "prog" to execute the
56062         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
56063         may use the simpler "prog", yet still work when built on a system
56064         that requires specifying the added suffix.
56065         Do this by constructing a function named "prog" that invokes
56066         "prog.exe" for each .exe file in selected directories.
56067         * tests/init.sh (find_exe_basenames_): New function.
56068         (create_exe_shim_functions_): New function.
56069         (path_prepend_): Use it.
56071         maint.mk: mark syntax-check sc_*.m rules as .PHONY
56072         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
56073         "make -t syntax-check" doesn't create a ton of sc_*.m files.
56075 2010-02-14  Jim Meyering  <meyering@redhat.com>
56077         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
56078         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
56079         (sc_prohibit_hash_pjw_without_use): New rule.
56081         maint.mk: allow the default upload destination dir to be overridden
56082         * top/maint.mk (upload_dest_dir_): Define with a default that
56083         preserves the status quo.
56084         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
56085         Reported by Peter Simons.
56087         maint.mk: prohibit inclusion of "hash.h" without_use
56088         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
56090 2010-02-10  Jim Meyering  <meyering@redhat.com>
56092         maint.mk: prohibit inclusion of "ignore-value.h" without_use
56093         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
56095 2010-02-09  Eric Blake  <ebb9@byu.net>
56096         and Bruno Haible  <bruno@clisp.org>
56098         obstack-printf-posix: ensure declaration
56099         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
56100         extracted from gl_FUNC_OBSTACK_PRINTF.
56101         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
56102         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
56103         Likewise.
56104         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
56105         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
56106         0.
56108 2010-02-08  Bruno Haible  <bruno@clisp.org>
56110         gnulib-tool: Fix typo in 2010-02-07 commit.
56111         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
56112         Reported by Eric Blake.
56114 2010-02-07  Bruno Haible  <bruno@clisp.org>
56116         gnulib-tool: Fix up caching patches.
56117         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
56118         option --no-cache. Use associative arrays when supported by the shell.
56119         (sed_comments): New variable.
56120         (modcache): Renamed from do_cache.
56121         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
56122         abbreviate unnecessarily.
56123         (have_associative): New variable.
56124         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
56125         way also for ksh and zsh.
56126         (func_init_sed_convert_to_cache_statements): New function, extracted
56127         from func_cache_lookup_module. Add support for associative arrays.
56128         Don't set the c_MODULE_cached variable here. Ignore all lines before
56129         the first field header. Remove only the final newline, not all trailing
56130         newlines. Support empty fields correctly. Limit the use of 'eval' to
56131         assignments.
56132         (func_get_description, func_get_status, func_get_notice,
56133         func_get_applicability, func_get_filelist, func_get_dependencies,
56134         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
56135         func_get_automake_snippet, func_get_include_directive,
56136         func_get_link_directive, func_get_license, func_get_maintainer):
56137         Update documentation. List the unoptimized code first. Add support for
56138         associative arrays. Limit the use of 'eval' to assignments.
56139         (func_get_applicability): Undo stylistic pessimisations.
56140         (func_get_automake_snippet, func_get_include_directive): Reduce code
56141         duplication.
56142         (func_modules_transitive_closure, func_modules_add_dummy,
56143         func_modules_notice, func_modules_to_filelist, func_add_file,
56144         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
56145         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
56146         func_create_testdir, func_create_megatestdir): Update documentation.
56148 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56150         * gnulib-tool (func_cache_lookup_module): Store the module name
56151         belonging to the cache variable; error out if two different
56152         module names map to the same cache variable name.
56154 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56156         gnulib-tool: Make caching optional.
56157         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
56158         Update matching short versions of --no-changelog.
56159         (func_usage): Update.
56160         (sed_extract_cache_prog): Renamed from ...
56161         (sed_extract_prog): ... this; revert to old extraction script.
56162         (func_get_description, func_get_status)
56163         (func_get_notice, func_get_applicability, func_get_filelist)
56164         (func_get_dependencies, func_get_autoconf_early_snippet)
56165         (func_get_autoconf_snippet, func_get_automake_snippet)
56166         (func_get_include_directive, func_get_link_directive)
56167         (func_get_license, func_get_maintainer): If $do_cache is false,
56168         use old, non-caching extraction scripts.
56169         Suggestion by Bruno Haible.
56171 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56173         gnulib-tool: cache module metainformation.
56174         * gnulib-tool (sed_extract_prog): Match newline before each
56175         header, and rewrite header to a shell variable suffix.
56176         (func_cache_var, func_cache_lookup_module): New functions,
56177         to turn a module name into a cache variable prefix, and to
56178         look up and cache module metainformation.
56179         (func_get_description, func_get_status)
56180         (func_get_notice, func_get_applicability, func_get_filelist)
56181         (func_get_dependencies, func_get_autoconf_early_snippet)
56182         (func_get_autoconf_snippet, func_get_automake_snippet)
56183         (func_get_include_directive, func_get_link_directive)
56184         (func_get_license, func_get_maintainer): Use
56185         func_cache_lookup_module.
56187 2010-02-07  Bruno Haible  <bruno@clisp.org>
56189         fnctl: Fix missing dependency.
56190         * modules/fcntl (Depends-on): Add getdtablesize.
56191         Reported by John W. Eaton <jwe@gnu.org>.
56193 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
56195         Argp: fix recognition of short alias options.
56197         * lib/argp-parse.c (convert_options): Fix improper use of
56198         `|' between character values.
56199         * tests/test-argp.c (group1_option): New alias option
56200         --read (-r).
56201         (group1_parser): Special handling for 'r'.
56202         (test15): New test case.
56203         (test_fun): Add test15.
56204         * tests/test-argp-2.sh: Update expected --help and --usage
56205         outputs.
56207 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
56209         * tests/test-argp.c: Fix indentation.
56211 2010-02-04  Eric Blake  <ebb9@byu.net>
56213         gettimeofday: expose type of second argument
56214         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
56215         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
56216         * tests/test-gettimeofday.c: Use it to silence warning.
56217         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
56218         the issue.
56220 2010-02-03  Jim Meyering  <meyering@redhat.com>
56222         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
56223         * lib/regcomp.c (TYPE_SIGNED): Define.
56224         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
56226         regcomp.c: avoid a new -Wshadow warning
56227         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
56229 2010-02-01  Jim Meyering  <meyering@redhat.com>
56231         removing useless parentheses in cpp #define directives
56232         For motivation, see commit c0221df4, "define STREQ(a,b)
56233         consistently, removing useless parentheses"
56234         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
56235         * lib/mountlist.c (MNT_IGNORE): Likewise.
56236         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
56238 2010-02-01  Eric Blake  <ebb9@byu.net>
56240         sys_time: use link-warning
56241         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
56242         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
56243         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
56244         * modules/sys_time (Depends-on): Add warn-on-use.
56245         (Makefile.am): Always build replacement.
56246         (configure.ac): Update substitutions.
56247         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
56248         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
56249         bother with SYS_TIME_H.
56250         * modules/gettimeofday (configure.ac): Declare indicator.
56251         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
56252         in use.
56254         closein-tests: silence compiler warning
56255         * tests/test-closein.c (main): Ignore fread result.
56256         * modules/closein-tests (Depends-on): Add ignore-value.
56258         tests: silence warning about system return
56259         * tests/test-areadlink-with-size.c (main): Ignore system result.
56260         * tests/test-areadlink.c (main): Likewise.
56261         * tests/test-areadlinkat-with-size.c (main): Likewise.
56262         * tests/test-areadlinkat.c (main): Likewise.
56263         * tests/test-canonicalize-lgpl.c (main): Likewise.
56264         * tests/test-canonicalize.c (main): Likewise.
56265         * tests/test-chown.c (main): Likewise.
56266         * tests/test-fchownat.c (main): Likewise.
56267         * tests/test-fdutimensat.c (main): Likewise.
56268         * tests/test-fstatat.c (main): Likewise.
56269         * tests/test-futimens.c (main): Likewise.
56270         * tests/test-lchown.c (main): Likewise.
56271         * tests/test-link.c (main): Likewise.
56272         * tests/test-linkat.c (main): Likewise.
56273         * tests/test-lstat.c (main): Likewise.
56274         * tests/test-mkdir.c (main): Likewise.
56275         * tests/test-mkdirat.c (main): Likewise.
56276         * tests/test-mkfifo.c (main): Likewise.
56277         * tests/test-mkfifoat.c (main): Likewise.
56278         * tests/test-mknod.c (main): Likewise.
56279         * tests/test-readlink.c (main): Likewise.
56280         * tests/test-remove.c (main): Likewise.
56281         * tests/test-rename.c (main): Likewise.
56282         * tests/test-renameat.c (main): Likewise.
56283         * tests/test-rmdir.c (main): Likewise.
56284         * tests/test-symlink.c (main): Likewise.
56285         * tests/test-symlinkat.c (main): Likewise.
56286         * tests/test-unlink.c (main): Likewise.
56287         * tests/test-unlinkat.c (main): Likewise.
56288         * tests/test-utimens.c (main): Likewise.
56289         * tests/test-utimensat.c (main): Likewise.
56290         * modules/areadlink-tests (Depends-on): Add ignore-value.
56291         * modules/areadlink-with-size-tests (Depends-on): Likewise.
56292         * modules/areadlinkat-tests (Depends-on): Likewise.
56293         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
56294         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
56295         * modules/canonicalize-tests (Depends-on): Likewise.
56296         * modules/chown-tests (Depends-on): Likewise.
56297         * modules/fdutimensat-tests (Depends-on): Likewise.
56298         * modules/futimens-tests (Depends-on): Likewise.
56299         * modules/lchown-tests (Depends-on): Likewise.
56300         * modules/link-tests (Depends-on): Likewise.
56301         * modules/linkat-tests (Depends-on): Likewise.
56302         * modules/lstat-tests (Depends-on): Likewise.
56303         * modules/mkdir-tests (Depends-on): Likewise.
56304         * modules/mkfifo-tests (Depends-on): Likewise.
56305         * modules/mkfifoat-tests (Depends-on): Likewise.
56306         * modules/mknod-tests (Depends-on): Likewise.
56307         * modules/openat-tests (Depends-on): Likewise.
56308         * modules/readlink-tests (Depends-on): Likewise.
56309         * modules/remove-tests (Depends-on): Likewise.
56310         * modules/rename-tests (Depends-on): Likewise.
56311         * modules/renameat-tests (Depends-on): Likewise.
56312         * modules/rmdir-tests (Depends-on): Likewise.
56313         * modules/symlink-tests (Depends-on): Likewise.
56314         * modules/symlinkat-tests (Depends-on): Likewise.
56315         * modules/unlink-tests (Depends-on): Likewise.
56316         * modules/utimens-tests (Depends-on): Likewise.
56317         * modules/utimensat-tests (Depends-on): Likewise.
56319 2010-01-31  Bruno Haible  <bruno@clisp.org>
56321         Perform the same test for many <math.h> functions.
56322         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
56323         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
56324         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
56325         of gl_MATHFUNC.
56326         * modules/acos (configure.ac): Likewise.
56327         * modules/asin (configure.ac): Likewise.
56328         * modules/atan (configure.ac): Likewise.
56329         * modules/atan2 (configure.ac): Likewise.
56330         * modules/cbrt (configure.ac): Likewise.
56331         * modules/copysign (configure.ac): Likewise.
56332         * modules/cos (configure.ac): Likewise.
56333         * modules/cosh (configure.ac): Likewise.
56334         * modules/erf (configure.ac): Likewise.
56335         * modules/erfc (configure.ac): Likewise.
56336         * modules/exp (configure.ac): Likewise.
56337         * modules/fmod (configure.ac): Likewise.
56338         * modules/hypot (configure.ac): Likewise.
56339         * modules/j0 (configure.ac): Likewise.
56340         * modules/j1 (configure.ac): Likewise.
56341         * modules/jn (configure.ac): Likewise.
56342         * modules/lgamma (configure.ac): Likewise.
56343         * modules/log (configure.ac): Likewise.
56344         * modules/log10 (configure.ac): Likewise.
56345         * modules/log1p (configure.ac): Likewise.
56346         * modules/pow (configure.ac): Likewise.
56347         * modules/remainder (configure.ac): Likewise.
56348         * modules/sin (configure.ac): Likewise.
56349         * modules/sinh (configure.ac): Likewise.
56350         * modules/tan (configure.ac): Likewise.
56351         * modules/tanh (configure.ac): Likewise.
56352         * modules/y0 (configure.ac): Likewise.
56353         * modules/y1 (configure.ac): Likewise.
56354         * modules/yn (configure.ac): Likewise.
56355         Suggested by Paolo Bonzini.
56357 2010-01-31  Bruno Haible  <bruno@clisp.org>
56359         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
56361 2010-01-31  Bruno Haible  <bruno@clisp.org>
56363         Work around getdelim() bug on FreeBSD 8.0.
56364         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
56365         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
56366         not work.
56367         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
56368         is 1.
56369         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
56370         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
56371         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
56372         a non-zero size.
56373         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
56375 2010-01-31  Bruno Haible  <bruno@clisp.org>
56377         Work around getline() bug on FreeBSD 8.0.
56378         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
56379         and a non-zero size.
56380         * tests/test-getline.c (main): Likewise.
56381         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
56382         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
56384 2010-01-28  Eric Blake  <ebb9@byu.net>
56386         regex: fix build failure
56387         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
56388         platforms.
56390 2010-01-28  Jim Meyering  <meyering@redhat.com>
56392         regex: do not ignore memory allocation failure
56393         * lib/regex_internal.c (create_cd_newstate): Detect
56394         re_node_set_init_copy failure.   Extracted from glibc commit
56395         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
56397         regex: sync more white-space changes from libc
56398         * lib/regex_internal.c: White-space only changes.
56399         * lib/regexec.c: Likewise.
56401         regex: add many uses of __attribute_warn_unused_result__
56402         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
56403         * lib/regexec.c: Likewise.
56404         Extracted from a messy glibc commit.
56406         regcomp.c: spelling and merge-artifact from glibc
56407         * lib/regcomp.c: Merge remainder of glibc's
56408         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
56410         regcomp.c: sync white-space changes from glibc
56411         * lib/regcomp.c: Merge to accommodate white space
56412         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
56414         regcomp.c: do not ignore internal return values
56415         * lib/regcomp.c: Do not ignore internal return values.
56416         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
56417         but without its white-space changes and spelling fixes.
56419         regex_internal.h: define __attribute_warn_unused_result__
56420         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
56422         maint: add a syntax-check rule to check for vulnerable Makefile.in
56423         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
56425 2010-01-27  Jim Meyering  <meyering@redhat.com>
56427         ncftpput-ftp: clean up spaces
56428         * build-aux/ncftpput-ftp: Make Copyright line consistent.
56429         Remove trailing blanks.
56431 2010-01-27  Simon Josefsson  <simon@josefsson.org>
56433         * build-aux/git-version-gen: Fix copyright statement.
56434         * build-aux/gnupload: Likewise.
56435         * tests/test-arcfour.c: Likewise.
56436         * tests/test-arctwo.c: Likewise.
56437         * tests/test-count-one-bits.c: Likewise.
56438         * tests/test-crc.c: Likewise.
56439         * tests/test-des.c: Likewise.
56440         * tests/test-gc-arcfour.c: Likewise.
56441         * tests/test-gc-arctwo.c: Likewise.
56442         * tests/test-gc-des.c: Likewise.
56443         * tests/test-gc-hmac-md5.c: Likewise.
56444         * tests/test-gc-hmac-sha1.c: Likewise.
56445         * tests/test-gc-md2.c: Likewise.
56446         * tests/test-gc-md4.c: Likewise.
56447         * tests/test-gc-md5.c: Likewise.
56448         * tests/test-gc-pbkdf2-sha1.c: Likewise.
56449         * tests/test-gc-rijndael.c: Likewise.
56450         * tests/test-gc-sha1.c: Likewise.
56451         * tests/test-gc.c: Likewise.
56452         * tests/test-gethostname.c: Likewise.
56453         * tests/test-gettimeofday.c: Likewise.
56454         * tests/test-hash.c: Likewise.
56455         * tests/test-hmac-md5.c: Likewise.
56456         * tests/test-hmac-sha1.c: Likewise.
56457         * tests/test-md2.c: Likewise.
56458         * tests/test-md4.c: Likewise.
56459         * tests/test-md5.c: Likewise.
56460         * tests/test-memchr.c: Likewise.
56461         * tests/test-memchr2.c: Likewise.
56462         * tests/test-memcmp.c: Likewise.
56463         * tests/test-memmem.c: Likewise.
56464         * tests/test-memrchr.c: Likewise.
56465         * tests/test-rawmemchr.c: Likewise.
56466         * tests/test-read-file.c: Likewise.
56467         * tests/test-rijndael.c: Likewise.
56468         * tests/test-sockets.c: Likewise.
56469         * tests/test-strchrnul.c: Likewise.
56470         * tests/test-strstr.c: Likewise.
56471         * tests/test-strtod.c: Likewise.
56472         * build-aux/ncftpput-ftp: Likewise.
56474 2010-01-26  Eric Blake  <ebb9@byu.net>
56476         ignore-value: update recommended header name
56477         * modules/ignore-value (Include): Only use <> for headers that
56478         exist in glibc.
56480 2010-01-26  Jim Meyering  <meyering@redhat.com>
56482         test-userspec.c: avoid compiler warnings
56483         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
56484         and "initialization discards qualifiers..." warnings.
56485         Put the first "uid" in its own scope, and make char* members "const".
56487 2010-01-25  Bruno Haible  <bruno@clisp.org>
56489         gnulib-tool: Make warning diagnostics consistent.
56490         * gnulib-tool (func_warning): New function.
56491         Use it everywhere where gnulib-tool produces output to stderr and it is
56492         not a fatal error.
56494 2010-01-25  Bruno Haible  <bruno@clisp.org>
56496         Fix test dependencies.
56497         * modules/xstrtol-tests (Depends-on): Add inttypes.
56498         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
56500 2010-01-25  Pádraig Brady  <P@draigBrady.com>
56502         syntax-check: detect incorrect boolean macro values in config.h
56503         * modules/maintainer-makefile (configure.ac): Parameterize the location
56504         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
56505         The logic is from Eric Blake and the location indicated by Jim Meyering.
56506         Note the more natural CONFIG_HEADER name is prohibited by automake
56507         for backwards compatibility reasons.
56508         * top/maint.mk (sc_Wundef_boolean): New rule.
56510 2010-01-25  Jim Meyering  <meyering@redhat.com>
56512         bootstrap: detect MacOS 10.6's shasum, too
56513         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
56514         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
56516 2010-01-23  Jim Meyering  <meyering@redhat.com>
56518         xstrtoll: new module
56519         * modules/xstrtoll: New file.
56520         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
56521         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
56522         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
56523         ./configure fails if you use this module and lack "long long".
56524         * modules/xstrtoll-tests: New module.
56525         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
56526         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
56527         new init.sh-based test framework.
56529 2010-01-24  Bruno Haible  <bruno@clisp.org>
56531         Tests for module 'yn'.
56532         * modules/yn-tests: New file.
56533         * tests/test-yn.c: New file.
56535         Tests for module 'y1'.
56536         * modules/y1-tests: New file.
56537         * tests/test-y1.c: New file.
56539         Tests for module 'y0'.
56540         * modules/y0-tests: New file.
56541         * tests/test-y0.c: New file.
56543         Tests for module 'tanh'.
56544         * modules/tanh-tests: New file.
56545         * tests/test-tanh.c: New file.
56547         Tests for module 'tan'.
56548         * modules/tan-tests: New file.
56549         * tests/test-tan.c: New file.
56551         Tests for module 'sqrt'.
56552         * modules/sqrt-tests: New file.
56553         * tests/test-sqrt.c: New file.
56555         Tests for module 'sinh'.
56556         * modules/sinh-tests: New file.
56557         * tests/test-sinh.c: New file.
56559         Tests for module 'sin'.
56560         * modules/sin-tests: New file.
56561         * tests/test-sin.c: New file.
56563         Tests for module 'rint'.
56564         * modules/rint-tests: New file.
56565         * tests/test-rint.c: New file.
56567         Tests for module 'remainder'.
56568         * modules/remainder-tests: New file.
56569         * tests/test-remainder.c: New file.
56571         Tests for module 'pow'.
56572         * modules/pow-tests: New file.
56573         * tests/test-pow.c: New file.
56575         Tests for module 'nextafter'.
56576         * modules/nextafter-tests: New file.
56577         * tests/test-nextafter.c: New file.
56579         Tests for module 'modf'.
56580         * modules/modf-tests: New file.
56581         * tests/test-modf.c: New file.
56583         Tests for module 'logb'.
56584         * modules/logb-tests: New file.
56585         * tests/test-logb.c: New file.
56587         Tests for module 'log1p'.
56588         * modules/log1p-tests: New file.
56589         * tests/test-log1p.c: New file.
56591         Tests for module 'log10'.
56592         * modules/log10-tests: New file.
56593         * tests/test-log10.c: New file.
56595         Tests for module 'log'.
56596         * modules/log-tests: New file.
56597         * tests/test-log.c: New file.
56599         Tests for module 'lgamma'.
56600         * modules/lgamma-tests: New file.
56601         * tests/test-lgamma.c: New file.
56603         Tests for module 'ldexp'.
56604         * modules/ldexp-tests: New file.
56605         * tests/test-ldexp.c: New file.
56607         Tests for module 'jn'.
56608         * modules/jn-tests: New file.
56609         * tests/test-jn.c: New file.
56611         Tests for module 'j1'.
56612         * modules/j1-tests: New file.
56613         * tests/test-j1.c: New file.
56615         Tests for module 'j0'.
56616         * modules/j0-tests: New file.
56617         * tests/test-j0.c: New file.
56619         Tests for module 'hypot'.
56620         * modules/hypot-tests: New file.
56621         * tests/test-hypot.c: New file.
56623         Tests for module 'fmod'.
56624         * modules/fmod-tests: New file.
56625         * tests/test-fmod.c: New file.
56627         Tests for module 'fabs'.
56628         * modules/fabs-tests: New file.
56629         * tests/test-fabs.c: New file.
56631         Tests for module 'exp'.
56632         * modules/exp-tests: New file.
56633         * tests/test-exp.c: New file.
56635         Tests for module 'erfc'.
56636         * modules/erfc-tests: New file.
56637         * tests/test-erfc.c: New file.
56639         Tests for module 'erf'.
56640         * modules/erf-tests: New file.
56641         * tests/test-erf.c: New file.
56643         Tests for module 'cosh'.
56644         * modules/cosh-tests: New file.
56645         * tests/test-cosh.c: New file.
56647         Tests for module 'cos'.
56648         * modules/cos-tests: New file.
56649         * tests/test-cos.c: New file.
56651         Tests for module 'copysign'.
56652         * modules/copysign-tests: New file.
56653         * tests/test-copysign.c: New file.
56655         Tests for module 'cbrt'.
56656         * modules/cbrt-tests: New file.
56657         * tests/test-cbrt.c: New file.
56659         Tests for module 'atan2'.
56660         * modules/atan2-tests: New file.
56661         * tests/test-atan2.c: New file.
56663         Tests for module 'atan'.
56664         * modules/atan-tests: New file.
56665         * tests/test-atan.c: New file.
56667         Tests for module 'asin'.
56668         * modules/asin-tests: New file.
56669         * tests/test-asin.c: New file.
56671         Tests for module 'acos'.
56672         * modules/acos-tests: New file.
56673         * tests/test-acos.c: New file.
56675 2010-01-24  Bruno Haible  <bruno@clisp.org>
56677         Fix tests for common <math.h> functions.
56678         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
56679         code snippet that references the function pointer, rather than merely
56680         calling the function. Substitute the FUNC_LIBM variable.
56681         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
56682         * modules/acos (configure.ac): Likewise.
56683         * modules/asin (configure.ac): Likewise.
56684         * modules/atan (configure.ac): Likewise.
56685         * modules/atan2 (configure.ac): Likewise.
56686         * modules/cbrt (configure.ac): Likewise.
56687         * modules/copysign (configure.ac): Likewise.
56688         * modules/cos (configure.ac): Likewise.
56689         * modules/cosh (configure.ac): Likewise.
56690         * modules/erf (configure.ac): Likewise.
56691         * modules/erfc (configure.ac): Likewise.
56692         * modules/exp (configure.ac): Likewise.
56693         * modules/fabs (configure.ac): Likewise.
56694         * modules/fmod (configure.ac): Likewise.
56695         * modules/hypot (configure.ac): Likewise.
56696         * modules/j0 (configure.ac): Likewise.
56697         * modules/j1 (configure.ac): Likewise.
56698         * modules/jn (configure.ac): Likewise.
56699         * modules/ldexp (configure.ac): Likewise.
56700         * modules/lgamma (configure.ac): Likewise.
56701         * modules/log (configure.ac): Likewise.
56702         * modules/log10 (configure.ac): Likewise.
56703         * modules/log1p (configure.ac): Likewise.
56704         * modules/logb (configure.ac): Likewise.
56705         * modules/modf (configure.ac): Likewise.
56706         * modules/nextafter (configure.ac): Likewise.
56707         * modules/pow (configure.ac): Likewise.
56708         * modules/remainder (configure.ac): Likewise.
56709         * modules/rint (configure.ac): Likewise.
56710         * modules/sin (configure.ac): Likewise.
56711         * modules/sinh (configure.ac): Likewise.
56712         * modules/tan (configure.ac): Likewise.
56713         * modules/tanh (configure.ac): Likewise.
56714         * modules/y0 (configure.ac): Likewise.
56715         * modules/y1 (configure.ac): Likewise.
56716         * modules/yn (configure.ac): Likewise.
56718 2010-01-24  Bruno Haible  <bruno@clisp.org>
56720         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
56721         * tests/test-acosl.c (x): New variable.
56722         (main): Store argument in x and fetch it from x.
56723         * tests/test-asinl.c (x): New variable.
56724         (main): Store argument in x and fetch it from x.
56725         * tests/test-atanl.c (x): New variable.
56726         (main): Store argument in x and fetch it from x.
56727         * tests/test-cosl.c (x): New variable.
56728         (main): Store argument in x and fetch it from x.
56729         * tests/test-expl.c (x): New variable.
56730         (main): Store argument in x and fetch it from x.
56731         * tests/test-logl.c (x): New variable.
56732         (main): Store argument in x and fetch it from x.
56733         * tests/test-sinl.c (x): New variable.
56734         (main): Store argument in x and fetch it from x.
56735         * tests/test-sqrtl.c (x): New variable.
56736         (main): Store argument in x and fetch it from x.
56737         * tests/test-tanl.c (x): New variable.
56738         (main): Store argument in x and fetch it from x.
56740 2010-01-24  Bruno Haible  <bruno@clisp.org>
56742         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
56743         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
56744         assignments to the initial TESTS_ENVIRONMENT.
56745         * doc/gnulib.texi (Unit test modules): Document it.
56746         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
56747         TESTS_ENVIRONMENT.
56748         * modules/btowc-tests (Makefile.am): Likewise.
56749         * modules/c-stack-tests (Makefile.am): Likewise.
56750         * modules/c-strcase-tests (Makefile.am): Likewise.
56751         * modules/copy-file-tests (Makefile.am): Likewise.
56752         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
56753         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
56754         * modules/mbrtowc-tests (Makefile.am): Likewise.
56755         * modules/mbscasecmp-tests (Makefile.am): Likewise.
56756         * modules/mbscasestr-tests (Makefile.am): Likewise.
56757         * modules/mbschr-tests (Makefile.am): Likewise.
56758         * modules/mbscspn-tests (Makefile.am): Likewise.
56759         * modules/mbsinit-tests (Makefile.am): Likewise.
56760         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
56761         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
56762         * modules/mbspbrk-tests (Makefile.am): Likewise.
56763         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
56764         * modules/mbsrchr-tests (Makefile.am): Likewise.
56765         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
56766         * modules/mbsspn-tests (Makefile.am): Likewise.
56767         * modules/mbsstr-tests (Makefile.am): Likewise.
56768         * modules/nl_langinfo-tests (Makefile.am): Likewise.
56769         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
56770         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
56771         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
56772         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
56773         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
56774         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
56775         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
56776         * modules/wcrtomb-tests (Makefile.am): Likewise.
56777         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
56778         * modules/wcsrtombs-tests (Makefile.am): Likewise.
56779         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
56780         assignments from TESTS_ENVIRONMENT.
56781         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
56782         augmentation.
56783         * modules/argp-version-etc-tests (Makefile.am): Likewise.
56784         * modules/atexit-tests (Makefile.am): Likewise.
56785         * modules/binary-io-tests (Makefile.am): Likewise.
56786         * modules/closein-tests (Makefile.am): Likewise.
56787         * modules/dprintf-posix-tests (Makefile.am): Likewise.
56788         * modules/exclude-tests (Makefile.am): Likewise.
56789         * modules/fflush-tests (Makefile.am): Likewise.
56790         * modules/fpending-tests (Makefile.am): Likewise.
56791         * modules/fprintf-posix-tests (Makefile.am): Likewise.
56792         * modules/freadahead-tests (Makefile.am): Likewise.
56793         * modules/freadptr-tests (Makefile.am): Likewise.
56794         * modules/freadseek-tests (Makefile.am): Likewise.
56795         * modules/fseek-tests (Makefile.am): Likewise.
56796         * modules/fseeko-tests (Makefile.am): Likewise.
56797         * modules/ftell-tests (Makefile.am): Likewise.
56798         * modules/ftello-tests (Makefile.am): Likewise.
56799         * modules/idpriv-drop-tests (Makefile.am): Likewise.
56800         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
56801         * modules/lseek-tests (Makefile.am): Likewise.
56802         * modules/parse-duration-tests (Makefile.am): Likewise.
56803         * modules/perror-tests (Makefile.am): Likewise.
56804         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
56805         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
56806         * modules/pipe-tests (Makefile.am): Likewise.
56807         * modules/pread-tests (Makefile.am): Likewise.
56808         * modules/printf-posix-tests (Makefile.am): Likewise.
56809         * modules/select-tests (Makefile.am): Likewise.
56810         * modules/sigpipe-tests (Makefile.am): Likewise.
56811         * modules/tsearch-tests (Makefile.am): Likewise.
56812         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
56813         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
56814         * modules/uniname/uniname-tests (Makefile.am): Likewise.
56815         * modules/uniwidth/width-tests (Makefile.am): Likewise.
56816         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
56817         * modules/version-etc-tests (Makefile.am): Likewise.
56818         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
56819         * modules/vprintf-posix-tests (Makefile.am): Likewise.
56820         * modules/xalloc-die-tests (Makefile.am): Likewise.
56821         * modules/xprintf-posix-tests (Makefile.am): Likewise.
56822         * modules/xstrtoimax-tests (Makefile.am): Likewise.
56823         * modules/xstrtol-tests (Makefile.am): Likewise.
56824         * modules/xstrtoumax-tests (Makefile.am): Likewise.
56825         * modules/yesno-tests (Makefile.am): Likewise.
56826         Suggested by Jim Meyering.
56828 2010-01-24  Bruno Haible  <bruno@clisp.org>
56830         More documentation.
56831         * doc/gnulib.texi (Writing modules): New chapter.
56832         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
56833         the new chapter.
56835 2010-01-24  Jim Meyering  <meyering@redhat.com>
56837         maint.mk: do not prepend "./" after filtering
56838         * top/maint.mk (_prepend_srcdir_prefix): New variable
56839         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
56840         "./" when $(srcdir) is ".".
56842         define STREQ(a,b) consistently, removing useless parentheses
56843         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
56844         since the only risk is that "a" or "b" contains an unparenthesized
56845         comma, but if either did that, STREQ would have 3 or more arguments.
56846         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
56847         * lib/fts.c (STREQ): Remove unnecessary parentheses.
56848         * lib/hash-triple.c (STREQ): Likewise.
56849         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
56850         * lib/getugroups.c (STREQ): Likewise.
56852 2010-01-23  Jim Meyering  <meyering@redhat.com>
56854         maint.mk: fix syntax-check in a non-srcdir build directory
56855         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
56856         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
56858 2010-01-22  Jim Meyering  <meyering@redhat.com>
56860         userspec: add unit tests
56861         * tests/test-userspec.c: New file.
56862         * modules/userspec-tests: Likewise.
56864 2010-01-21  Jim Meyering  <meyering@redhat.com>
56866         maint.mk: handle source file names containing "." robustly
56867         * top/maint.mk (_dot_escaped_srcdir): Define.
56868         (VC_LIST): Use it in LHS of sed substitution.
56870 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
56872         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
56873         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
56874         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
56875         from a non-srcdir build.
56877 2010-01-20  Eric Blake  <ebb9@byu.net>
56879         warn-on-use: use instead of link-warning
56880         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
56881         * modules/unistd (Depends-on, Makefile.am): Likewise.
56882         * modules/arpa_inet (Depends-on): Replace link-warning with
56883         warn-on-use.
56884         (Makefile.am): Update rules accordingly.
56885         * modules/ctype (Depends-on, Makefile.am): Likewise.
56886         * modules/dirent (Depends-on, Makefile.am): Likewise.
56887         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
56888         * modules/inttypes (Depends-on, Makefile.am): Likewise.
56889         * modules/langinfo (Depends-on, Makefile.am): Likewise.
56890         * modules/locale (Depends-on, Makefile.am): Likewise.
56891         * modules/math (Depends-on, Makefile.am): Likewise.
56892         * modules/search (Depends-on, Makefile.am): Likewise.
56893         * modules/signal (Depends-on, Makefile.am): Likewise.
56894         * modules/spawn (Depends-on, Makefile.am): Likewise.
56895         * modules/stdlib (Depends-on, Makefile.am): Likewise.
56896         * modules/string (Depends-on, Makefile.am): Likewise.
56897         * modules/strings (Depends-on, Makefile.am): Likewise.
56898         * modules/sys_file (Depends-on, Makefile.am): Likewise.
56899         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
56900         * modules/sys_select (Depends-on, Makefile.am): Likewise.
56901         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
56902         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
56903         * modules/sys_times (Depends-on, Makefile.am): Likewise.
56904         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
56905         * modules/wchar (Depends-on, Makefile.am): Likewise.
56906         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
56907         should be poisoned.
56908         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
56909         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
56910         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
56911         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
56912         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
56913         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
56914         * m4/math_h.m4 (gl_MATH_H): Likewise.
56915         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
56916         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
56917         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
56918         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
56919         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
56920         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
56921         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
56922         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
56923         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
56924         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
56925         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
56926         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
56927         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
56928         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
56929         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
56930         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
56931         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
56932         GL_LINK_WARNING.
56933         * lib/ctype.in.h: Likewise.
56934         * lib/dirent.in.h: Likewise.
56935         * lib/fcntl.in.h: Likewise.
56936         * lib/inttypes.in.h: Likewise.
56937         * lib/langinfo.in.h: Likewise.
56938         * lib/locale.in.h: Likewise.
56939         * lib/math.in.h: Likewise.
56940         * lib/search.in.h: Likewise.
56941         * lib/signal.in.h: Likewise.
56942         * lib/spawn.in.h: Likewise.
56943         * lib/stdio.in.h: Likewise.
56944         * lib/stdlib.in.h: Likewise.
56945         * lib/string.in.h: Likewise.
56946         * lib/strings.in.h: Likewise.
56947         * lib/sys_file.in.h: Likewise.
56948         * lib/sys_ioctl.in.h: Likewise.
56949         * lib/sys_select.in.h: Likewise.
56950         * lib/sys_socket.in.h: Likewise.
56951         * lib/sys_stat.in.h: Likewise.
56952         * lib/sys_times.in.h: Likewise.
56953         * lib/sys_utsname.in.h: Likewise.
56954         * lib/unistd.in.h: Likewise.
56955         * lib/wchar.in.h: Likewise.
56957 2010-01-20  Bruno Haible  <bruno@clisp.org>
56959         Avoid duplicate -lm.
56960         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
56961         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
56962         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
56963         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
56964         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
56965         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
56966         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
56967         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
56968         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
56969         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
56970         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
56971         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
56972         Reported by Paolo Bonzini.
56974 2010-01-19  Bruno Haible  <bruno@clisp.org>
56976         langinfo, nl_langinfo: Relicense under LGPLv2+.
56977         * modules/langinfo (License): Change to LGPLv2+.
56978         * modules/nl_langinfo (License): Likewise.
56979         Patch by David Lutterkort <lutter@redhat.com>.
56981 2010-01-19  Bruno Haible  <bruno@clisp.org>
56983         Avoid compilation error with cc on OSF/1 5.1.
56984         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
56985         statement, not before.
56986         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
56988 2010-01-18  Bruno Haible  <bruno@clisp.org>
56990         Avoid a link error due to the __printf__ symbol.
56991         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
56992         and 2.6.x.
56993         (__format__, __printf__): Remove definitions.
56994         * lib/argp-fmtstream.h: Likewise.
56995         * lib/argp.h: Likewise.
56996         * lib/error.h: Likewise.
56997         * lib/vasnprintf.h: Likewise.
56998         * lib/xprintf.h: Likewise.
56999         * lib/xvasprintf.h: Likewise.
57000         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
57002 2010-01-18  Bruno Haible  <bruno@clisp.org>
57004         Tests for module 'tanl'.
57005         * modules/tanl-tests: New file.
57006         * tests/test-tanl.c: New file.
57008         Tests for module 'sqrtl'.
57009         * modules/sqrtl-tests: New file.
57010         * tests/test-sqrtl.c: New file.
57012         Tests for module 'sinl'.
57013         * modules/sinl-tests: New file.
57014         * tests/test-sinl.c: New file.
57016         Tests for module 'logl'.
57017         * modules/logl-tests: New file.
57018         * tests/test-logl.c: New file.
57020         Tests for module 'expl'.
57021         * modules/expl-tests: New file.
57022         * tests/test-expl.c: New file.
57024         Tests for module 'cosl'.
57025         * modules/cosl-tests: New file.
57026         * tests/test-cosl.c: New file.
57028         Tests for module 'atanl'.
57029         * modules/atanl-tests: New file.
57030         * tests/test-atanl.c: New file.
57032         Tests for module 'asinl'.
57033         * modules/asinl-tests: New file.
57034         * tests/test-asinl.c: New file.
57036         Tests for module 'acosl'.
57037         * modules/acosl-tests: New file.
57038         * tests/test-acosl.c: New file.
57040         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
57041         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
57042         tanl): Use the standard gnulib idiom.
57043         * lib/cosl.c: Don't include trigl.c and sincosl.c.
57044         * lib/sinl.c: Likewise.
57045         * lib/tanl.c: Don't include trigl.c.
57046         (kernel_tanl): Make static.
57047         * lib/sincosl.c: Include trigl.h first.
57048         * lib/trigl.c: Likewise.
57049         * m4/acosl.m4: New file.
57050         * m4/asinl.m4: New file.
57051         * m4/atanl.m4: New file.
57052         * m4/cosl.m4: New file.
57053         * m4/expl.m4: New file.
57054         * m4/logl.m4: New file.
57055         * m4/sinl.m4: New file.
57056         * m4/sqrtl.m4: New file.
57057         * m4/tanl.m4: New file.
57058         * m4/mathl.m4: Remove file.
57059         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
57060         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
57061         Don't initialize GNULIB_MATHL.
57062         * modules/acosl: New file.
57063         * modules/asinl: New file.
57064         * modules/atanl: New file.
57065         * modules/cosl: New file.
57066         * modules/expl: New file.
57067         * modules/logl: New file.
57068         * modules/sinl: New file.
57069         * modules/sqrtl: New file.
57070         * modules/tanl: New file.
57071         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
57072         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
57073         substitute GNULIB_MATHL.
57074         * modules/mathl: Rewritten.
57075         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
57076         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
57077         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
57078         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
57079         * doc/posix-functions/expl.texi: Mention the 'expl' module.
57080         * doc/posix-functions/logl.texi: Mention the 'logl' module.
57081         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
57082         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
57083         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
57085 2010-01-18  Bruno Haible  <bruno@clisp.org>
57087         sqrt: Make gl_FUNC_SQRT requirable.
57088         * m4/sqrt.m4: New file.
57089         * modules/sqrt (Files): Add it.
57090         (configure.ac): Invoke gl_FUNC_SQRT.
57092 2010-01-18  Bruno Haible  <bruno@clisp.org>
57094         New modules for common <math.h> functions.
57095         * m4/mathfunc.m4: New file.
57096         * modules/acos: New file.
57097         * modules/asin: New file.
57098         * modules/atan: New file.
57099         * modules/atan2: New file.
57100         * modules/cbrt: New file.
57101         * modules/copysign: New file.
57102         * modules/cos: New file.
57103         * modules/cosh: New file.
57104         * modules/erf: New file.
57105         * modules/erfc: New file.
57106         * modules/exp: New file.
57107         * modules/fabs: New file.
57108         * modules/fmod: New file.
57109         * modules/hypot: New file.
57110         * modules/j0: New file.
57111         * modules/j1: New file.
57112         * modules/jn: New file.
57113         * modules/ldexp: New file.
57114         * modules/lgamma: New file.
57115         * modules/log: New file.
57116         * modules/log10: New file.
57117         * modules/log1p: New file.
57118         * modules/logb: New file.
57119         * modules/modf: New file.
57120         * modules/nextafter: New file.
57121         * modules/pow: New file.
57122         * modules/remainder: New file.
57123         * modules/rint: New file.
57124         * modules/sin: New file.
57125         * modules/sinh: New file.
57126         * modules/sqrt: New file.
57127         * modules/tan: New file.
57128         * modules/tanh: New file.
57129         * modules/y0: New file.
57130         * modules/y1: New file.
57131         * modules/yn: New file.
57132         * doc/posix-functions/acos.texi: Mention the 'acos' module.
57133         * doc/posix-functions/asin.texi: Mention the 'asin' module.
57134         * doc/posix-functions/atan.texi: Mention the 'atan' module.
57135         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
57136         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
57137         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
57138         * doc/posix-functions/cos.texi: Mention the 'cos' module.
57139         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
57140         * doc/posix-functions/erf.texi: Mention the 'erf' module.
57141         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
57142         * doc/posix-functions/exp.texi: Mention the 'exp' module.
57143         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
57144         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
57145         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
57146         * doc/posix-functions/j0.texi: Mention the 'j0' module.
57147         * doc/posix-functions/j1.texi: Mention the 'j1' module.
57148         * doc/posix-functions/jn.texi: Mention the 'jn' module.
57149         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
57150         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
57151         * doc/posix-functions/log.texi: Mention the 'log' module.
57152         * doc/posix-functions/log10.texi: Mention the 'log10' module.
57153         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
57154         * doc/posix-functions/logb.texi: Mention the 'logb' module.
57155         * doc/posix-functions/modf.texi: Mention the 'modf' module.
57156         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
57157         * doc/posix-functions/pow.texi: Mention the 'pow' module.
57158         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
57159         * doc/posix-functions/rint.texi: Mention the 'rint' module.
57160         * doc/posix-functions/sin.texi: Mention the 'sin' module.
57161         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
57162         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
57163         * doc/posix-functions/tan.texi: Mention the 'tan' module.
57164         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
57165         * doc/posix-functions/y0.texi: Mention the 'y0' module.
57166         * doc/posix-functions/y1.texi: Mention the 'y1' module.
57167         * doc/posix-functions/yn.texi: Mention the 'yn' module.
57169 2010-01-18  Jim Meyering  <meyering@redhat.com>
57171         ignore-value: relax license to LGPLv2+
57172         * modules/ignore-value (License): Relax to LGPLv2+.
57174         getdate: don't leak when TZ contains two or more '"'s
57175         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
57176         double quote in TZ after the first one.
57178         readtokens: do not leak internal token_lengths buffer
57179         * lib/readtokens.c (readtokens): Free the local, lengths,
57180         when the supplied "token_lengths" parameter is NULL.
57182 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57184         Fix a couple of missing LIBTHREAD link failures on AIX.
57185         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
57186         $(LIBTHREAD).
57187         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
57189         Link test-poll against INET_PTON_LIB.
57190         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
57191         for inet_pton on Solaris 10.
57193 2010-01-17  Bruno Haible  <bruno@clisp.org>
57195         unistdio/*-sprintf: Fix typo in module description.
57196         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
57197         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
57198         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
57199         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
57200         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
57201         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
57202         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
57203         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
57205 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57207         gnulib-tool: fix filelist for AIX, HP-UX ksh.
57208         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
57209         variables in shell case patterns, for AIX and HP-UX ksh.
57211         Split large sed scripts, for HP-UX sed.
57212         * modules/stdio: Split sed scripts around 50 sed commands,
57213         to avoid HP-UX limit of 99 commands, in the near future.
57214         * modules/string: Likewise.
57215         * modules/unistd: Likewise.
57217         gnulib-tool: avoid writing in the current directory.
57218         * gnulib-tool (func_emit_lib_Makefile_am)
57219         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
57220         not in the current directory, so concurrent gnulib-tool
57221         instances do not interfere.
57223 2010-01-16  Jim Meyering  <meyering@redhat.com>
57225         doc: update users.txt
57226         * users.txt: Add grep.
57227         (diffutils, gzip): Update URLs.
57229 2010-01-12  Bruno Haible  <bruno@clisp.org>
57231         posix_spawn: Avoid test failure on Cygwin.
57232         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
57233         characters.
57234         Reported by Simon Josefsson.
57236 2010-01-12  Bruno Haible  <bruno@clisp.org>
57238         * tests/test-cond.c (main): When skipping the test, show the reason.
57240 2010-01-12  Simon Josefsson  <simon@josefsson.org>
57242         * lib/striconv.c (str_cd_iconv): Avoid if before free.
57244 2010-01-12  Simon Josefsson  <simon@josefsson.org>
57246         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
57247         VC_LIST_ALWAYS_EXCLUDE_REGEX.
57249 2010-01-12  Eric Blake  <ebb9@byu.net>
57251         build: guarantee AS_VAR_IF
57252         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
57253         (gl_AS_VAR_IF): Move...
57254         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
57255         Reported by Simon Josefsson.
57257 2010-01-12  Simon Josefsson  <simon@josefsson.org>
57259         * lib/stdio.in.h: Fix typo.
57261 2010-01-12  Simon Josefsson  <simon@josefsson.org>
57263         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
57264         libgpg-error.
57266 2010-01-12  Simon Josefsson  <simon@josefsson.org>
57268         * tests/test-xalloc-die.sh: Use $EXEEXT.
57270 2010-01-12  Simon Josefsson  <simon@josefsson.org>
57271             Bruno Haible  <bruno@clisp.org>
57273         getlogin, getlogin_r: Avoid test failure.
57274         * tests/test-getlogin.c: Include <stdio.h>.
57275         (main): Skip the test when the function fails because stdin is not a
57276         tty.
57277         * tests/test-getlogin_r.c: Include <stdio.h>.
57278         (main): Skip the test when the function fails because stdin is not a
57279         tty.
57281 2010-01-11  Eric Blake  <ebb9@byu.net>
57283         tests: avoid more large file warnings
57284         * tests/test-fflush.c: Avoid warning about ftell use.
57285         * tests/test-fseek.c: Avoid warning about fseek use.
57287 2010-01-10  Bruno Haible  <bruno@clisp.org>
57289         nproc: Work better on Linux when /proc and /sys are not mounted.
57290         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
57291         as lower bound when, on glibc/Linux systems,
57292         sysconf (_SC_NPROCESSORS_CONF) returns 1.
57293         Suggested by Pádraig Brady <P@draigbrady.com>.
57294         Reported by Dmitry V. Levin <ldv@altlinux.org>.
57296         nproc: Refactor.
57297         * lib/nproc.c (num_processors_via_affinity_mask): New function,
57298         extracted from num_processors.
57299         (num_processors): Call it.
57301 2010-01-11  Jim Meyering  <meyering@redhat.com>
57303         utimecmp: avoid new warning from upcoming gcc-4.5.0
57304         * lib/utimecmp.c (BILLION): Define using #define rather than an
57305         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
57307 2010-01-11  Eric Blake  <ebb9@byu.net>
57309         math: add portability warnings for classification macros
57310         * modules/math (Depends-on): Add warn-on-use.
57311         (Makefile.am): Provide new substitutions.
57312         * m4/math_h.m4 (gl_MATH_H): Require inline.
57313         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
57314         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
57315         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
57316         implement warnings.
57318         unistd: warn on use of environ without module
57319         * modules/unistd (Depends-on): Add warn-on-use.
57320         (Makefile.am): Provide new substitutions.
57321         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
57322         * lib/unistd.in.h (environ): Wrap with a warning helper function.
57324         stdio: warn on suspicious uses
57325         * modules/stdio (Depends-on): Add warn-on-use.
57326         (Makefile.am): Provide new substitutions.
57327         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
57328         fseeko.
57329         * lib/stdio.in.h (gets): Always warn on use.
57330         (fseek, ftell): Adjust when warnings are issued, and honor
57331         _GL_NO_LARGE_FILES as a way to silence the warning.
57332         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
57333         any warning about large file offsets.
57334         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
57335         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
57336         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
57337         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
57338         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
57339         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
57340         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
57341         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
57343         warn-on-use: new module
57344         * modules/warn-on-use: New file.
57345         * build-aux/warn-on-use.h: Likewise.
57346         * m4/warn-on-use.m4: Likewise.
57347         * MODULES.html.sh (Support for building): Mention it.
57349 2010-01-10  Bruno Haible  <bruno@clisp.org>
57351         Tests for module 'unistr/u32-strdup'.
57352         * modules/unistr/u32-strdup-tests: New file.
57353         * tests/unistr/test-u32-strdup.c: New file.
57355         Tests for module 'unistr/u16-strdup'.
57356         * modules/unistr/u16-strdup-tests: New file.
57357         * tests/unistr/test-u16-strdup.c: New file.
57359         Tests for module 'unistr/u8-strdup'.
57360         * modules/unistr/u8-strdup-tests: New file.
57361         * tests/unistr/test-u8-strdup.c: New file.
57362         * tests/unistr/test-strdup.h: New file.
57364         Tests for module 'unistr/u32-strncmp'.
57365         * modules/unistr/u32-strncmp-tests: New file.
57366         * tests/unistr/test-u32-strncmp.c: New file.
57368         Tests for module 'unistr/u16-strncmp'.
57369         * modules/unistr/u16-strncmp-tests: New file.
57370         * tests/unistr/test-u16-strncmp.c: New file.
57372         Tests for module 'unistr/u8-strncmp'.
57373         * modules/unistr/u8-strncmp-tests: New file.
57374         * tests/unistr/test-u8-strncmp.c: New file.
57375         * tests/unistr/test-strncmp.h: New file.
57377         Tests for module 'unistr/u32-strcoll'.
57378         * modules/unistr/u32-strcoll-tests: New file.
57379         * tests/unistr/test-u32-strcoll.c: New file.
57381         Tests for module 'unistr/u16-strcoll'.
57382         * modules/unistr/u16-strcoll-tests: New file.
57383         * tests/unistr/test-u16-strcoll.c: New file.
57385         Tests for module 'unistr/u8-strcoll'.
57386         * modules/unistr/u8-strcoll-tests: New file.
57387         * tests/unistr/test-u8-strcoll.c: New file.
57389         Tests for module 'unistr/u32-strcmp'.
57390         * modules/unistr/u32-strcmp-tests: New file.
57391         * tests/unistr/test-u32-strcmp.c: New file.
57392         * tests/unistr/test-u32-strcmp.h: New file.
57394         Tests for module 'unistr/u16-strcmp'.
57395         * modules/unistr/u16-strcmp-tests: New file.
57396         * tests/unistr/test-u16-strcmp.c: New file.
57397         * tests/unistr/test-u16-strcmp.h: New file.
57399         Tests for module 'unistr/u8-strcmp'.
57400         * modules/unistr/u8-strcmp-tests: New file.
57401         * tests/unistr/test-u8-strcmp.c: New file.
57402         * tests/unistr/test-u8-strcmp.h: New file.
57403         * tests/unistr/test-strcmp.h: New file.
57405         Tests for module 'unistr/u32-strncat'.
57406         * modules/unistr/u32-strncat-tests: New file.
57407         * tests/unistr/test-u32-strncat.c: New file.
57409         Tests for module 'unistr/u16-strncat'.
57410         * modules/unistr/u16-strncat-tests: New file.
57411         * tests/unistr/test-u16-strncat.c: New file.
57413         Tests for module 'unistr/u8-strncat'.
57414         * modules/unistr/u8-strncat-tests: New file.
57415         * tests/unistr/test-u8-strncat.c: New file.
57416         * tests/unistr/test-strncat.h: New file.
57418         Tests for module 'unistr/u32-strcat'.
57419         * modules/unistr/u32-strcat-tests: New file.
57420         * tests/unistr/test-u32-strcat.c: New file.
57422         Tests for module 'unistr/u16-strcat'.
57423         * modules/unistr/u16-strcat-tests: New file.
57424         * tests/unistr/test-u16-strcat.c: New file.
57426         Tests for module 'unistr/u8-strcat'.
57427         * modules/unistr/u8-strcat-tests: New file.
57428         * tests/unistr/test-u8-strcat.c: New file.
57429         * tests/unistr/test-strcat.h: New file.
57431         Tests for module 'unistr/u32-stpncpy'.
57432         * modules/unistr/u32-stpncpy-tests: New file.
57433         * tests/unistr/test-u32-stpncpy.c: New file.
57435         Tests for module 'unistr/u16-stpncpy'.
57436         * modules/unistr/u16-stpncpy-tests: New file.
57437         * tests/unistr/test-u16-stpncpy.c: New file.
57439         Tests for module 'unistr/u8-stpncpy'.
57440         * modules/unistr/u8-stpncpy-tests: New file.
57441         * tests/unistr/test-u8-stpncpy.c: New file.
57442         * tests/unistr/test-stpncpy.h: New file.
57444         Tests for module 'unistr/u32-strncpy'.
57445         * modules/unistr/u32-strncpy-tests: New file.
57446         * tests/unistr/test-u32-strncpy.c: New file.
57448         Tests for module 'unistr/u16-strncpy'.
57449         * modules/unistr/u16-strncpy-tests: New file.
57450         * tests/unistr/test-u16-strncpy.c: New file.
57452         Tests for module 'unistr/u8-strncpy'.
57453         * modules/unistr/u8-strncpy-tests: New file.
57454         * tests/unistr/test-u8-strncpy.c: New file.
57455         * tests/unistr/test-strncpy.h: New file.
57457         Tests for module 'unistr/u32-stpcpy'.
57458         * modules/unistr/u32-stpcpy-tests: New file.
57459         * tests/unistr/test-u32-stpcpy.c: New file.
57461         Tests for module 'unistr/u16-stpcpy'.
57462         * modules/unistr/u16-stpcpy-tests: New file.
57463         * tests/unistr/test-u16-stpcpy.c: New file.
57465         Tests for module 'unistr/u8-stpcpy'.
57466         * modules/unistr/u8-stpcpy-tests: New file.
57467         * tests/unistr/test-u8-stpcpy.c: New file.
57468         * tests/unistr/test-stpcpy.h: New file.
57470         Tests for module 'unistr/u32-strcpy'.
57471         * modules/unistr/u32-strcpy-tests: New file.
57472         * tests/unistr/test-u32-strcpy.c: New file.
57474         Tests for module 'unistr/u16-strcpy'.
57475         * modules/unistr/u16-strcpy-tests: New file.
57476         * tests/unistr/test-u16-strcpy.c: New file.
57478         Tests for module 'unistr/u8-strcpy'.
57479         * modules/unistr/u8-strcpy-tests: New file.
57480         * tests/unistr/test-u8-strcpy.c: New file.
57481         * tests/unistr/test-strcpy.h: New file.
57483         Tests for module 'unistr/u32-strnlen'.
57484         * modules/unistr/u32-strnlen-tests: New file.
57485         * tests/unistr/test-u32-strnlen.c: New file.
57487         Tests for module 'unistr/u16-strnlen'.
57488         * modules/unistr/u16-strnlen-tests: New file.
57489         * tests/unistr/test-u16-strnlen.c: New file.
57491         Tests for module 'unistr/u8-strnlen'.
57492         * modules/unistr/u8-strnlen-tests: New file.
57493         * tests/unistr/test-u8-strnlen.c: New file.
57494         * tests/unistr/test-strnlen.h: New file.
57496         Tests for module 'unistr/u32-strlen'.
57497         * modules/unistr/u32-strlen-tests: New file.
57498         * tests/unistr/test-u32-strlen.c: New file.
57500         Tests for module 'unistr/u16-strlen'.
57501         * modules/unistr/u16-strlen-tests: New file.
57502         * tests/unistr/test-u16-strlen.c: New file.
57504         Tests for module 'unistr/u8-strlen'.
57505         * modules/unistr/u8-strlen-tests: New file.
57506         * tests/unistr/test-u8-strlen.c: New file.
57508         Tests for module 'unistr/u32-prev'.
57509         * modules/unistr/u32-prev-tests: New file.
57510         * tests/unistr/test-u32-prev.c: New file.
57512         Tests for module 'unistr/u16-prev'.
57513         * modules/unistr/u16-prev-tests: New file.
57514         * tests/unistr/test-u16-prev.c: New file.
57516         Tests for module 'unistr/u8-prev'.
57517         * modules/unistr/u8-prev-tests: New file.
57518         * tests/unistr/test-u8-prev.c: New file.
57520         Tests for module 'unistr/u32-next'.
57521         * modules/unistr/u32-next-tests: New file.
57522         * tests/unistr/test-u32-next.c: New file.
57524         Tests for module 'unistr/u16-next'.
57525         * modules/unistr/u16-next-tests: New file.
57526         * tests/unistr/test-u16-next.c: New file.
57528         Tests for module 'unistr/u8-next'.
57529         * modules/unistr/u8-next-tests: New file.
57530         * tests/unistr/test-u8-next.c: New file.
57532         Tests for module 'unistr/u32-strmbtouc'.
57533         * modules/unistr/u32-strmbtouc-tests: New file.
57534         * tests/unistr/test-u32-strmbtouc.c: New file.
57536         Tests for module 'unistr/u16-strmbtouc'.
57537         * modules/unistr/u16-strmbtouc-tests: New file.
57538         * tests/unistr/test-u16-strmbtouc.c: New file.
57540         Tests for module 'unistr/u8-strmbtouc'.
57541         * modules/unistr/u8-strmbtouc-tests: New file.
57542         * tests/unistr/test-u8-strmbtouc.c: New file.
57544         Tests for module 'unistr/u32-strmblen'.
57545         * modules/unistr/u32-strmblen-tests: New file.
57546         * tests/unistr/test-u32-strmblen.c: New file.
57548         Tests for module 'unistr/u16-strmblen'.
57549         * modules/unistr/u16-strmblen-tests: New file.
57550         * tests/unistr/test-u16-strmblen.c: New file.
57552         Tests for module 'unistr/u8-strmblen'.
57553         * modules/unistr/u8-strmblen-tests: New file.
57554         * tests/unistr/test-u8-strmblen.c: New file.
57556         Tests for module 'unistr/u32-cpy-alloc'.
57557         * modules/unistr/u32-cpy-alloc-tests: New file.
57558         * tests/unistr/test-u32-cpy-alloc.c: New file.
57560         Tests for module 'unistr/u16-cpy-alloc'.
57561         * modules/unistr/u16-cpy-alloc-tests: New file.
57562         * tests/unistr/test-u16-cpy-alloc.c: New file.
57564         Tests for module 'unistr/u8-cpy-alloc'.
57565         * modules/unistr/u8-cpy-alloc-tests: New file.
57566         * tests/unistr/test-u8-cpy-alloc.c: New file.
57567         * tests/unistr/test-cpy-alloc.h: New file.
57569         Tests for module 'unistr/u32-mbsnlen'.
57570         * modules/unistr/u32-mbsnlen-tests: New file.
57571         * tests/unistr/test-u32-mbsnlen.c: New file.
57573         Tests for module 'unistr/u16-mbsnlen'.
57574         * modules/unistr/u16-mbsnlen-tests: New file.
57575         * tests/unistr/test-u16-mbsnlen.c: New file.
57577         Tests for module 'unistr/u8-mbsnlen'.
57578         * modules/unistr/u8-mbsnlen-tests: New file.
57579         * tests/unistr/test-u8-mbsnlen.c: New file.
57581         Tests for module 'unistr/u32-chr'.
57582         * modules/unistr/u32-chr-tests: New file.
57583         * tests/unistr/test-u32-chr.c: New file.
57585         Tests for module 'unistr/u16-chr'.
57586         * modules/unistr/u16-chr-tests: New file.
57587         * tests/unistr/test-u16-chr.c: New file.
57589         Tests for module 'unistr/u8-chr'.
57590         * modules/unistr/u8-chr-tests: New file.
57591         * tests/unistr/test-u8-chr.c: New file.
57592         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
57594         Tests for module 'unistr/u32-cmp2'.
57595         * modules/unistr/u32-cmp2-tests: New file.
57596         * tests/unistr/test-u32-cmp2.c: New file.
57598         Tests for module 'unistr/u16-cmp2'.
57599         * modules/unistr/u16-cmp2-tests: New file.
57600         * tests/unistr/test-u16-cmp2.c: New file.
57602         Tests for module 'unistr/u8-cmp2'.
57603         * modules/unistr/u8-cmp2-tests: New file.
57604         * tests/unistr/test-u8-cmp2.c: New file.
57605         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
57607         Tests for module 'unistr/u32-cmp'.
57608         * modules/unistr/u32-cmp-tests: New file.
57609         * tests/unistr/test-u32-cmp.c: New file.
57611         Tests for module 'unistr/u16-cmp'.
57612         * modules/unistr/u16-cmp-tests: New file.
57613         * tests/unistr/test-u16-cmp.c: New file.
57615         Tests for module 'unistr/u8-cmp'.
57616         * modules/unistr/u8-cmp-tests: New file.
57617         * tests/unistr/test-u8-cmp.c: New file.
57618         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
57620         Tests for module 'unistr/u32-set'.
57621         * modules/unistr/u32-set-tests: New file.
57622         * tests/unistr/test-u32-set.c: New file.
57624         Tests for module 'unistr/u16-set'.
57625         * modules/unistr/u16-set-tests: New file.
57626         * tests/unistr/test-u16-set.c: New file.
57628         Tests for module 'unistr/u8-set'.
57629         * modules/unistr/u8-set-tests: New file.
57630         * tests/unistr/test-u8-set.c: New file.
57631         * tests/unistr/test-set.h: New file.
57633         Tests for module 'unistr/u32-move'.
57634         * modules/unistr/u32-move-tests: New file.
57635         * tests/unistr/test-u32-move.c: New file.
57637         Tests for module 'unistr/u16-move'.
57638         * modules/unistr/u16-move-tests: New file.
57639         * tests/unistr/test-u16-move.c: New file.
57641         Tests for module 'unistr/u8-move'.
57642         * modules/unistr/u8-move-tests: New file.
57643         * tests/unistr/test-u8-move.c: New file.
57644         * tests/unistr/test-move.h: New file.
57646         Tests for module 'unistr/u32-cpy'.
57647         * modules/unistr/u32-cpy-tests: New file.
57648         * tests/unistr/test-u32-cpy.c: New file.
57650         Tests for module 'unistr/u16-cpy'.
57651         * modules/unistr/u16-cpy-tests: New file.
57652         * tests/unistr/test-u16-cpy.c: New file.
57654         Tests for module 'unistr/u8-cpy'.
57655         * modules/unistr/u8-cpy-tests: New file.
57656         * tests/unistr/test-u8-cpy.c: New file.
57657         * tests/unistr/test-cpy.h: New file.
57659 2010-01-09  Bruno Haible  <bruno@clisp.org>
57661         Tests for module 'unistr/u32-uctomb'.
57662         * modules/unistr/u32-uctomb-tests: New file.
57663         * tests/unistr/test-u32-uctomb.c: New file.
57665         Tests for module 'unistr/u16-uctomb'.
57666         * modules/unistr/u16-uctomb-tests: New file.
57667         * tests/unistr/test-u16-uctomb.c: New file.
57669         Tests for module 'unistr/u8-uctomb'.
57670         * modules/unistr/u8-uctomb-tests: New file.
57671         * tests/unistr/test-u8-uctomb.c: New file.
57673         Tests for module 'unistr/u32-mbtoucr'.
57674         * modules/unistr/u32-mbtoucr-tests: New file.
57675         * tests/unistr/test-u32-mbtoucr.c: New file.
57677         Tests for module 'unistr/u16-mbtoucr'.
57678         * modules/unistr/u16-mbtoucr-tests: New file.
57679         * tests/unistr/test-u16-mbtoucr.c: New file.
57681         Tests for module 'unistr/u8-mbtoucr'.
57682         * modules/unistr/u8-mbtoucr-tests: New file.
57683         * tests/unistr/test-u8-mbtoucr.c: New file.
57685         Tests for module 'unistr/u32-mbtouc'.
57686         * modules/unistr/u32-mbtouc-tests: New file.
57687         * tests/unistr/test-u32-mbtouc.c: New file.
57689         Tests for module 'unistr/u16-mbtouc'.
57690         * modules/unistr/u16-mbtouc-tests: New file.
57691         * tests/unistr/test-u16-mbtouc.c: New file.
57693         Tests for module 'unistr/u8-mbtouc'.
57694         * modules/unistr/u8-mbtouc-tests: New file.
57695         * tests/unistr/test-u8-mbtouc.c: New file.
57697         Tests for module 'unistr/u32-mbtouc-unsafe'.
57698         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
57699         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
57700         * tests/unistr/test-u32-mbtouc.h: New file.
57702         Tests for module 'unistr/u16-mbtouc-unsafe'.
57703         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
57704         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
57705         * tests/unistr/test-u16-mbtouc.h: New file.
57707         Tests for module 'unistr/u8-mbtouc-unsafe'.
57708         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
57709         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
57710         * tests/unistr/test-u8-mbtouc.h: New file.
57712         Tests for module 'unistr/u32-mblen'.
57713         * modules/unistr/u32-mblen-tests: New file.
57714         * tests/unistr/test-u32-mblen.c: New file.
57716         Tests for module 'unistr/u16-mblen'.
57717         * modules/unistr/u16-mblen-tests: New file.
57718         * tests/unistr/test-u16-mblen.c: New file.
57720         Tests for module 'unistr/u8-mblen'.
57721         * modules/unistr/u8-mblen-tests: New file.
57722         * tests/unistr/test-u8-mblen.c: New file.
57724         Tests for module 'unistr/u32-to-u16'.
57725         * modules/unistr/u32-to-u16-tests: New file.
57726         * tests/unistr/test-u32-to-u16.c: New file.
57728         Tests for module 'unistr/u32-to-u8'.
57729         * modules/unistr/u32-to-u8-tests: New file.
57730         * tests/unistr/test-u32-to-u8.c: New file.
57732         Tests for module 'unistr/u16-to-u32'.
57733         * modules/unistr/u16-to-u32-tests: New file.
57734         * tests/unistr/test-u16-to-u32.c: New file.
57736         Tests for module 'unistr/u16-to-u8'.
57737         * modules/unistr/u16-to-u8-tests: New file.
57738         * tests/unistr/test-u16-to-u8.c: New file.
57740         Tests for module 'unistr/u8-to-u32'.
57741         * modules/unistr/u8-to-u32-tests: New file.
57742         * tests/unistr/test-u8-to-u32.c: New file.
57744         Tests for module 'unistr/u8-to-u16'.
57745         * modules/unistr/u8-to-u16-tests: New file.
57746         * tests/unistr/test-u8-to-u16.c: New file.
57748         Tests for module 'unistr/u32-check'.
57749         * modules/unistr/u32-check-tests: New file.
57750         * tests/unistr/test-u32-check.c: New file.
57752         Tests for module 'unistr/u16-check'.
57753         * modules/unistr/u16-check-tests: New file.
57754         * tests/unistr/test-u16-check.c: New file.
57756         Tests for module 'unistr/u8-check'.
57757         * modules/unistr/u8-check-tests: New file.
57758         * tests/unistr/test-u8-check.c: New file.
57760         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
57761         (category_equals): New function.
57762         (main): Add more tests.
57763         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
57765         * tests/unictype/test-bidi_byname.c (main): Add more tests.
57767 2010-01-10  Bruno Haible  <bruno@clisp.org>
57769         unistr/u*-strcoll: Try harder to distinguish different strings.
57770         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
57771         compare s1 and s2 to see if they are different.
57773 2010-01-10  Bruno Haible  <bruno@clisp.org>
57775         unistr/u*-stpncpy: Fix the return value.
57776         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
57777         description of the return value consistent with stpncpy in glibc.
57778         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
57779         written non-NUL unit.
57781 2010-01-10  Bruno Haible  <bruno@clisp.org>
57783         unistr/u*-next: Add missing dependencies.
57784         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
57785         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
57786         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
57788 2010-01-10  Bruno Haible  <bruno@clisp.org>
57790         unistr/u8-mbsnlen: Fix return value for incomplete character.
57791         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
57792         u8_mblen.
57793         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
57794         Remove unistr/u8-mblen.
57795         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
57796         u16_mblen.
57797         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
57798         Remove unistr/u16-mblen.
57800 2010-01-10  Bruno Haible  <bruno@clisp.org>
57802         wchar: Fix compilation error when <wchar.h> is used from coreutils.
57803         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
57804         Reported by Brian Gough <bjg@gnu.org> and
57805         Chris Clayton <chris2553@googlemail.com> via
57806         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
57808 2010-01-09  Bruno Haible  <bruno@clisp.org>
57810         unistr/u16-to-u32: Reject invalid input.
57811         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
57812         u16_mbtouc.
57813         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
57814         Remove unistr/u16-mbtouc.
57816         unistr/u16-to-u8: Reject invalid input.
57817         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
57818         u16_mbtouc.
57819         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
57820         Remove unistr/u16-mbtouc.
57822         unistr/u8-to-u32: Reject invalid input.
57823         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
57824         u8_mbtouc.
57825         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
57826         Remove unistr/u8-mbtouc.
57828         unistr/u8-to-u16: Reject invalid input.
57829         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
57830         u8_mbtouc.
57831         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
57832         Remove unistr/u8-mbtouc.
57834 2010-01-09  Bruno Haible  <bruno@clisp.org>
57836         Tests for module 'getlogin'.
57837         * modules/getlogin-tests: New file.
57838         * tests/test-getlogin.c: New file.
57840         New module 'getlogin'.
57841         * lib/unistd.in.h (getlogin): New declaration.
57842         * lib/getlogin.c: New file.
57843         * m4/getlogin.m4: New file.
57844         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
57845         HAVE_GETLOGIN.
57846         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
57847         HAVE_GETLOGIN.
57848         * modules/getlogin: New file.
57849         * doc/posix-functions/getlogin.texi: Mention the new module.
57850         Reported by John W. Eaton <jwe@gnu.org>.
57852 2010-01-09  Bruno Haible  <bruno@clisp.org>
57854         getlogin_r: Support for native Windows.
57855         * lib/getlogin_r.c: Include <windows.h>
57856         (getlogin_r): Implement for native Windows.
57857         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
57858         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
57859         via John W. Eaton <jwe@gnu.org>.
57861 2010-01-09  Bruno Haible  <bruno@clisp.org>
57863         getlogin_r: Small fixes.
57864         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
57865         succeeds.
57866         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
57867         before testing whether getlogin_r is declared. No need to set
57868         HAVE_DECL_GETLOGIN_R to 1.
57869         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
57871 2010-01-09  Bruno Haible  <bruno@clisp.org>
57873         * lib/unistd.in.h (getlogin_r): Add comment.
57875 2010-01-09  Bruno Haible  <bruno@clisp.org>
57877         Tests for module 'getlogin_r'.
57878         * modules/getlogin_r-tests: New file.
57879         * tests/test-getlogin_r.c: New file.
57881 2010-01-09  Jim Meyering  <meyering@redhat.com>
57883         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
57884         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
57885         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
57887 2010-01-08  Simon Josefsson  <simon@josefsson.org>
57889         * lib/dup2.c (rpl_dup2): Improve comment.
57891 2010-01-08  Eric Blake  <ebb9@byu.net>
57893         maint.mk: allow packages to add makefile @@ exceptions
57894         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
57895         (sc_makefile_check): Rename...
57896         (sc_makefile_at_at_check): ...to this, and use hook.
57898         dup2: work around mingw bug
57899         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
57900         Reported by Simon Josefsson.
57902 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
57904         glob: Fix C++ compilation.
57905         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
57906         C++.
57908 2010-01-07  Bruno Haible  <bruno@clisp.org>
57910         Fix indentation of wctype.in.h, broken since 2007-01-06.
57911         * lib/wctype.in.h: Fix indentation of preprocessor directives.
57913 2010-01-07  Bruno Haible  <bruno@clisp.org>
57915         mbslen: Avoid collision with system function.
57916         * lib/string.in.h [MirBSD]: Include <wchar.h>.
57917         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
57918         * m4/mbslen.m4: New file.
57919         * modules/mbslen (Files): Add it.
57920         (configure.ac): Invoke gl_MBSLEN.
57921         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
57922         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
57923         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
57924         via Ian Beckwith <ianb@erislabs.net>.
57926 2010-01-07  Bruno Haible  <bruno@clisp.org>
57928         dirent: Document the last fix.
57929         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
57931 2010-01-07  Bruno Haible  <bruno@clisp.org>
57933         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
57934         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
57935         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
57936         va_list are defined.
57937         * doc/posix-headers/stdio.texi: Document the bug of missing types.
57938         Reported by Eric Blake.
57940 2010-01-07  Bruno Haible  <bruno@clisp.org>
57942         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
57943         * modules/xlist (Depends-on): Add 'list',
57944         * modules/xoset (Depends-on): Add 'oset'.
57945         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
57947 2010-01-07  Bruno Haible  <bruno@clisp.org>
57949         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
57950         * doc/posix-functions/strncasecmp.texi: Likewise.
57952 2010-01-07  Bruno Haible  <bruno@clisp.org>
57954         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
57956 2010-01-07  John W. Eaton  <jwe@octave.org>
57958         wctype: allow C++ use
57959         * lib/wctype.in.h: Add extern "C" block for C++.
57961 2010-01-06  Eric Blake  <ebb9@byu.net>
57963         maint.mk: detect incorrect GFDL usage
57964         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
57966 2010-01-06  Jim Meyering  <meyering@redhat.com>
57967         and Eric Blake  <ebb9@byu.net>
57969         maint.mk: ignore multi-line copyright in NEWS
57970         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
57972 2010-01-06  Eric Blake  <ebb9@byu.net>
57974         select: add missing dependency
57975         * modules/select-tests (Depends-on): Move sockets dependency...
57976         * modules/select (Depends-on): ...here.
57977         Reported by Ian Beckwith.
57979         doc: regenerate INSTALL
57980         * doc/INSTALL: Reflect recent autoconf update.
57981         * doc/INSTALL.ISO: Likewise.
57982         * doc/INSTALL.UTF-8: Likewise.
57984         pread: fix compilation on glibc
57985         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
57986         Reported by Ralf Wildenhues.
57988         dirent: fix test failure
57989         * lib/dirent.in.h (includes): Guarantee ino_t.
57990         Reported by Ralf Wildenhues.
57992 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
57994         linkat, renameat: avoid bad free
57995         * lib/at-func2.c (at_func2): Fix typo.
57996         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
57998 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58000         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
58001         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
58002         to avoid failure of symlink test later.
58004 2010-01-06  Eric Blake  <ebb9@byu.net>
58006         stdio, unistd: guarantee ssize_t
58007         * lib/unistd.in.h (includes): Ensure that types required by POSIX
58008         2008 are exposed when needed.
58009         * lib/stdio.in.h (includes): Likewise.
58010         Reported by Ralf Wildenhues.
58012 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
58014         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
58015         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
58016         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
58018 2010-01-06  Jim Meyering  <meyering@redhat.com>
58020         readtokens: this module *does* require xalloc.h
58021         It uses only functions that were omitted by the old syntax-check rule.
58022         * lib/readtokens.c: Include "xalloc.h" once again.
58023         * modules/readtokens (Depends-on): Add xalloc.
58024         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
58026 2010-01-05  Eric Blake  <ebb9@byu.net>
58028         maint: support 'make announcement' from a VPATH build
58029         * top/maint.mk (announcement): Look for correct NEWS file.
58031 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
58033         utimens (fdutimens): ignore a negative FD, per contract
58034         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
58035         when we have a valid file descriptor.  Otherwise, using a brand
58036         new glibc (with just-patched futimens that now fails with EBADF)
58037         would cause this function to fail with ENOSYS.
58038         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
58039         See also http://bugzilla.redhat.com/552320.
58041 2010-01-05  Eric Blake  <ebb9@byu.net>
58043         strcase: document what it provides
58044         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
58045         gnulib module.
58046         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
58047         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
58049 2010-01-05  Jim Meyering  <meyering@redhat.com>
58051         maint: remove useless inclusions of "xalloc.h"
58052         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
58053         * lib/readtokens.c: Likewise.
58054         * lib/same.c: Likewise.
58055         * modules/getloadavg (Depends-on): Remove xalloc.
58056         * modules/readtokens: Likewise.
58057         * modules/same: Likewise.
58059         maint.mk: include 4 more function names in alloca.h-checking regexp
58060         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
58061         regexp.  Before, we would give a false-positive (saying alloca.h
58062         is included unnecessarily) when the only uses involved omitted symbols.
58064         xalloc.h: use consistent formatting
58065         * lib/xalloc.h: Move declarations to start in the first column.
58067 2010-01-05  Eric Blake  <ebb9@byu.net>
58069         mkdir: avoid xalloc
58070         * lib/mkdir.c (includes): Drop unused header.
58071         Reported by John W. Eaton.
58073 2010-01-04  Jim Meyering  <meyering@redhat.com>
58075         nl_langinfo: avoid configure-time syntax error
58076         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
58077         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
58078         the empty string.  Don't let that provoke a shell syntax error.
58080         regcomp, regexec, fnmatch: avoid array bounds read error
58081         * lib/regcomp.c (build_equiv_class): From glibc:
58082         Use only the low 24 bits of a findidx return value as an index
58083         into the weights array.  Patch by Ulrich Drepper:
58084         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
58085         * lib/regexec.c (check_node_accept_bytes): Likewise.
58086         * lib/fnmatch_loop.c (FCT): Likewise.
58088         regcomp: skip collseq lookup when there are no rules
58089         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
58090         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
58092         regcomp: recognize ill-formed { } expressions
58093         * lib/regcomp.c (parse_dup_op): From glibc:
58094         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
58096         regcomp: fix typo in comment
58097         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
58098         s/satisfy/satisfies/.
58100         regcomp: sync from glibc: remove dead store
58101         * lib/regcomp.c (duplicate_node_closure): Remove useless
58102         search_duplicated_node call and dead store.
58104         regcomp: sync from glibc; always use nl_langinfo
58105         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
58106         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
58107         * modules/regex (Depends-on): Add nl_langinfo.
58109 2010-01-04  Eric Blake  <ebb9@byu.net>
58111         fdopendir: fix configure test
58112         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
58114 2010-01-01  Bruno Haible  <bruno@clisp.org>
58116         wchar: Remove unused configure check.
58117         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
58119 2010-01-01  Eric Blake  <ebb9@byu.net>
58121         headers: make check of system header explicit
58122         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
58123         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
58124         ourselves.
58125         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
58126         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
58127         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
58128         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
58129         internals.
58130         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
58131         missing.
58132         Suggested by Bruno Haible.
58134 2010-01-01  Jim Meyering  <meyering@redhat.com>
58136         ChangeLog: tweak to eliminate unnecessary copyright line
58137         * ChangeLog: Remove a copyright line that was mistakenly updated
58138         by today's update-copyright run.  Reported by Eric Blake.
58140         test-update-copyright: don't let envvar setting cause test failure
58141         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
58143 2010-01-01  Bruno Haible  <bruno@clisp.org>
58145         localename: Avoid gcc warning.
58146         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
58147         function if it is not used.
58149 2010-01-01  Jim Meyering  <meyering@redhat.com>
58151         update nearly all FSF copyright year lists to include 2010
58152         Use the same procedure as for 2009, outlined in
58153         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
58155         version-etc: set COPYRIGHT_YEAR to 2010
58156         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
58158 2009-12-31  Eric Blake  <ebb9@byu.net>
58160         doc: correct availability of cygwin 1.5.x getopt
58161         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
58162         variables.
58163         * doc/posix-functions/opterr.texi (opterr): Likewise.
58164         * doc/posix-functions/optind.texi (optind): Likewise.
58165         * doc/posix-functions/optopt.texi (optopt): Likewise.
58166         * doc/posix-functions/tzname.texi (tzname): Likewise.
58168         openat: update maintainer
58169         * modules/openat (Maintainer): Add myself.
58171         utimens: avoid shadowing warning
58172         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
58173         buffers into one, to avoid shadowing, as well as avoiding a
58174         redundant stat.
58175         Reported by Jim Meyering.
58177         test-dup2: avoid compiler warning
58178         * tests/test-dup2.c (is_inheritable): Only define if used.
58180 2010-01-01  Bruno Haible  <bruno@clisp.org>
58182         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
58183         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
58184         defined, use wctomb instead of wcrtomb.
58186 2010-01-01  Bruno Haible  <bruno@clisp.org>
58188         iconv: Reject native Solaris iconv.
58189         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
58190         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
58192 2009-12-31  Bruno Haible  <bruno@clisp.org>
58194         * tests/test-signal.c (main): Remove test of 'SIG'.
58196 2009-12-31  Bruno Haible  <bruno@clisp.org>
58198         spawn: Fix incomplete fix.
58199         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
58200         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
58201         warnings for GNULIB_POSIXCHECK again.
58202         Reported by Eric Blake.
58204 2009-12-31  Bruno Haible  <bruno@clisp.org>
58206         Avoid namespace pollution on glibc systems.
58207         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
58208         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
58209         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
58210         glibc systems.
58212 2009-12-31  Bruno Haible  <bruno@clisp.org>
58214         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
58215         (gl_REPLACE_WCHAR_H): Turn into a no-op.
58216         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
58217         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
58218         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
58219         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
58220         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
58222 2009-12-31  Bruno Haible  <bruno@clisp.org>
58224         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
58225         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
58226         afterwards.
58228 2009-12-31  Bruno Haible  <bruno@clisp.org>
58230         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
58231         SYS_UTSNAME_H.
58233 2009-12-31  Bruno Haible  <bruno@clisp.org>
58235         spawn: Fix misapplied patch.
58236         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
58237         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
58238         warnings for GNULIB_POSIXCHECK.
58240 2009-12-31  Bruno Haible  <bruno@clisp.org>
58242         times: Update after sys_times changed.
58243         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
58244         * modules/times (Files): Add it.
58245         (configure.ac): Invoke gl_FUNC_TIMES.
58247 2009-12-31  Bruno Haible  <bruno@clisp.org>
58249         Use AC_C_INLINE where necessary.
58250         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
58251         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
58252         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
58253         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
58254         * m4/mbfile.m4 (gl_MBFILE): Likewise.
58255         * m4/mbiter.m4 (gl_MBITER): Likewise.
58256         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
58257         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
58258         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
58259         * modules/u64 (configure.ac): Likewise.
58261 2009-12-31  Bruno Haible  <bruno@clisp.org>
58263         Use AC_C_INLINE instead of module 'inline' where possible.
58264         * modules/inline (Description): Clarify purpose.
58265         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
58266         * modules/count-one-bits (Depends-on): Remove inline.
58267         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
58268         * modules/openat (Depends-on): Remove inline.
58269         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
58270         instead of depending on module 'inline'.
58271         * modules/filevercmp (Depends-on, configure.ac): Likewise.
58272         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
58273         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
58274         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
58275         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
58276         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
58277         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
58278         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
58279         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
58280         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
58281         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
58282         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
58283         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
58284         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
58285         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
58286         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
58287         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
58288         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
58289         Likewise.
58290         * modules/unictype/property-ascii-hex-digit (Depends-on,
58291         configure.ac): Likewise.
58292         * modules/unictype/property-bidi-arabic-digit (Depends-on,
58293         configure.ac): Likewise.
58294         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
58295         configure.ac): Likewise.
58296         * modules/unictype/property-bidi-block-separator (Depends-on,
58297         configure.ac): Likewise.
58298         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
58299         configure.ac): Likewise.
58300         * modules/unictype/property-bidi-common-separator (Depends-on,
58301         configure.ac): Likewise.
58302         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
58303         Likewise.
58304         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
58305         configure.ac): Likewise.
58306         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
58307         configure.ac): Likewise.
58308         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
58309         configure.ac): Likewise.
58310         * modules/unictype/property-bidi-european-digit (Depends-on,
58311         configure.ac): Likewise.
58312         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
58313         configure.ac): Likewise.
58314         * modules/unictype/property-bidi-left-to-right (Depends-on,
58315         configure.ac): Likewise.
58316         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
58317         configure.ac): Likewise.
58318         * modules/unictype/property-bidi-other-neutral (Depends-on,
58319         configure.ac): Likewise.
58320         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
58321         Likewise.
58322         * modules/unictype/property-bidi-segment-separator (Depends-on,
58323         configure.ac): Likewise.
58324         * modules/unictype/property-bidi-whitespace (Depends-on,
58325         configure.ac): Likewise.
58326         * modules/unictype/property-combining (Depends-on, configure.ac):
58327         Likewise.
58328         * modules/unictype/property-composite (Depends-on, configure.ac):
58329         Likewise.
58330         * modules/unictype/property-currency-symbol (Depends-on,
58331         configure.ac): Likewise.
58332         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
58333         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
58334         Likewise.
58335         * modules/unictype/property-default-ignorable-code-point (Depends-on,
58336         configure.ac): Likewise.
58337         * modules/unictype/property-deprecated (Depends-on, configure.ac):
58338         Likewise.
58339         * modules/unictype/property-diacritic (Depends-on, configure.ac):
58340         Likewise.
58341         * modules/unictype/property-extender (Depends-on, configure.ac):
58342         Likewise.
58343         * modules/unictype/property-format-control (Depends-on, configure.ac):
58344         Likewise.
58345         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
58346         Likewise.
58347         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
58348         Likewise.
58349         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
58350         Likewise.
58351         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
58352         Likewise.
58353         * modules/unictype/property-hyphen (Depends-on, configure.ac):
58354         Likewise.
58355         * modules/unictype/property-id-continue (Depends-on, configure.ac):
58356         Likewise.
58357         * modules/unictype/property-id-start (Depends-on, configure.ac):
58358         Likewise.
58359         * modules/unictype/property-ideographic (Depends-on, configure.ac):
58360         Likewise.
58361         * modules/unictype/property-ids-binary-operator (Depends-on,
58362         configure.ac): Likewise.
58363         * modules/unictype/property-ids-trinary-operator (Depends-on,
58364         configure.ac): Likewise.
58365         * modules/unictype/property-ignorable-control (Depends-on,
58366         configure.ac): Likewise.
58367         * modules/unictype/property-iso-control (Depends-on, configure.ac):
58368         Likewise.
58369         * modules/unictype/property-join-control (Depends-on, configure.ac):
58370         Likewise.
58371         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
58372         Likewise.
58373         * modules/unictype/property-line-separator (Depends-on, configure.ac):
58374         Likewise.
58375         * modules/unictype/property-logical-order-exception (Depends-on,
58376         configure.ac): Likewise.
58377         * modules/unictype/property-lowercase (Depends-on, configure.ac):
58378         Likewise.
58379         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
58380         * modules/unictype/property-non-break (Depends-on, configure.ac):
58381         Likewise.
58382         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
58383         Likewise.
58384         * modules/unictype/property-numeric (Depends-on, configure.ac):
58385         Likewise.
58386         * modules/unictype/property-other-alphabetic (Depends-on,
58387         configure.ac): Likewise.
58388         * modules/unictype/property-other-default-ignorable-code-point
58389         (Depends-on, configure.ac): Likewise.
58390         * modules/unictype/property-other-grapheme-extend (Depends-on,
58391         configure.ac): Likewise.
58392         * modules/unictype/property-other-id-continue (Depends-on,
58393         configure.ac): Likewise.
58394         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
58395         Likewise.
58396         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
58397         Likewise.
58398         * modules/unictype/property-other-math (Depends-on, configure.ac):
58399         Likewise.
58400         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
58401         Likewise.
58402         * modules/unictype/property-paired-punctuation (Depends-on,
58403         configure.ac): Likewise.
58404         * modules/unictype/property-paragraph-separator (Depends-on,
58405         configure.ac): Likewise.
58406         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
58407         Likewise.
58408         * modules/unictype/property-pattern-white-space (Depends-on,
58409         configure.ac): Likewise.
58410         * modules/unictype/property-private-use (Depends-on, configure.ac):
58411         Likewise.
58412         * modules/unictype/property-punctuation (Depends-on, configure.ac):
58413         Likewise.
58414         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
58415         Likewise.
58416         * modules/unictype/property-radical (Depends-on, configure.ac):
58417         Likewise.
58418         * modules/unictype/property-sentence-terminal (Depends-on,
58419         configure.ac): Likewise.
58420         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
58421         Likewise.
58422         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
58423         * modules/unictype/property-terminal-punctuation (Depends-on,
58424         configure.ac): Likewise.
58425         * modules/unictype/property-titlecase (Depends-on, configure.ac):
58426         Likewise.
58427         * modules/unictype/property-unassigned-code-value (Depends-on,
58428         configure.ac): Likewise.
58429         * modules/unictype/property-unified-ideograph (Depends-on,
58430         configure.ac): Likewise.
58431         * modules/unictype/property-uppercase (Depends-on, configure.ac):
58432         Likewise.
58433         * modules/unictype/property-variation-selector (Depends-on,
58434         configure.ac): Likewise.
58435         * modules/unictype/property-white-space (Depends-on, configure.ac):
58436         Likewise.
58437         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
58438         Likewise.
58439         * modules/unictype/property-xid-start (Depends-on, configure.ac):
58440         Likewise.
58441         * modules/unictype/property-zero-width (Depends-on, configure.ac):
58442         Likewise.
58443         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
58444         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
58445         Likewise.
58447 2009-12-31  Bruno Haible  <bruno@clisp.org>
58449         Remove unnecessary AC_C_INLINE invocation.
58450         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
58451         since 2009-08-21.
58453 2009-12-31  Jim Meyering  <meyering@redhat.com>
58455         maint.mk: don't require explicit gpg_key_ID in cfg.mk
58456         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
58457         With this change, we can all remove the gpg_key_ID = ... definition
58458         from our respective cfg.mk files.
58460         maint.mk: create announcement template in ~/, not in /tmp
58461         * top/maint.mk (emit_upload_commands): Adjust.
58462         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
58463         Remove temporary file, .ci-msg.
58465 2009-12-31  Eric Blake  <ebb9@byu.net>
58467         link-warning: always build headers with link warnings
58468         * modules/arpa_inet (Makefile.am): Always build replacement
58469         header.
58470         * modules/ctype (Makefile.am): Likewise.
58471         * modules/dirent (Makefile.am): Likewise.
58472         * modules/inttypes (Makefile.am): Likewise.
58473         * modules/langinfo (Makefile.am): Likewise.
58474         * modules/locale (Makefile.am): Likewise.
58475         * modules/spawn (Makefile.am): Likewise.
58476         * modules/sys_file (Makefile.am): Likewise.
58477         * modules/sys_ioctl (Makefile.am): Likewise.
58478         * modules/sys_select (Makefile.am): Likewise.
58479         * modules/sys_socket (Makefile.am): Likewise.
58480         * modules/sys_times (Makefile.am): Likewise.
58481         * modules/sys_utsname (Makefile.am): Likewise.
58482         * modules/sys_wait (Makefile.am): Likewise.
58483         * modules/wchar (Makefile.am): Likewise.
58484         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
58485         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
58486         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
58487         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
58488         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
58489         Likewise.
58490         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
58491         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
58492         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
58493         Likewise.
58494         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
58495         Likewise.
58496         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
58497         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
58498         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
58499         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
58500         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
58501         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
58502         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
58503         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
58504         (gl_WCHAR_H_DEFAULTS): Likewise.
58506 2009-12-31  Eric Blake  <ebb9@byu.net>
58508         signal, spawn: use link warnings
58509         * lib/signal.in.h (sigset_t): Make unconditional.
58510         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
58511         (sigpending, sigprocmask, sigaction): Add link warnings.
58512         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
58513         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
58514         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
58515         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
58516         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
58517         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
58518         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
58519         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
58520         (posix_spawn_file_actions_destroy)
58521         (posix_spawn_file_actions_addopen)
58522         (posix_spawn_file_actions_addclose)
58523         (posix_spawn_file_actions_adddup2): Likewise.
58524         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
58525         * tests/test-signal.c (main): Enhance test.
58527         spawn: improve wrapper support
58528         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
58529         (gl_SPAWN_H_DEFAULTS): New defaults.
58530         * modules/spawn (Makefile.am): Substitute them.
58531         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
58532         Only declare if missing or broken.
58534         sys_times, sys_utsname: use include_next
58535         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
58536         header.
58537         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
58538         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
58539         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
58540         * modules/sys_times (Depends-on): Add include_next.
58541         (Makefile.am): Substitute additional values.
58542         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
58543         * lib/sys_times.in.h (includes): Include native header, if
58544         available.
58545         * lib/sys_utsname.in.h (includes): Likewise.
58546         * tests/test-sys_times.c (main): Enhance test.
58548         fdutimensat: revert prior patch
58549         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
58550         utimens.h.
58551         Reported by Bruno Haible.
58553 2009-12-30  Eric Blake  <ebb9@byu.net>
58555         sys_wait: drop link-warning dependency
58556         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
58557         link-warning efforts.
58558         * lib/sys_wait.in.h: Likewise.
58560         fdutimensat: remove bogus dependency
58561         * modules/fdutimensat (Depends-on): Drop inline.
58563         unistd: fix typo
58564         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
58566 2009-12-30  Bruno Haible  <bruno@clisp.org>
58568         Fix compilation error with Solaris cc.
58569         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
58570         * lib/unicase/u16-is-invariant.c: Likewise.
58571         * lib/unicase/u32-is-invariant.c: Likewise.
58572         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
58574 2009-12-30  Bruno Haible  <bruno@clisp.org>
58576         Fix test crash.
58577         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
58578         locales.
58579         Reported by Simon Josefsson <simon@josefsson.org>.
58581 2009-12-30  Bruno Haible  <bruno@clisp.org>
58583         Fix compilation error on most platforms.
58584         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
58585         Reported by Simon Josefsson <simon@josefsson.org>
58586         and Nelson H. F. Beebe <beebe@math.utah.edu>.
58588 2009-12-30  Eric Blake  <ebb9@byu.net>
58590         futimens, utimensat: work around ntfs-3g bug
58591         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
58592         a ctime bug is present, and expand workaround to cover ntfs-3g.
58593         * lib/utimens.c (fdutimens, lutimens): Likewise.
58594         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
58595         (validate_timespec): Adjust return value.
58596         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
58597         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
58598         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
58600 2009-12-29  Eric Blake  <ebb9@byu.net>
58602         link-warning: make usage consistent
58603         * modules/ctype (Depends-on): Add link-warning.
58604         (Makefile.am): Update rules accordingly.
58605         * modules/langinfo (Depends-on, Makefile.am): Likewise.
58606         * modules/locale (Depends-on, Makefile.am): Likewise.
58607         * modules/sys_file (Makefile.am): Likewise.
58608         * modules/getopt-posix (Makefile.am): Delete unused link warning
58609         efforts.
58610         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
58611         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
58612         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
58613         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
58615         stdio: remove unused variables
58616         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
58617         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
58618         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
58620         tests: test more substitute headers
58621         * modules/ctype-tests: New file.
58622         * modules/dirent-tests: Likewise.
58623         * modules/spawn-tests: Likewise.
58624         * modules/sys_file-tests: Likewise.
58625         * modules/sys_ioctl-tests: Likewise.
58626         * modules/sys_wait-tests: Likewise.
58627         * tests/test-ctype.c: Likewise.
58628         * tests/test-dirent.c: Likewise.
58629         * tests/test-spawn.c: Likewise.
58630         * tests/test-sys_file.c: Likewise.
58631         * tests/test-sys_ioctl.c: Likewise.
58632         * tests/test-sys_wait.c: Likewise.
58633         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
58634         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
58635         whether or not flock is in use.
58637         tests: remove License section from module
58638         * modules/arpa_inet-tests: Remove unneeded section.
58639         * modules/byteswap-tests: Likewise.
58640         * modules/ceilf-tests: Likewise.
58641         * modules/ceill-tests: Likewise.
58642         * modules/crypto/des-tests: Likewise.
58643         * modules/crypto/gc-arcfour-tests: Likewise.
58644         * modules/crypto/gc-arctwo-tests: Likewise.
58645         * modules/crypto/gc-des-tests: Likewise.
58646         * modules/crypto/gc-hmac-md5-tests: Likewise.
58647         * modules/crypto/gc-hmac-sha1-tests: Likewise.
58648         * modules/crypto/gc-md2-tests: Likewise.
58649         * modules/crypto/gc-md4-tests: Likewise.
58650         * modules/crypto/gc-md5-tests: Likewise.
58651         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
58652         * modules/crypto/gc-rijndael-tests: Likewise.
58653         * modules/crypto/gc-sha1-tests: Likewise.
58654         * modules/crypto/gc-tests: Likewise.
58655         * modules/crypto/md2-tests: Likewise.
58656         * modules/crypto/md4-tests: Likewise.
58657         * modules/fcntl-h-tests: Likewise.
58658         * modules/floorf-tests: Likewise.
58659         * modules/floorl-tests: Likewise.
58660         * modules/frexp-nolibm-tests: Likewise.
58661         * modules/frexp-tests: Likewise.
58662         * modules/frexpl-nolibm-tests: Likewise.
58663         * modules/frexpl-tests: Likewise.
58664         * modules/getaddrinfo-tests: Likewise.
58665         * modules/inttypes-tests: Likewise.
58666         * modules/isfinite-tests: Likewise.
58667         * modules/isinf-tests: Likewise.
58668         * modules/ldexpl-tests: Likewise.
58669         * modules/locale-tests: Likewise.
58670         * modules/math-tests: Likewise.
58671         * modules/netdb-tests: Likewise.
58672         * modules/netinet_in-tests: Likewise.
58673         * modules/printf-frexp-tests: Likewise.
58674         * modules/printf-frexpl-tests: Likewise.
58675         * modules/priv-set-tests: Likewise.
58676         * modules/random_r-tests: Likewise.
58677         * modules/round-tests: Likewise.
58678         * modules/roundf-tests: Likewise.
58679         * modules/roundl-tests: Likewise.
58680         * modules/search-tests: Likewise.
58681         * modules/select-tests: Likewise.
58682         * modules/signal-tests: Likewise.
58683         * modules/stdbool-tests: Likewise.
58684         * modules/stddef-tests: Likewise.
58685         * modules/stdint-tests: Likewise.
58686         * modules/stdio-tests: Likewise.
58687         * modules/stdlib-tests: Likewise.
58688         * modules/string-tests: Likewise.
58689         * modules/strings-tests: Likewise.
58690         * modules/sys_select-tests: Likewise.
58691         * modules/sys_socket-tests: Likewise.
58692         * modules/sys_stat-tests: Likewise.
58693         * modules/sys_time-tests: Likewise.
58694         * modules/sys_utsname-tests: Likewise.
58695         * modules/sysexits-tests: Likewise.
58696         * modules/time-tests: Likewise.
58697         * modules/trunc-tests: Likewise.
58698         * modules/truncf-tests: Likewise.
58699         * modules/truncl-tests: Likewise.
58700         * modules/tsearch-tests: Likewise.
58701         * modules/unistd-tests: Likewise.
58702         * modules/wchar-tests: Likewise.
58703         * modules/wctype-tests: Likewise.
58705         tests: fix license on several tests
58706         * tests/test-des.c: Update to GPLv3+.
58707         * tests/test-flock.c: Likewise.
58708         * tests/test-fsync.c: Likewise.
58709         * tests/test-futimens.h: Likewise.
58710         * tests/test-gc-arcfour.c: Likewise.
58711         * tests/test-gc-arctwo.c: Likewise.
58712         * tests/test-gc-des.c: Likewise.
58713         * tests/test-gc-hmac-md5.c: Likewise.
58714         * tests/test-gc-hmac-sha1.c: Likewise.
58715         * tests/test-gc-md2.c: Likewise.
58716         * tests/test-gc-md4.c: Likewise.
58717         * tests/test-gc-md5.c: Likewise.
58718         * tests/test-gc-pbkdf2-sha1.c: Likewise.
58719         * tests/test-gc-rijndael.c: Likewise.
58720         * tests/test-gc-sha1.c: Likewise.
58721         * tests/test-gc.c: Likewise.
58722         * tests/test-getcwd.c: Likewise.
58723         * tests/test-link.c: Likewise.
58724         * tests/test-link.h: Likewise.
58725         * tests/test-lutimens.h: Likewise.
58726         * tests/test-md2.c: Likewise.
58727         * tests/test-md4.c: Likewise.
58728         * tests/test-mkdir.h: Likewise.
58729         * tests/test-rename.c: Likewise.
58730         * tests/test-rename.h: Likewise.
58731         * tests/test-safe-alloc.c: Likewise.
58732         * tests/test-utimens-common.h: Likewise.
58733         * tests/test-utimens.h: Likewise.
58735         maint: sync license texts
58736         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
58737         * doc/gpl-3.0.texi: Revert copyright year update.
58738         * doc/lgpl-3.0.texi: Likewise.
58740 2009-12-29  Jim Meyering  <meyering@redhat.com>
58742         update nearly all FSF copyright year lists to include 2009
58743         The files named by the following are exempted:
58744             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
58745               test -f "$dst" && { echo "$dst"; continue; }
58746               test -d "$dst" || continue
58747               echo "$dst"/$(basename "$src")
58748             done > exempt
58749             git ls-files tests/unictype >> exempt
58750         In the remaining files, convert to all-interval notation if
58751         - there is already at least one year interval like 2000-2003
58752         - the file is maintained by me
58753         - the file is in lib/uni*/, where that style already prevails
58754         Otherwise, use update-copyright's default.
58756 2009-12-29  Simon Josefsson  <simon@josefsson.org>
58757         and Eric Blake  <ebb9@byu.net>
58759         tests: don't require debug system() to pass
58760         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
58761         * tests/test-rmdir.h (test_rmdir_func): Likewise.
58762         * tests/test-unlink.h (test_unlink_func): Likewise.
58763         * tests/test-fstatat.c (main): ...into callers.
58764         * tests/test-lstat.c (main): Likewise.
58765         * tests/test-rmdir.c (main): Likewise.
58766         * tests/test-unlink.c (main): Likewise.
58767         * tests/test-unlinkat.c (main): Likewise.
58768         * tests/test-areadlink-with-size.c (main): Don't require a
58769         debug-only system call to pass, aiding cross-testing to mingw.
58770         * tests/test-areadlink.c (main): Likewise.
58771         * tests/test-areadlinkat-with-size.c (main): Likewise.
58772         * tests/test-areadlinkat.c (main): Likewise.
58773         * tests/test-canonicalize-lgpl.c (main): Likewise.
58774         * tests/test-canonicalize.c (main): Likewise.
58775         * tests/test-chown.c (main): Likewise.
58776         * tests/test-fchownat.c (main): Likewise.
58777         * tests/test-lchown.c (main): Likewise.
58778         * tests/test-fdutimensat.c (main): Likewise.
58779         * tests/test-futimens.c (main): Likewise.
58780         * tests/test-link.c (main): Likewise.
58781         * tests/test-linkat.c (main): Likewise.
58782         * tests/test-mkdir.c (main): Likewise.
58783         * tests/test-mkdirat.c (main): Likewise.
58784         * tests/test-mkfifo.c (main): Likewise.
58785         * tests/test-mkfifoat.c (main): Likewise.
58786         * tests/test-mknod.c (main): Likewise.
58787         * tests/test-readlink.c (main): Likewise.
58788         * tests/test-remove.c (main): Likewise.
58789         * tests/test-rename.c (main): Likewise.
58790         * tests/test-renameat.c (main): Likewise.
58791         * tests/test-symlink.c (main): Likewise.
58792         * tests/test-symlinkat.c (main): Likewise.
58793         * tests/test-utimens.c (main): Likewise.
58794         * tests/test-utimensat.c (main): Likewise.
58796 2009-12-29  Simon Josefsson  <simon@josefsson.org>
58798         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
58799         on $(UNUSED_PARAMETER_H) to avoid build failure.
58801 2009-12-28  Jim Meyering  <meyering@redhat.com>
58803         update-copyright: you may specify a max. line length other than 72
58804         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
58806         maint: use consistent FSF copyright line syntax
58807         * lib/posixtm.c: Add missing comma in FSF copyright line.
58808         * lib/posixtm.h: Likewise.
58809         * lib/getugroups.c: Add missing ", Inc.".
58811         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
58812         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
58813         FSF copyright line.  Remove trailing blanks.
58815 2009-12-28  Eric Blake  <ebb9@byu.net>
58817         test-dup2: reduce dependencies
58818         * modules/cloexec (Configure.ac): Set witness.
58819         * modules/dup2-tests (Depends-on): Drop cloexec.
58820         * tests/test-dup2.c (main): Skip portion of test if cloexec module
58821         not present.
58822         Suggested by Bruno Haible.
58824 2009-12-26  Bruno Haible  <bruno@clisp.org>
58826         Remove an unneeded dependency.
58827         * modules/fseterr (Depends-on): Remove dup2.
58829 2009-12-26  Eric Blake  <ebb9@byu.net>
58831         tests: use macros.h in more places
58832         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
58833         (ASSERT_STREAM): Provide default of stderr.
58834         * tests/test-dirent-safer.c: Include macros.h, using alternate
58835         stream for assertions.
58836         * tests/test-dup-safer.c: Likewise.
58837         * tests/test-freopen-safer.c: Likewise.
58838         * tests/test-getopt.c: Likewise.
58839         * tests/test-openat-safer.c: Likewise.
58840         * tests/test-pipe.c: Likewise.
58841         * tests/test-popen-safer.c: Likewise.
58842         * modules/dirent-safer-tests (Files): Include macros.h.
58843         * modules/unistd-safer-tests (Files): Likewise.
58844         * modules/freopen-safer-tests (Files): Likewise.
58845         * modules/getopt-posix-tests (Files): Likewise.
58846         * modules/openat-safer-tests (Files): Likewise.
58847         * modules/pipe-tests (Files): Likewise.
58849 2009-12-26  Bruno Haible  <bruno@clisp.org>
58851         javacomp-script: Portability fix.
58852         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
58853         that it also works on Solaris.
58855 2009-12-26  Bruno Haible  <bruno@clisp.org>
58857         localename: Fix storage allocation of gl_locale_name_thread's result.
58858         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
58859         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
58860         all platforms that have 'uselocale'.
58861         (gl_locale_name_thread_unsafe): New function, extracted from
58862         gl_locale_name_thread.
58863         (gl_locale_name_thread): Call struniq on all platforms that have
58864         'uselocale'.
58865         * tests/test-localename.c (test_locale_name_thread): Check that the
58866         resulting strings are permanently allocated.
58867         * modules/localename-tests (Depends-on): Add strdup.
58869 2009-12-26  Bruno Haible  <bruno@clisp.org>
58871         * tests/test-localename.c (categories): Fill in the strings.
58873 2009-12-26  Jim Meyering  <meyering@redhat.com>
58875         isdir: complete the removal of m4/isdir.m4
58876         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
58878         isdir: clean up, since at least grep still uses it
58879         * lib/isdir.c: Include "isdir.h".
58880         (S_ISDIR): Remove now-unneeded definition.
58881         * modules/isdir (Files): Add lib/isdir.h.
58882         * lib/isdir.h: New file, with declaration.
58883         * m4/isdir.m4: Remove file -- unneeded.
58885 2009-12-25  Bruno Haible  <bruno@clisp.org>
58887         selinux-h: Make generated .h files standalone.
58888         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
58889         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
58890         * lib/se-selinux.in.h: Likewise.
58891         * modules/selinux-h (Depends-on): Add unused-parameter.
58892         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
58893         selinux/selinux.h and selinux/context.h.
58894         Suggested by Eric Blake.
58896 2009-12-25  Bruno Haible  <bruno@clisp.org>
58898         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
58899         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
58900         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
58901         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
58902         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
58904 2009-12-24  Bruno Haible  <bruno@clisp.org>
58906         openat: Fix warning.
58907         * lib/openat-proc.c: Include <unistd.h>.
58909 2009-12-24  Bruno Haible  <bruno@clisp.org>
58911         New module 'unused-parameter'.
58912         * build-aux/unused-parameter.h: New file, extracted from earlier
58913         gnulib-common.m4.
58914         * modules/unused-parameter: New file.
58915         * lib/unistr.h: Include unused-parameter.h.
58916         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
58917         _GL_UNUSED.
58918         * modules/unistr/base (Depends-on): Add unused-parameter.
58920 2009-12-24  Bruno Haible  <bruno@clisp.org>
58922         Add missing dependencies to 'extensions' module.
58923         * m4/extensions.m4: Add comment.
58924         * modules/accept4 (Depends-on): Add extensions.
58925         * modules/dup3 (Depends-on): Likewise.
58926         * modules/fcntl (Depends-on): Likewise.
58927         * modules/futimens (Depends-on): Likewise.
58928         * modules/mknod (Depends-on): Likewise.
58929         * modules/pipe2 (Depends-on): Likewise.
58930         * modules/stat-time (Depends-on): Likewise.
58931         * modules/strcasestr-simple (Depends-on): Likewise.
58932         * modules/strsignal (Depends-on): Likewise.
58933         * modules/utimensat (Depends-on): Likewise.
58934         * modules/localcharset (Depends-on): Likewise. Needed because of
58935         gl_FCNTL_O_FLAGS.
58936         * modules/wcrtomb (Depends-on): Likewise. Needed because of
58937         AC_TYPE_MBSTATE_T.
58938         * modules/wcsnrtombs (Depends-on): Likewise.
58939         * modules/wcsrtombs (Depends-on): Likewise.
58941 2009-12-24  Bruno Haible  <bruno@clisp.org>
58943         binary-io: Avoid gcc warning due to SET_BINARY.
58944         * lib/binary-io.h (SET_BINARY): Cast the result to void.
58945         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
58947 2009-12-24  Bruno Haible  <bruno@clisp.org>
58949         Avoid future namespace pollution on glibc systems.
58950         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
58951         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
58952         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
58953         glibc systems.
58955 2009-12-24  Bruno Haible  <bruno@clisp.org>
58957         Refactor common macros used in tests.
58958         * tests/macros.h: New file.
58959         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
58960         and/or <stdlib.h>, if appropriate.
58961         (ASSERT, SIZEOF): Remove macros.
58962         * tests/test-areadlink-with-size.c: Likewise.
58963         * tests/test-areadlinkat.c: Likewise.
58964         * tests/test-areadlinkat-with-size.c: Likewise.
58965         * tests/test-argmatch.c: Likewise.
58966         * tests/test-argv-iter.c: Likewise.
58967         * tests/test-array-mergesort.c: Likewise.
58968         * tests/test-array_list.c: Likewise.
58969         * tests/test-array_oset.c: Likewise.
58970         * tests/test-avltree_list.c: Likewise.
58971         * tests/test-avltree_oset.c: Likewise.
58972         * tests/test-avltreehash_list.c: Likewise.
58973         * tests/test-base64.c: Likewise.
58974         * tests/test-binary-io.c: Likewise.
58975         * tests/test-bitrotate.c: Likewise.
58976         * tests/test-btowc.c: Likewise.
58977         * tests/test-byteswap.c: Likewise.
58978         * tests/test-c-ctype.c: Likewise.
58979         * tests/test-c-stack.c: Likewise.
58980         * tests/test-c-strcasecmp.c: Likewise.
58981         * tests/test-c-strcasestr.c: Likewise.
58982         * tests/test-c-strncasecmp.c: Likewise.
58983         * tests/test-c-strstr.c: Likewise.
58984         * tests/test-canonicalize-lgpl.c: Likewise.
58985         * tests/test-canonicalize.c: Likewise.
58986         * tests/test-carray_list.c: Likewise.
58987         * tests/test-ceilf1.c: Likewise.
58988         * tests/test-ceilf2.c: Likewise.
58989         * tests/test-ceill.c: Likewise.
58990         * tests/test-chown.c: Likewise.
58991         * tests/test-cloexec.c: Likewise.
58992         * tests/test-copy-acl.c: Likewise.
58993         * tests/test-copy-file.c: Likewise.
58994         * tests/test-count-one-bits.c: Likewise.
58995         * tests/test-dprintf-posix.c: Likewise.
58996         * tests/test-dup2.c: Likewise.
58997         * tests/test-dup3.c: Likewise.
58998         * tests/test-duplocale.c: Likewise.
58999         * tests/test-fbufmode.c: Likewise.
59000         * tests/test-fchdir.c: Likewise.
59001         * tests/test-fchownat.c: Likewise.
59002         * tests/test-fcntl-safer.c: Likewise.
59003         * tests/test-fcntl.c: Likewise.
59004         * tests/test-fdopendir.c: Likewise.
59005         * tests/test-fdutimensat.c: Likewise.
59006         * tests/test-fflush2.c: Likewise.
59007         * tests/test-file-has-acl.c: Likewise.
59008         * tests/test-filevercmp.c: Likewise.
59009         * tests/test-flock.c: Likewise.
59010         * tests/test-floorf1.c: Likewise.
59011         * tests/test-floorf2.c: Likewise.
59012         * tests/test-floorl.c: Likewise.
59013         * tests/test-fnmatch.c: Likewise.
59014         * tests/test-fopen.h: Likewise.
59015         * tests/test-fpending.c: Likewise.
59016         * tests/test-fprintf-posix.c: Likewise.
59017         * tests/test-fpurge.c: Likewise.
59018         * tests/test-freadable.c: Likewise.
59019         * tests/test-freadahead.c: Likewise.
59020         * tests/test-freading.c: Likewise.
59021         * tests/test-freadptr.c: Likewise.
59022         * tests/test-freadptr2.c: Likewise.
59023         * tests/test-freadseek.c: Likewise.
59024         * tests/test-freopen.c: Likewise.
59025         * tests/test-frexp.c: Likewise.
59026         * tests/test-frexpl.c: Likewise.
59027         * tests/test-fseek.c: Likewise.
59028         * tests/test-fseeko.c: Likewise.
59029         * tests/test-fstatat.c: Likewise.
59030         * tests/test-fstrcmp.c: Likewise.
59031         * tests/test-fsync.c: Likewise.
59032         * tests/test-ftell.c: Likewise.
59033         * tests/test-ftello.c: Likewise.
59034         * tests/test-func.c: Likewise.
59035         * tests/test-futimens.c: Likewise.
59036         * tests/test-fwritable.c: Likewise.
59037         * tests/test-fwriting.c: Likewise.
59038         * tests/test-getcwd.c: Likewise.
59039         * tests/test-getdate.c: Likewise.
59040         * tests/test-getdelim.c: Likewise.
59041         * tests/test-getdtablesize.c: Likewise.
59042         * tests/test-getgroups.c: Likewise.
59043         * tests/test-getline.c: Likewise.
59044         * tests/test-getndelim2.c: Likewise.
59045         * tests/test-glob.c: Likewise.
59046         * tests/test-hash.c: Likewise.
59047         * tests/test-i-ring.c: Likewise.
59048         * tests/test-iconv-utf.c: Likewise.
59049         * tests/test-iconv.c: Likewise.
59050         * tests/test-idpriv-drop.c: Likewise.
59051         * tests/test-idpriv-droptemp.c: Likewise.
59052         * tests/test-inet_ntop.c: Likewise.
59053         * tests/test-inet_pton.c: Likewise.
59054         * tests/test-isblank.c: Likewise.
59055         * tests/test-isfinite.c: Likewise.
59056         * tests/test-isinf.c: Likewise.
59057         * tests/test-isnan.c: Likewise.
59058         * tests/test-isnand.h: Likewise.
59059         * tests/test-isnanf.h: Likewise.
59060         * tests/test-isnanl.h: Likewise.
59061         * tests/test-lchown.c: Likewise.
59062         * tests/test-ldexpl.c: Likewise.
59063         * tests/test-link.c: Likewise.
59064         * tests/test-linkat.c: Likewise.
59065         * tests/test-linked_list.c: Likewise.
59066         * tests/test-linkedhash_list.c: Likewise.
59067         * tests/test-localename.c: Likewise.
59068         * tests/test-lseek.c: Likewise.
59069         * tests/test-lstat.c: Likewise.
59070         * tests/test-mbmemcasecmp.c: Likewise.
59071         * tests/test-mbmemcasecoll.c: Likewise.
59072         * tests/test-mbrtowc.c: Likewise.
59073         * tests/test-mbscasecmp.c: Likewise.
59074         * tests/test-mbscasestr1.c: Likewise.
59075         * tests/test-mbscasestr2.c: Likewise.
59076         * tests/test-mbscasestr3.c: Likewise.
59077         * tests/test-mbscasestr4.c: Likewise.
59078         * tests/test-mbschr.c: Likewise.
59079         * tests/test-mbscspn.c: Likewise.
59080         * tests/test-mbsinit.c: Likewise.
59081         * tests/test-mbsncasecmp.c: Likewise.
59082         * tests/test-mbsnrtowcs.c: Likewise.
59083         * tests/test-mbspbrk.c: Likewise.
59084         * tests/test-mbspcasecmp.c: Likewise.
59085         * tests/test-mbsrchr.c: Likewise.
59086         * tests/test-mbsrtowcs.c: Likewise.
59087         * tests/test-mbsspn.c: Likewise.
59088         * tests/test-mbsstr1.c: Likewise.
59089         * tests/test-mbsstr2.c: Likewise.
59090         * tests/test-mbsstr3.c: Likewise.
59091         * tests/test-memchr.c: Likewise.
59092         * tests/test-memchr2.c: Likewise.
59093         * tests/test-memcmp.c: Likewise.
59094         * tests/test-memmem.c: Likewise.
59095         * tests/test-memrchr.c: Likewise.
59096         * tests/test-mkdir.c: Likewise.
59097         * tests/test-mkdirat.c: Likewise.
59098         * tests/test-mkfifo.c: Likewise.
59099         * tests/test-mkfifoat.c: Likewise.
59100         * tests/test-mknod.c: Likewise.
59101         * tests/test-nanosleep.c: Likewise.
59102         * tests/test-nl_langinfo.c: Likewise.
59103         * tests/test-obstack-printf.c: Likewise.
59104         * tests/test-open.c: Likewise.
59105         * tests/test-openat.c: Likewise.
59106         * tests/test-pipe-filter-gi1.c: Likewise.
59107         * tests/test-pipe-filter-gi2-main.c: Likewise.
59108         * tests/test-pipe-filter-ii1.c: Likewise.
59109         * tests/test-pipe-filter-ii2-main.c: Likewise.
59110         * tests/test-pipe2.c: Likewise.
59111         * tests/test-popen.h: Likewise.
59112         * tests/test-posixtm.c: Likewise.
59113         * tests/test-pread.c: Likewise.
59114         * tests/test-printf-frexp.c: Likewise.
59115         * tests/test-printf-frexpl.c: Likewise.
59116         * tests/test-printf-posix.c: Likewise.
59117         * tests/test-priv-set.c: Likewise.
59118         * tests/test-quotearg.c: Likewise.
59119         * tests/test-random_r.c: Likewise.
59120         * tests/test-rawmemchr.c: Likewise.
59121         * tests/test-rbtree_list.c: Likewise.
59122         * tests/test-rbtree_oset.c: Likewise.
59123         * tests/test-rbtreehash_list.c: Likewise.
59124         * tests/test-readlink.c: Likewise.
59125         * tests/test-remove.c: Likewise.
59126         * tests/test-rename.c: Likewise.
59127         * tests/test-renameat.c: Likewise.
59128         * tests/test-rmdir.c: Likewise.
59129         * tests/test-round1.c: Likewise.
59130         * tests/test-roundf1.c: Likewise.
59131         * tests/test-roundl.c: Likewise.
59132         * tests/test-safe-alloc.c: Likewise.
59133         * tests/test-sameacls.c: Likewise.
59134         * tests/test-set-mode-acl.c: Likewise.
59135         * tests/test-setenv.c: Likewise.
59136         * tests/test-sigaction.c: Likewise.
59137         * tests/test-signbit.c: Likewise.
59138         * tests/test-sleep.c: Likewise.
59139         * tests/test-snprintf-posix.c: Likewise.
59140         * tests/test-snprintf.c: Likewise.
59141         * tests/test-sprintf-posix.c: Likewise.
59142         * tests/test-stat-time.c: Likewise.
59143         * tests/test-stat.c: Likewise.
59144         * tests/test-strcasestr.c: Likewise.
59145         * tests/test-strchrnul.c: Likewise.
59146         * tests/test-strerror.c: Likewise.
59147         * tests/test-striconv.c: Likewise.
59148         * tests/test-striconveh.c: Likewise.
59149         * tests/test-striconveha.c: Likewise.
59150         * tests/test-strsignal.c: Likewise.
59151         * tests/test-strstr.c: Likewise.
59152         * tests/test-strtod.c: Likewise.
59153         * tests/test-strverscmp.c: Likewise.
59154         * tests/test-symlink.c: Likewise.
59155         * tests/test-symlinkat.c: Likewise.
59156         * tests/test-trunc1.c: Likewise.
59157         * tests/test-trunc2.c: Likewise.
59158         * tests/test-truncf1.c: Likewise.
59159         * tests/test-truncf2.c: Likewise.
59160         * tests/test-truncl.c: Likewise.
59161         * tests/test-uname.c: Likewise.
59162         * tests/test-unlink.c: Likewise.
59163         * tests/test-unlinkat.c: Likewise.
59164         * tests/test-unsetenv.c: Likewise.
59165         * tests/test-usleep.c: Likewise.
59166         * tests/test-utimens.c: Likewise.
59167         * tests/test-utimensat.c: Likewise.
59168         * tests/test-vasnprintf-posix.c: Likewise.
59169         * tests/test-vasnprintf-posix2.c: Likewise.
59170         * tests/test-vasnprintf.c: Likewise.
59171         * tests/test-vasprintf-posix.c: Likewise.
59172         * tests/test-vasprintf.c: Likewise.
59173         * tests/test-vdprintf-posix.c: Likewise.
59174         * tests/test-vfprintf-posix.c: Likewise.
59175         * tests/test-vprintf-posix.c: Likewise.
59176         * tests/test-vsnprintf-posix.c: Likewise.
59177         * tests/test-vsnprintf.c: Likewise.
59178         * tests/test-vsprintf-posix.c: Likewise.
59179         * tests/test-wcrtomb.c: Likewise.
59180         * tests/test-wcsnrtombs.c: Likewise.
59181         * tests/test-wcsrtombs.c: Likewise.
59182         * tests/test-wctype.c: Likewise.
59183         * tests/test-wcwidth.c: Likewise.
59184         * tests/test-xfprintf-posix.c: Likewise.
59185         * tests/test-xmemdup0.c: Likewise.
59186         * tests/test-xprintf-posix.c: Likewise.
59187         * tests/test-xvasprintf.c: Likewise.
59188         * tests/unicase/test-locale-language.c: Likewise.
59189         * tests/unicase/test-mapping-part1.h: Likewise.
59190         * tests/unicase/test-predicate-part1.h: Likewise.
59191         * tests/unicase/test-u8-casecmp.c: Likewise.
59192         * tests/unicase/test-u8-casecoll.c: Likewise.
59193         * tests/unicase/test-u8-casefold.c: Likewise.
59194         * tests/unicase/test-u8-is-cased.c: Likewise.
59195         * tests/unicase/test-u8-is-casefolded.c: Likewise.
59196         * tests/unicase/test-u8-is-lowercase.c: Likewise.
59197         * tests/unicase/test-u8-is-titlecase.c: Likewise.
59198         * tests/unicase/test-u8-is-uppercase.c: Likewise.
59199         * tests/unicase/test-u8-tolower.c: Likewise.
59200         * tests/unicase/test-u8-totitle.c: Likewise.
59201         * tests/unicase/test-u8-toupper.c: Likewise.
59202         * tests/unicase/test-u16-casecmp.c: Likewise.
59203         * tests/unicase/test-u16-casecoll.c: Likewise.
59204         * tests/unicase/test-u16-casefold.c: Likewise.
59205         * tests/unicase/test-u16-is-cased.c: Likewise.
59206         * tests/unicase/test-u16-is-casefolded.c: Likewise.
59207         * tests/unicase/test-u16-is-lowercase.c: Likewise.
59208         * tests/unicase/test-u16-is-titlecase.c: Likewise.
59209         * tests/unicase/test-u16-is-uppercase.c: Likewise.
59210         * tests/unicase/test-u16-tolower.c: Likewise.
59211         * tests/unicase/test-u16-totitle.c: Likewise.
59212         * tests/unicase/test-u16-toupper.c: Likewise.
59213         * tests/unicase/test-u32-casecmp.c: Likewise.
59214         * tests/unicase/test-u32-casecoll.c: Likewise.
59215         * tests/unicase/test-u32-casefold.c: Likewise.
59216         * tests/unicase/test-u32-is-cased.c: Likewise.
59217         * tests/unicase/test-u32-is-casefolded.c: Likewise.
59218         * tests/unicase/test-u32-is-lowercase.c: Likewise.
59219         * tests/unicase/test-u32-is-titlecase.c: Likewise.
59220         * tests/unicase/test-u32-is-uppercase.c: Likewise.
59221         * tests/unicase/test-u32-tolower.c: Likewise.
59222         * tests/unicase/test-u32-totitle.c: Likewise.
59223         * tests/unicase/test-u32-toupper.c: Likewise.
59224         * tests/unicase/test-ulc-casecmp.c: Likewise.
59225         * tests/unicase/test-ulc-casecoll.c: Likewise.
59226         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
59227         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
59228         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
59229         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
59230         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
59231         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
59232         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
59233         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
59234         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
59235         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
59236         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
59237         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
59238         * tests/unictype/test-bidi_byname.c: Likewise.
59239         * tests/unictype/test-bidi_name.c: Likewise.
59240         * tests/unictype/test-bidi_of.c: Likewise.
59241         * tests/unictype/test-bidi_test.c: Likewise.
59242         * tests/unictype/test-block_list.c: Likewise.
59243         * tests/unictype/test-block_of.c: Likewise.
59244         * tests/unictype/test-block_test.c: Likewise.
59245         * tests/unictype/test-categ_and.c: Likewise.
59246         * tests/unictype/test-categ_and_not.c: Likewise.
59247         * tests/unictype/test-categ_byname.c: Likewise.
59248         * tests/unictype/test-categ_name.c: Likewise.
59249         * tests/unictype/test-categ_none.c: Likewise.
59250         * tests/unictype/test-categ_of.c: Likewise.
59251         * tests/unictype/test-categ_or.c: Likewise.
59252         * tests/unictype/test-categ_test_withtable.c: Likewise.
59253         * tests/unictype/test-combining.c: Likewise.
59254         * tests/unictype/test-decdigit.c: Likewise.
59255         * tests/unictype/test-digit.c: Likewise.
59256         * tests/unictype/test-mirror.c: Likewise.
59257         * tests/unictype/test-numeric.c: Likewise.
59258         * tests/unictype/test-pr_byname.c: Likewise.
59259         * tests/unictype/test-pr_test.c: Likewise.
59260         * tests/unictype/test-predicate-part1.h: Likewise.
59261         * tests/unictype/test-scripts.c: Likewise.
59262         * tests/unictype/test-sy_c_ident.c: Likewise.
59263         * tests/unictype/test-sy_java_ident.c: Likewise.
59264         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
59265         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
59266         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
59267         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
59268         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
59269         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
59270         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
59271         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
59272         * tests/uninorm/test-canonical-decomposition.c: Likewise.
59273         * tests/uninorm/test-compat-decomposition.c: Likewise.
59274         * tests/uninorm/test-composition.c: Likewise.
59275         * tests/uninorm/test-decomposing-form.c: Likewise.
59276         * tests/uninorm/test-decomposition.c: Likewise.
59277         * tests/uninorm/test-u8-nfc.c: Likewise.
59278         * tests/uninorm/test-u8-nfd.c: Likewise.
59279         * tests/uninorm/test-u8-nfkc.c: Likewise.
59280         * tests/uninorm/test-u8-nfkd.c: Likewise.
59281         * tests/uninorm/test-u8-normcmp.c: Likewise.
59282         * tests/uninorm/test-u8-normcoll.c: Likewise.
59283         * tests/uninorm/test-u16-nfc.c: Likewise.
59284         * tests/uninorm/test-u16-nfd.c: Likewise.
59285         * tests/uninorm/test-u16-nfkc.c: Likewise.
59286         * tests/uninorm/test-u16-nfkd.c: Likewise.
59287         * tests/uninorm/test-u16-normcmp.c: Likewise.
59288         * tests/uninorm/test-u16-normcoll.c: Likewise.
59289         * tests/uninorm/test-u32-nfc.c: Likewise.
59290         * tests/uninorm/test-u32-nfd.c: Likewise.
59291         * tests/uninorm/test-u32-nfkc.c: Likewise.
59292         * tests/uninorm/test-u32-nfkd.c: Likewise.
59293         * tests/uninorm/test-u32-normalize-big.c: Likewise.
59294         * tests/uninorm/test-u32-normcmp.c: Likewise.
59295         * tests/uninorm/test-u32-normcoll.c: Likewise.
59296         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
59297         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
59298         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
59299         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
59300         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
59301         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
59302         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
59303         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
59304         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
59305         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
59306         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
59307         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
59308         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
59309         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
59310         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
59311         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
59312         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
59313         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
59314         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
59315         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
59316         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
59317         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
59318         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
59319         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
59320         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
59321         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
59322         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
59323         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
59324         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
59325         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
59326         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
59327         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
59328         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
59329         * tests/uniwidth/test-u8-strwidth.c: Likewise.
59330         * tests/uniwidth/test-u8-width.c: Likewise.
59331         * tests/uniwidth/test-u16-strwidth.c: Likewise.
59332         * tests/uniwidth/test-u16-width.c: Likewise.
59333         * tests/uniwidth/test-u32-strwidth.c: Likewise.
59334         * tests/uniwidth/test-u32-width.c: Likewise.
59335         * tests/uniwidth/test-uc_width.c: Likewise.
59336         * tests/uniwidth/test-uc_width2.c: Likewise.
59337         * modules/acl-tests (Files): Add tests/macros.h.
59338         * modules/areadlink-tests (Files): Likewise.
59339         * modules/areadlink-with-size-tests (Files): Likewise.
59340         * modules/areadlinkat-tests (Files): Likewise.
59341         * modules/areadlinkat-with-size-tests (Files): Likewise.
59342         * modules/argmatch-tests (Files): Likewise.
59343         * modules/argv-iter-tests (Files): Likewise.
59344         * modules/array-list-tests (Files): Likewise.
59345         * modules/array-mergesort-tests (Files): Likewise.
59346         * modules/array-oset-tests (Files): Likewise.
59347         * modules/avltree-list-tests (Files): Likewise.
59348         * modules/avltree-oset-tests (Files): Likewise.
59349         * modules/avltreehash-list-tests (Files): Likewise.
59350         * modules/base64-tests (Files): Likewise.
59351         * modules/binary-io-tests (Files): Likewise.
59352         * modules/bitrotate-tests (Files): Likewise.
59353         * modules/btowc-tests (Files): Likewise.
59354         * modules/byteswap-tests (Files): Likewise.
59355         * modules/c-ctype-tests (Files): Likewise.
59356         * modules/c-stack-tests (Files): Likewise.
59357         * modules/c-strcase-tests (Files): Likewise.
59358         * modules/c-strcasestr-tests (Files): Likewise.
59359         * modules/c-strstr-tests (Files): Likewise.
59360         * modules/canonicalize-lgpl-tests (Files): Likewise.
59361         * modules/canonicalize-tests (Files): Likewise.
59362         * modules/carray-list-tests (Files): Likewise.
59363         * modules/ceilf-tests (Files): Likewise.
59364         * modules/ceill-tests (Files): Likewise.
59365         * modules/chown-tests (Files): Likewise.
59366         * modules/cloexec-tests (Files): Likewise.
59367         * modules/copy-file-tests (Files): Likewise.
59368         * modules/count-one-bits-tests (Files): Likewise.
59369         * modules/dprintf-posix-tests (Files): Likewise.
59370         * modules/dup2-tests (Files): Likewise.
59371         * modules/dup3-tests (Files): Likewise.
59372         * modules/duplocale-tests (Files): Likewise.
59373         * modules/fbufmode-tests (Files): Likewise.
59374         * modules/fchdir-tests (Files): Likewise.
59375         * modules/fcntl-safer-tests (Files): Likewise.
59376         * modules/fcntl-tests (Files): Likewise.
59377         * modules/fdopendir-tests (Files): Likewise.
59378         * modules/fdutimensat-tests (Files): Likewise.
59379         * modules/fflush-tests (Files): Likewise.
59380         * modules/filevercmp-tests (Files): Likewise.
59381         * modules/flock-tests (Files): Likewise.
59382         * modules/floorf-tests (Files): Likewise.
59383         * modules/floorl-tests (Files): Likewise.
59384         * modules/fnmatch-tests (Files): Likewise.
59385         * modules/fopen-safer-tests (Files): Likewise.
59386         * modules/fopen-tests (Files): Likewise.
59387         * modules/fpending-tests (Files): Likewise.
59388         * modules/fprintf-posix-tests (Files): Likewise.
59389         * modules/fpurge-tests (Files): Likewise.
59390         * modules/freadable-tests (Files): Likewise.
59391         * modules/freadahead-tests (Files): Likewise.
59392         * modules/freading-tests (Files): Likewise.
59393         * modules/freadptr-tests (Files): Likewise.
59394         * modules/freadseek-tests (Files): Likewise.
59395         * modules/freopen-tests (Files): Likewise.
59396         * modules/frexp-nolibm-tests (Files): Likewise.
59397         * modules/frexp-tests (Files): Likewise.
59398         * modules/frexpl-nolibm-tests (Files): Likewise.
59399         * modules/frexpl-tests (Files): Likewise.
59400         * modules/fseek-tests (Files): Likewise.
59401         * modules/fseeko-tests (Files): Likewise.
59402         * modules/fstrcmp-tests (Files): Likewise.
59403         * modules/fsync-tests (Files): Likewise.
59404         * modules/ftell-tests (Files): Likewise.
59405         * modules/ftello-tests (Files): Likewise.
59406         * modules/func-tests (Files): Likewise.
59407         * modules/futimens-tests (Files): Likewise.
59408         * modules/fwritable-tests (Files): Likewise.
59409         * modules/fwriting-tests (Files): Likewise.
59410         * modules/getcwd-tests (Files): Likewise.
59411         * modules/getdate-tests (Files): Likewise.
59412         * modules/getdelim-tests (Files): Likewise.
59413         * modules/getdtablesize-tests (Files): Likewise.
59414         * modules/getgroups-tests (Files): Likewise.
59415         * modules/getline-tests (Files): Likewise.
59416         * modules/getndelim2-tests (Files): Likewise.
59417         * modules/glob-tests (Files): Likewise.
59418         * modules/hash-tests (Files): Likewise.
59419         * modules/i-ring-tests (Files): Likewise.
59420         * modules/iconv-tests (Files): Likewise.
59421         * modules/iconv_open-utf-tests (Files): Likewise.
59422         * modules/idpriv-drop-tests (Files): Likewise.
59423         * modules/idpriv-droptemp-tests (Files): Likewise.
59424         * modules/inet_ntop-tests (Files): Likewise.
59425         * modules/inet_pton-tests (Files): Likewise.
59426         * modules/isblank-tests (Files): Likewise.
59427         * modules/isfinite-tests (Files): Likewise.
59428         * modules/isinf-tests (Files): Likewise.
59429         * modules/isnan-tests (Files): Likewise.
59430         * modules/isnand-nolibm-tests (Files): Likewise.
59431         * modules/isnand-tests (Files): Likewise.
59432         * modules/isnanf-nolibm-tests (Files): Likewise.
59433         * modules/isnanf-tests (Files): Likewise.
59434         * modules/isnanl-nolibm-tests (Files): Likewise.
59435         * modules/isnanl-tests (Files): Likewise.
59436         * modules/lchown-tests (Files): Likewise.
59437         * modules/ldexpl-tests (Files): Likewise.
59438         * modules/link-tests (Files): Likewise.
59439         * modules/linkat-tests (Files): Likewise.
59440         * modules/linked-list-tests (Files): Likewise.
59441         * modules/linkedhash-list-tests (Files): Likewise.
59442         * modules/localename-tests (Files): Likewise.
59443         * modules/lseek-tests (Files): Likewise.
59444         * modules/lstat-tests (Files): Likewise.
59445         * modules/mbmemcasecmp-tests (Files): Likewise.
59446         * modules/mbmemcasecoll-tests (Files): Likewise.
59447         * modules/mbrtowc-tests (Files): Likewise.
59448         * modules/mbscasecmp-tests (Files): Likewise.
59449         * modules/mbscasestr-tests (Files): Likewise.
59450         * modules/mbschr-tests (Files): Likewise.
59451         * modules/mbscspn-tests (Files): Likewise.
59452         * modules/mbsinit-tests (Files): Likewise.
59453         * modules/mbsncasecmp-tests (Files): Likewise.
59454         * modules/mbsnrtowcs-tests (Files): Likewise.
59455         * modules/mbspbrk-tests (Files): Likewise.
59456         * modules/mbspcasecmp-tests (Files): Likewise.
59457         * modules/mbsrchr-tests (Files): Likewise.
59458         * modules/mbsrtowcs-tests (Files): Likewise.
59459         * modules/mbsspn-tests (Files): Likewise.
59460         * modules/mbsstr-tests (Files): Likewise.
59461         * modules/memchr-tests (Files): Likewise.
59462         * modules/memchr2-tests (Files): Likewise.
59463         * modules/memcmp-tests (Files): Likewise.
59464         * modules/memmem-tests (Files): Likewise.
59465         * modules/memrchr-tests (Files): Likewise.
59466         * modules/mkdir-tests (Files): Likewise.
59467         * modules/mkfifo-tests (Files): Likewise.
59468         * modules/mkfifoat-tests (Files): Likewise.
59469         * modules/mknod-tests (Files): Likewise.
59470         * modules/nanosleep-tests (Files): Likewise.
59471         * modules/nl_langinfo-tests (Files): Likewise.
59472         * modules/obstack-printf-tests (Files): Likewise.
59473         * modules/open-tests (Files): Likewise.
59474         * modules/openat-tests (Files): Likewise.
59475         * modules/pipe-filter-gi-tests (Files): Likewise.
59476         * modules/pipe-filter-ii-tests (Files): Likewise.
59477         * modules/pipe2-tests (Files): Likewise.
59478         * modules/popen-safer-tests (Files): Likewise.
59479         * modules/popen-tests (Files): Likewise.
59480         * modules/posixtm-tests (Files): Likewise.
59481         * modules/pread-tests (Files): Likewise.
59482         * modules/printf-frexp-tests (Files): Likewise.
59483         * modules/printf-frexpl-tests (Files): Likewise.
59484         * modules/printf-posix-tests (Files): Likewise.
59485         * modules/priv-set-tests (Files): Likewise.
59486         * modules/quotearg-tests (Files): Likewise.
59487         * modules/random_r-tests (Files): Likewise.
59488         * modules/rawmemchr-tests (Files): Likewise.
59489         * modules/rbtree-list-tests (Files): Likewise.
59490         * modules/rbtree-oset-tests (Files): Likewise.
59491         * modules/rbtreehash-list-tests (Files): Likewise.
59492         * modules/readlink-tests (Files): Likewise.
59493         * modules/remove-tests (Files): Likewise.
59494         * modules/rename-tests (Files): Likewise.
59495         * modules/renameat-tests (Files): Likewise.
59496         * modules/rmdir-tests (Files): Likewise.
59497         * modules/round-tests (Files): Likewise.
59498         * modules/roundf-tests (Files): Likewise.
59499         * modules/roundl-tests (Files): Likewise.
59500         * modules/safe-alloc-tests (Files): Likewise.
59501         * modules/setenv-tests (Files): Likewise.
59502         * modules/sigaction-tests (Files): Likewise.
59503         * modules/signbit-tests (Files): Likewise.
59504         * modules/sleep-tests (Files): Likewise.
59505         * modules/snprintf-posix-tests (Files): Likewise.
59506         * modules/snprintf-tests (Files): Likewise.
59507         * modules/sprintf-posix-tests (Files): Likewise.
59508         * modules/stat-tests (Files): Likewise.
59509         * modules/stat-time-tests (Files): Likewise.
59510         * modules/strcasestr-tests (Files): Likewise.
59511         * modules/strchrnul-tests (Files): Likewise.
59512         * modules/strerror-tests (Files): Likewise.
59513         * modules/striconv-tests (Files): Likewise.
59514         * modules/striconveh-tests (Files): Likewise.
59515         * modules/striconveha-tests (Files): Likewise.
59516         * modules/strsignal-tests (Files): Likewise.
59517         * modules/strstr-tests (Files): Likewise.
59518         * modules/strtod-tests (Files): Likewise.
59519         * modules/strverscmp-tests (Files): Likewise.
59520         * modules/symlink-tests (Files): Likewise.
59521         * modules/symlinkat-tests (Files): Likewise.
59522         * modules/trunc-tests (Files): Likewise.
59523         * modules/truncf-tests (Files): Likewise.
59524         * modules/truncl-tests (Files): Likewise.
59525         * modules/uname-tests (Files): Likewise.
59526         * modules/unicase/cased-tests (Files): Likewise.
59527         * modules/unicase/ignorable-tests (Files): Likewise.
59528         * modules/unicase/locale-language-tests (Files): Likewise.
59529         * modules/unicase/tolower-tests (Files): Likewise.
59530         * modules/unicase/totitle-tests (Files): Likewise.
59531         * modules/unicase/toupper-tests (Files): Likewise.
59532         * modules/unicase/u8-casecmp-tests (Files): Likewise.
59533         * modules/unicase/u8-casecoll-tests (Files): Likewise.
59534         * modules/unicase/u8-casefold-tests (Files): Likewise.
59535         * modules/unicase/u8-is-cased-tests (Files): Likewise.
59536         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
59537         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
59538         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
59539         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
59540         * modules/unicase/u8-tolower-tests (Files): Likewise.
59541         * modules/unicase/u8-totitle-tests (Files): Likewise.
59542         * modules/unicase/u8-toupper-tests (Files): Likewise.
59543         * modules/unicase/u16-casecmp-tests (Files): Likewise.
59544         * modules/unicase/u16-casecoll-tests (Files): Likewise.
59545         * modules/unicase/u16-casefold-tests (Files): Likewise.
59546         * modules/unicase/u16-is-cased-tests (Files): Likewise.
59547         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
59548         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
59549         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
59550         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
59551         * modules/unicase/u16-tolower-tests (Files): Likewise.
59552         * modules/unicase/u16-totitle-tests (Files): Likewise.
59553         * modules/unicase/u16-toupper-tests (Files): Likewise.
59554         * modules/unicase/u32-casecmp-tests (Files): Likewise.
59555         * modules/unicase/u32-casecoll-tests (Files): Likewise.
59556         * modules/unicase/u32-casefold-tests (Files): Likewise.
59557         * modules/unicase/u32-is-cased-tests (Files): Likewise.
59558         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
59559         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
59560         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
59561         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
59562         * modules/unicase/u32-tolower-tests (Files): Likewise.
59563         * modules/unicase/u32-totitle-tests (Files): Likewise.
59564         * modules/unicase/u32-toupper-tests (Files): Likewise.
59565         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
59566         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
59567         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
59568         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
59569         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
59570         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
59571         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
59572         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
59573         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
59574         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
59575         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
59576         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
59577         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
59578         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
59579         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
59580         * modules/unictype/bidicategory-name-tests (Files): Likewise.
59581         * modules/unictype/bidicategory-of-tests (Files): Likewise.
59582         * modules/unictype/bidicategory-test-tests (Files): Likewise.
59583         * modules/unictype/block-list-tests (Files): Likewise.
59584         * modules/unictype/block-of-tests (Files): Likewise.
59585         * modules/unictype/block-test-tests (Files): Likewise.
59586         * modules/unictype/category-C-tests (Files): Likewise.
59587         * modules/unictype/category-Cc-tests (Files): Likewise.
59588         * modules/unictype/category-Cf-tests (Files): Likewise.
59589         * modules/unictype/category-Cn-tests (Files): Likewise.
59590         * modules/unictype/category-Co-tests (Files): Likewise.
59591         * modules/unictype/category-Cs-tests (Files): Likewise.
59592         * modules/unictype/category-L-tests (Files): Likewise.
59593         * modules/unictype/category-Ll-tests (Files): Likewise.
59594         * modules/unictype/category-Lm-tests (Files): Likewise.
59595         * modules/unictype/category-Lo-tests (Files): Likewise.
59596         * modules/unictype/category-Lt-tests (Files): Likewise.
59597         * modules/unictype/category-Lu-tests (Files): Likewise.
59598         * modules/unictype/category-M-tests (Files): Likewise.
59599         * modules/unictype/category-Mc-tests (Files): Likewise.
59600         * modules/unictype/category-Me-tests (Files): Likewise.
59601         * modules/unictype/category-Mn-tests (Files): Likewise.
59602         * modules/unictype/category-N-tests (Files): Likewise.
59603         * modules/unictype/category-Nd-tests (Files): Likewise.
59604         * modules/unictype/category-Nl-tests (Files): Likewise.
59605         * modules/unictype/category-No-tests (Files): Likewise.
59606         * modules/unictype/category-P-tests (Files): Likewise.
59607         * modules/unictype/category-Pc-tests (Files): Likewise.
59608         * modules/unictype/category-Pd-tests (Files): Likewise.
59609         * modules/unictype/category-Pe-tests (Files): Likewise.
59610         * modules/unictype/category-Pf-tests (Files): Likewise.
59611         * modules/unictype/category-Pi-tests (Files): Likewise.
59612         * modules/unictype/category-Po-tests (Files): Likewise.
59613         * modules/unictype/category-Ps-tests (Files): Likewise.
59614         * modules/unictype/category-S-tests (Files): Likewise.
59615         * modules/unictype/category-Sc-tests (Files): Likewise.
59616         * modules/unictype/category-Sk-tests (Files): Likewise.
59617         * modules/unictype/category-Sm-tests (Files): Likewise.
59618         * modules/unictype/category-So-tests (Files): Likewise.
59619         * modules/unictype/category-Z-tests (Files): Likewise.
59620         * modules/unictype/category-Zl-tests (Files): Likewise.
59621         * modules/unictype/category-Zp-tests (Files): Likewise.
59622         * modules/unictype/category-Zs-tests (Files): Likewise.
59623         * modules/unictype/category-and-not-tests (Files): Likewise.
59624         * modules/unictype/category-and-tests (Files): Likewise.
59625         * modules/unictype/category-byname-tests (Files): Likewise.
59626         * modules/unictype/category-name-tests (Files): Likewise.
59627         * modules/unictype/category-none-tests (Files): Likewise.
59628         * modules/unictype/category-of-tests (Files): Likewise.
59629         * modules/unictype/category-or-tests (Files): Likewise.
59630         * modules/unictype/category-test-withtable-tests (Files): Likewise.
59631         * modules/unictype/combining-class-tests (Files): Likewise.
59632         * modules/unictype/ctype-alnum-tests (Files): Likewise.
59633         * modules/unictype/ctype-alpha-tests (Files): Likewise.
59634         * modules/unictype/ctype-blank-tests (Files): Likewise.
59635         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
59636         * modules/unictype/ctype-digit-tests (Files): Likewise.
59637         * modules/unictype/ctype-graph-tests (Files): Likewise.
59638         * modules/unictype/ctype-lower-tests (Files): Likewise.
59639         * modules/unictype/ctype-print-tests (Files): Likewise.
59640         * modules/unictype/ctype-punct-tests (Files): Likewise.
59641         * modules/unictype/ctype-space-tests (Files): Likewise.
59642         * modules/unictype/ctype-upper-tests (Files): Likewise.
59643         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
59644         * modules/unictype/decimal-digit-tests (Files): Likewise.
59645         * modules/unictype/digit-tests (Files): Likewise.
59646         * modules/unictype/mirror-tests (Files): Likewise.
59647         * modules/unictype/numeric-tests (Files): Likewise.
59648         * modules/unictype/property-alphabetic-tests (Files): Likewise.
59649         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
59650         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
59651         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
59652         Likewise.
59653         * modules/unictype/property-bidi-block-separator-tests (Files):
59654         Likewise.
59655         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
59656         Likewise.
59657         * modules/unictype/property-bidi-common-separator-tests (Files):
59658         Likewise.
59659         * modules/unictype/property-bidi-control-tests (Files): Likewise.
59660         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
59661         Likewise.
59662         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
59663         Likewise.
59664         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
59665         Likewise.
59666         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
59667         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
59668         Likewise.
59669         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
59670         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
59671         Likewise.
59672         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
59673         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
59674         * modules/unictype/property-bidi-segment-separator-tests (Files):
59675         Likewise.
59676         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
59677         * modules/unictype/property-byname-tests (Files): Likewise.
59678         * modules/unictype/property-combining-tests (Files): Likewise.
59679         * modules/unictype/property-composite-tests (Files): Likewise.
59680         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
59681         * modules/unictype/property-dash-tests (Files): Likewise.
59682         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
59683         * modules/unictype/property-default-ignorable-code-point-tests (Files):
59684         Likewise.
59685         * modules/unictype/property-deprecated-tests (Files): Likewise.
59686         * modules/unictype/property-diacritic-tests (Files): Likewise.
59687         * modules/unictype/property-extender-tests (Files): Likewise.
59688         * modules/unictype/property-format-control-tests (Files): Likewise.
59689         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
59690         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
59691         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
59692         * modules/unictype/property-hex-digit-tests (Files): Likewise.
59693         * modules/unictype/property-hyphen-tests (Files): Likewise.
59694         * modules/unictype/property-id-continue-tests (Files): Likewise.
59695         * modules/unictype/property-id-start-tests (Files): Likewise.
59696         * modules/unictype/property-ideographic-tests (Files): Likewise.
59697         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
59698         * modules/unictype/property-ids-trinary-operator-tests (Files):
59699         Likewise.
59700         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
59701         * modules/unictype/property-iso-control-tests (Files): Likewise.
59702         * modules/unictype/property-join-control-tests (Files): Likewise.
59703         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
59704         * modules/unictype/property-line-separator-tests (Files): Likewise.
59705         * modules/unictype/property-logical-order-exception-tests (Files):
59706         Likewise.
59707         * modules/unictype/property-lowercase-tests (Files): Likewise.
59708         * modules/unictype/property-math-tests (Files): Likewise.
59709         * modules/unictype/property-non-break-tests (Files): Likewise.
59710         * modules/unictype/property-not-a-character-tests (Files): Likewise.
59711         * modules/unictype/property-numeric-tests (Files): Likewise.
59712         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
59713         * modules/unictype/property-other-default-ignorable-code-point-tests
59714         (Files): Likewise.
59715         * modules/unictype/property-other-grapheme-extend-tests (Files):
59716         Likewise.
59717         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
59718         * modules/unictype/property-other-id-start-tests (Files): Likewise.
59719         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
59720         * modules/unictype/property-other-math-tests (Files): Likewise.
59721         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
59722         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
59723         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
59724         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
59725         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
59726         * modules/unictype/property-private-use-tests (Files): Likewise.
59727         * modules/unictype/property-punctuation-tests (Files): Likewise.
59728         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
59729         * modules/unictype/property-radical-tests (Files): Likewise.
59730         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
59731         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
59732         * modules/unictype/property-space-tests (Files): Likewise.
59733         * modules/unictype/property-terminal-punctuation-tests (Files):
59734         Likewise.
59735         * modules/unictype/property-test-tests (Files): Likewise.
59736         * modules/unictype/property-titlecase-tests (Files): Likewise.
59737         * modules/unictype/property-unassigned-code-value-tests (Files):
59738         Likewise.
59739         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
59740         * modules/unictype/property-uppercase-tests (Files): Likewise.
59741         * modules/unictype/property-variation-selector-tests (Files): Likewise.
59742         * modules/unictype/property-white-space-tests (Files): Likewise.
59743         * modules/unictype/property-xid-continue-tests (Files): Likewise.
59744         * modules/unictype/property-xid-start-tests (Files): Likewise.
59745         * modules/unictype/property-zero-width-tests (Files): Likewise.
59746         * modules/unictype/scripts-tests (Files): Likewise.
59747         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
59748         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
59749         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
59750         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
59751         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
59752         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
59753         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
59754         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
59755         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
59756         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
59757         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
59758         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
59759         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
59760         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
59761         * modules/uninorm/composition-tests (Files): Likewise.
59762         * modules/uninorm/decomposing-form-tests (Files): Likewise.
59763         * modules/uninorm/decomposition-tests (Files): Likewise.
59764         * modules/uninorm/filter-tests (Files): Likewise.
59765         * modules/uninorm/nfc-tests (Files): Likewise.
59766         * modules/uninorm/nfd-tests (Files): Likewise.
59767         * modules/uninorm/nfkc-tests (Files): Likewise.
59768         * modules/uninorm/nfkd-tests (Files): Likewise.
59769         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
59770         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
59771         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
59772         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
59773         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
59774         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
59775         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
59776         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
59777         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
59778         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
59779         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
59780         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
59781         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
59782         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
59783         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
59784         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
59785         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
59786         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
59787         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
59788         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
59789         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
59790         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
59791         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
59792         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
59793         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
59794         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
59795         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
59796         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
59797         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
59798         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
59799         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
59800         * modules/uniwidth/u8-width-tests (Files): Likewise.
59801         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
59802         * modules/uniwidth/u16-width-tests (Files): Likewise.
59803         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
59804         * modules/uniwidth/u32-width-tests (Files): Likewise.
59805         * modules/uniwidth/width-tests (Files): Likewise.
59806         * modules/unlink-tests (Files): Likewise.
59807         * modules/unsetenv-tests (Files): Likewise.
59808         * modules/usleep-tests (Files): Likewise.
59809         * modules/utimens-tests (Files): Likewise.
59810         * modules/utimensat-tests (Files): Likewise.
59811         * modules/vasnprintf-posix-tests (Files): Likewise.
59812         * modules/vasnprintf-tests (Files): Likewise.
59813         * modules/vasprintf-posix-tests (Files): Likewise.
59814         * modules/vasprintf-tests (Files): Likewise.
59815         * modules/vdprintf-posix-tests (Files): Likewise.
59816         * modules/vfprintf-posix-tests (Files): Likewise.
59817         * modules/vprintf-posix-tests (Files): Likewise.
59818         * modules/vsnprintf-posix-tests (Files): Likewise.
59819         * modules/vsnprintf-tests (Files): Likewise.
59820         * modules/vsprintf-posix-tests (Files): Likewise.
59821         * modules/wcrtomb-tests (Files): Likewise.
59822         * modules/wcsnrtombs-tests (Files): Likewise.
59823         * modules/wcsrtombs-tests (Files): Likewise.
59824         * modules/wctype-tests (Files): Likewise.
59825         * modules/wcwidth-tests (Files): Likewise.
59826         * modules/xmemdup0-tests (Files): Likewise.
59827         * modules/xprintf-posix-tests (Files): Likewise.
59828         * modules/xvasprintf-tests (Files): Likewise.
59830 2009-12-24  Eric Blake  <ebb9@byu.net>
59832         test-nanosleep: fix typo
59833         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
59834         patch.
59835         Reported by Bruno Haible.
59837 2009-12-24  Bruno Haible  <bruno@clisp.org>
59839         Reduce namespace pollution on glibc systems.
59840         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
59841         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
59842         systems.
59843         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
59844         <getopt.h> on glibc systems.
59845         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
59846         systems.
59847         * lib/fcntl.c: Include <unistd.h> here instead.
59849 2009-12-24  Bruno Haible  <bruno@clisp.org>
59851         * lib/stdlib.in.h (includes): Fix typo in today's commit.
59853 2009-12-24  Eric Blake  <ebb9@byu.net>
59855         tests: add signature checks
59856         * tests/signature.h (SIGNATURE_CHECK): New file.
59857         * modules/atexit-tests (Files): Use it.
59858         * modules/btowc-tests (Files): Likewise.
59859         * modules/canonicalize-lgpl-tests (Files): Likewise.
59860         * modules/ceilf-tests (Files): Likewise.
59861         * modules/ceill-tests (Files): Likewise.
59862         * modules/chown-tests (Files): Likewise.
59863         * modules/dprintf-posix-tests (Files): Likewise.
59864         * modules/dup2-tests (Files): Likewise.
59865         * modules/dup3-tests (Files): Likewise.
59866         * modules/duplocale-tests (Files): Likewise.
59867         * modules/fchdir-tests (Files): Likewise.
59868         * modules/fcntl-tests (Files): Likewise.
59869         * modules/fdopendir-tests (Files): Likewise.
59870         * modules/fflush-tests (Files): Likewise.
59871         * modules/flock-tests (Files): Likewise.
59872         * modules/floorf-tests (Files): Likewise.
59873         * modules/floorl-tests (Files): Likewise.
59874         * modules/fnmatch-tests (Files): Likewise.
59875         * modules/fopen-tests (Files): Likewise.
59876         * modules/fprintf-posix-tests (Files): Likewise.
59877         * modules/freopen-tests (Files): Likewise.
59878         * modules/frexp-nolibm-tests (Files): Likewise.
59879         * modules/frexp-tests (Files): Likewise.
59880         * modules/frexpl-nolibm-tests (Files): Likewise.
59881         * modules/frexpl-tests (Files): Likewise.
59882         * modules/fseek-tests (Files): Likewise.
59883         * modules/fseeko-tests (Files): Likewise.
59884         * modules/fsync-tests (Files): Likewise.
59885         * modules/ftell-tests (Files): Likewise.
59886         * modules/ftello-tests (Files): Likewise.
59887         * modules/futimens-tests (Files): Likewise.
59888         * modules/getaddrinfo-tests (Files): Likewise.
59889         * modules/getcwd-tests (Files): Likewise.
59890         * modules/getdelim-tests (Files): Likewise.
59891         * modules/getdtablesize-tests (Files): Likewise.
59892         * modules/getgroups-tests (Files): Likewise.
59893         * modules/gethostname-tests (Files): Likewise.
59894         * modules/getline-tests (Files): Likewise.
59895         * modules/getopt-posix-tests (Files): Likewise.
59896         * modules/gettimeofday-tests (Files): Likewise.
59897         * modules/glob-tests (Files): Likewise.
59898         * modules/iconv-tests (Files): Likewise.
59899         * modules/inet_ntop-tests (Files): Likewise.
59900         * modules/inet_pton-tests (Files): Likewise.
59901         * modules/isblank-tests (Files): Likewise.
59902         * modules/lchown-tests (Files): Likewise.
59903         * modules/ldexpl-tests (Files): Likewise.
59904         * modules/link-tests (Files): Likewise.
59905         * modules/linkat-tests (Files): Likewise.
59906         * modules/lseek-tests (Files): Likewise.
59907         * modules/lstat-tests (Files): Likewise.
59908         * modules/mbrtowc-tests (Files): Likewise.
59909         * modules/mbsinit-tests (Files): Likewise.
59910         * modules/mbsnrtowcs-tests (Files): Likewise.
59911         * modules/mbsrtowcs-tests (Files): Likewise.
59912         * modules/memchr-tests (Files): Likewise.
59913         * modules/memcmp-tests (Files): Likewise.
59914         * modules/memmem-tests (Files): Likewise.
59915         * modules/memrchr-tests (Files): Likewise.
59916         * modules/mkdir-tests (Files): Likewise.
59917         * modules/mkfifo-tests (Files): Likewise.
59918         * modules/mkfifoat-tests (Files): Likewise.
59919         * modules/mknod-tests (Files): Likewise.
59920         * modules/nanosleep-tests (Files): Likewise.
59921         * modules/nl_langinfo-tests (Files): Likewise.
59922         * modules/obstack-printf-tests (Files): Likewise.
59923         * modules/open-tests (Files): Likewise.
59924         * modules/openat-tests (Files): Likewise.
59925         * modules/perror-tests (Files): Likewise.
59926         * modules/pipe2-tests (Files): Likewise.
59927         * modules/poll-tests (Files): Likewise.
59928         * modules/popen-tests (Files): Likewise.
59929         * modules/posix_spawn-tests (Files): Likewise.
59930         * modules/posix_spawnp-tests (Files): Likewise.
59931         * modules/pread-tests (Files): Likewise.
59932         * modules/printf-posix-tests (Files): Likewise.
59933         * modules/pty-tests (Files): Likewise.
59934         * modules/random_r-tests (Files): Likewise.
59935         * modules/rawmemchr-tests (Files): Likewise.
59936         * modules/readlink-tests (Files): Likewise.
59937         * modules/remove-tests (Files): Likewise.
59938         * modules/rename-tests (Files): Likewise.
59939         * modules/renameat-tests (Files): Likewise.
59940         * modules/rmdir-tests (Files): Likewise.
59941         * modules/round-tests (Files): Likewise.
59942         * modules/roundf-tests (Files): Likewise.
59943         * modules/roundl-tests (Files): Likewise.
59944         * modules/select-tests (Files): Likewise.
59945         * modules/setenv-tests (Files): Likewise.
59946         * modules/sigaction-tests (Files): Likewise.
59947         * modules/sleep-tests (Files): Likewise.
59948         * modules/snprintf-posix-tests (Files): Likewise.
59949         * modules/snprintf-tests (Files): Likewise.
59950         * modules/sprintf-posix-tests (Files): Likewise.
59951         * modules/stat-tests (Files): Likewise.
59952         * modules/strcasestr-tests (Files): Likewise.
59953         * modules/strchrnul-tests (Files): Likewise.
59954         * modules/strerror-tests (Files): Likewise.
59955         * modules/strsignal-tests (Files): Likewise.
59956         * modules/strstr-tests (Files): Likewise.
59957         * modules/strtod-tests (Files): Likewise.
59958         * modules/strverscmp-tests (Files): Likewise.
59959         * modules/symlink-tests (Files): Likewise.
59960         * modules/symlinkat-tests (Files): Likewise.
59961         * modules/times-tests (Files): Likewise.
59962         * modules/trunc-tests (Files): Likewise.
59963         * modules/truncf-tests (Files): Likewise.
59964         * modules/truncl-tests (Files): Likewise.
59965         * modules/tsearch-tests (Files): Likewise.
59966         * modules/uname-tests (Files): Likewise.
59967         * modules/unlink-tests (Files): Likewise.
59968         * modules/unsetenv-tests (Files): Likewise.
59969         * modules/usleep-tests (Files): Likewise.
59970         * modules/utimensat-tests (Files): Likewise.
59971         * modules/vasprintf-tests (Files): Likewise.
59972         * modules/vdprintf-posix-tests (Files): Likewise.
59973         * modules/vfprintf-posix-tests (Files): Likewise.
59974         * modules/vprintf-posix-tests (Files): Likewise.
59975         * modules/vsnprintf-posix-tests (Files): Likewise.
59976         * modules/vsnprintf-tests (Files): Likewise.
59977         * modules/vsprintf-posix-tests (Files): Likewise.
59978         * modules/wcrtomb-tests (Files): Likewise.
59979         * modules/wcsnrtombs-tests (Files): Likewise.
59980         * modules/wcsrtombs-tests (Files): Likewise.
59981         * modules/wcwidth-tests (Files): Likewise.
59982         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
59983         * tests/test-isinf.c (isinf): Likewise.
59984         * tests/test-isnan.c (isnan): Likewise.
59985         * tests/test-signbit.c (signbit): Likewise.
59986         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
59987         declaration, either as macro or with correct signature.
59988         (select): Ensure function under test is declared with correct
59989         signature in correct header.
59990         * tests/test-atexit.c (atexit): Likewise.
59991         * tests/test-btowc.c (btowc): Likewise.
59992         * tests/test-canonicalize-lgpl.c (realpath)
59993         (canonicalize_file_name): Likewise.
59994         * tests/test-ceilf1.c (ceilf): Likewise.
59995         * tests/test-ceill.c (ceill): Likewise.
59996         * tests/test-chown.c (chown): Likewise.
59997         * tests/test-dprintf-posix.c (dprintf): Likewise.
59998         * tests/test-dup2.c (dup2): Likewise.
59999         * tests/test-dup3.c (dup3): Likewise.
60000         * tests/test-duplocale.c (duplocale): Likewise.
60001         * tests/test-fchdir.c (fchdir): Likewise.
60002         * tests/test-fchownat.c (fchownat): Likewise.
60003         * tests/test-fcntl.c (fcntl): Likewise.
60004         * tests/test-fdopendir.c (fdopendir): Likewise.
60005         * tests/test-fflush.c (fflush): Likewise.
60006         * tests/test-flock.c (flock): Likewise.
60007         * tests/test-floorf1.c (floorf): Likewise.
60008         * tests/test-floorl.c (floorl): Likewise.
60009         * tests/test-fnmatch.c (fnmatch): Likewise.
60010         * tests/test-fopen.c (fopen): Likewise.
60011         * tests/test-fprintf-posix.c (fprintf): Likewise.
60012         * tests/test-freopen.c (freopen): Likewise.
60013         * tests/test-frexp.c (frexp): Likewise.
60014         * tests/test-frexpl.c (frexpl): Likewise.
60015         * tests/test-fseek.c (fseek): Likewise.
60016         * tests/test-fseeko.c (fseeko): Likewise.
60017         * tests/test-fstatat.c (fstatat): Likewise.
60018         * tests/test-fsync.c (fsync): Likewise.
60019         * tests/test-ftell.c (ftell): Likewise.
60020         * tests/test-ftello.c (ftello): Likewise.
60021         * tests/test-futimens.c (futimens): Likewise.
60022         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
60023         (gai_strerror): Likewise.
60024         * tests/test-getcwd.c (getcwd): Likewise.
60025         * tests/test-getdelim.c (getdelim): Likewise.
60026         * tests/test-getdtablesize.c (getdtablesize): Likewise.
60027         * tests/test-getgroups.c (getgroups): Likewise.
60028         * tests/test-gethostname.c (gethostname): Likewise.
60029         * tests/test-getline.c (getline): Likewise.
60030         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
60031         Likewise.
60032         * tests/test-gettimeofday.c (gettimeofday): Likewise.
60033         * tests/test-glob.c (glob, globfree): Likewise.
60034         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
60035         * tests/test-inet_ntop.c (inet_ntop): Likewise.
60036         * tests/test-inet_pton.c (inet_pton): Likewise.
60037         * tests/test-isblank.c (isblank): Likewise.
60038         * tests/test-lchown.c (lchown): Likewise.
60039         * tests/test-ldexpl.c (ldexpl): Likewise.
60040         * tests/test-link.c (link): Likewise.
60041         * tests/test-linkat.c (linkat): Likewise.
60042         * tests/test-lseek.c (lseek): Likewise.
60043         * tests/test-lstat.c (lstat): Likewise.
60044         * tests/test-mbrtowc.c (mbrtowc): Likewise.
60045         * tests/test-mbsinit.c (mbsinit): Likewise.
60046         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
60047         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
60048         * tests/test-memchr.c (memchr): Likewise.
60049         * tests/test-memcmp.c (memcmp): Likewise.
60050         * tests/test-memmem.c (memmem): Likewise.
60051         * tests/test-memrchr.c (memrchr): Likewise.
60052         * tests/test-mkdir.c (mkdir): Likewise.
60053         * tests/test-mkdirat.c (mkdirat): Likewise.
60054         * tests/test-mkfifo.c (mkfifo): Likewise.
60055         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
60056         * tests/test-mknod.c (mknod): Likewise.
60057         * tests/test-nanosleep.c (nanosleep): Likewise.
60058         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
60059         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
60060         Likewise.
60061         * tests/test-open.c (open): Likewise.
60062         * tests/test-openat.c (openat): Likewise.
60063         * tests/test-perror.c (perror): Likewise.
60064         * tests/test-pipe2.c (pipe2): Likewise.
60065         * tests/test-poll.c (poll): Likewise.
60066         * tests/test-popen.c (popen, pclose): Likewise.
60067         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
60068         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
60069         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
60070         (posix_spawn_file_actions_destroy)
60071         (posix_spawn_file_actions_addclose)
60072         (posix_spawn_file_actions_addopen)
60073         (posix_spawn_file_actions_adddup2): Likewise.
60074         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
60075         * tests/test-pread.c (pread): Likewise.
60076         * tests/test-printf-posix.c (printf): Likewise.
60077         * tests/test-pty.c (openpty, forkpty): Likewise.
60078         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
60079         (random_r): Likewise.
60080         * tests/test-rawmemchr.c (rawmemchr): Likewise.
60081         * tests/test-readlink.c (readlink): Likewise.
60082         * tests/test-remove.c (remove): Likewise.
60083         * tests/test-rename.c (rename): Likewise.
60084         * tests/test-renameat.c (renameat): Likewise.
60085         * tests/test-rmdir.c (rmdir): Likewise.
60086         * tests/test-round1.c (round): Likewise.
60087         * tests/test-roundf1.c (roundf): Likewise.
60088         * tests/test-roundl.c (roundl): Likewise.
60089         * tests/test-setenv.c (setenv): Likewise.
60090         * tests/test-sigaction.c (sigaction): Likewise.
60091         * tests/test-sleep.c (sleep): Likewise.
60092         * tests/test-snprintf.c (snprintf): Likewise.
60093         * tests/test-sprintf-posix.c (sprintf): Likewise.
60094         * tests/test-stat.c (stat): Likewise.
60095         * tests/test-stpncpy.c (stpncpy): Likewise.
60096         * tests/test-strcasestr.c (strcasestr): Likewise.
60097         * tests/test-strchrnul.c (strchrnul): Likewise.
60098         * tests/test-strerror.c (strerror): Likewise.
60099         * tests/test-strsignal.c (strsignal): Likewise.
60100         * tests/test-strstr.c (strstr): Likewise.
60101         * tests/test-strtod.c (strtod): Likewise.
60102         * tests/test-strverscmp.c (strverscmp): Likewise.
60103         * tests/test-symlink.c (symlink): Likewise.
60104         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
60105         * tests/test-times.c (times): Likewise.
60106         * tests/test-trunc1.c (trunc): Likewise.
60107         * tests/test-truncf1.c (truncf): Likewise.
60108         * tests/test-truncl.c (truncl): Likewise.
60109         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
60110         Likewise.
60111         * tests/test-uname.c (uname): Likewise.
60112         * tests/test-unlink.c (unlink): Likewise.
60113         * tests/test-unlinkat.c (unlinkat): Likewise.
60114         * tests/test-unsetenv.c (unsetenv): Likewise.
60115         * tests/test-usleep.c (usleep): Likewise.
60116         * tests/test-utimensat.c (utimensat): Likewise.
60117         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
60118         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
60119         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
60120         * tests/test-vprintf-posix.c (vprintf): Likewise.
60121         * tests/test-vsnprintf.c (vsnprintf): Likewise.
60122         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
60123         * tests/test-wcrtomb.c (wcrtomb): Likewise.
60124         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
60125         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
60126         * tests/test-wcwidth.c (wcwidth): Likewise.
60128         build: pull in conditional headers during GNULIB_POSIXCHECK
60129         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
60130         definitions from any conditionally-included headers.
60131         * lib/stdlib.in.h (includes): Likewise.
60132         * lib/unistd.in.h (includes): Likewise.
60134 2009-12-24  Bruno Haible  <bruno@clisp.org>
60136         * tests/test-argv-iter.c: Include header file being tested immediately
60137         after config.h.
60138         * tests/test-base64.c: Likewise.
60139         * tests/test-flock.c: Likewise.
60140         * tests/test-fsync.c: Likewise.
60141         * tests/test-getdate.c: Likewise.
60142         * tests/test-getndelim2.c: Likewise.
60143         * tests/test-isfinite.c: Likewise.
60144         * tests/test-isinf.c: Likewise.
60145         * tests/test-strerror.c: Likewise.
60146         * tests/test-strsignal.c: Likewise.
60148 2009-12-23  Eric Blake  <ebb9@byu.net>
60150         unistd: work around cygwin bug
60151         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
60152         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
60153         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
60155 2009-12-23  Bruno Haible  <bruno@clisp.org>
60157         localename: More tests.
60158         * tests/test-localename.c (SIZEOF): New macro.
60159         (categories): New variable.
60160         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
60161         test_locale_name_default): Add test w.r.t. thread locale.
60162         (test_locale_name_thread): New function.
60163         (main): Invoke it.
60165         localename: Make aware of thread locale.
60166         * lib/localename.h (gl_locale_name_thread): New declaration.
60167         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
60168         behaviour with respect to thread locale.
60169         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
60170         <langinfo.h>, glthread/lock.h.
60171         (SIZE_BITS): New macro.
60172         (string_hash): New function.
60173         (struct hash_node): New type.
60174         (HASH_TABLE_SIZE): New macro.
60175         (struniq_hash_table, struniq_lock): New variables.
60176         (struniq): New function.
60177         (gl_locale_name_thread): New function.
60178         (gl_locale_name): Invoke it.
60179         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
60180         * modules/localename (Depends-on): Add lock.
60181         Reported by Mike Gran <spk121@yahoo.com>.
60183 2009-12-23  Eric Blake  <ebb9@byu.net>
60185         va-args: new module
60186         * modules/va-args: New file.
60187         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
60188         * MODULES.html.sh (Core language properties): Mention it.
60190         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
60191         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
60192         named alias for __attribute__((__unused__)).
60193         * lib/chown.c: Update client.
60194         * lib/fchmodat.c: Likewise.
60195         * lib/fts.c: Likewise.
60196         * lib/getdate.y: Likewise.
60197         * lib/getgroups.c: Likewise.
60198         * lib/getopt.c: Likewise.
60199         * lib/getugroups.c: Likewise.
60200         * lib/mkdir.c: Likewise.
60201         * lib/mkfifo.c: Likewise.
60202         * lib/mkfifoat.c: Likewise.
60203         * lib/mknod.c: Likewise.
60204         * lib/mknodat.c: Likewise.
60205         * lib/readlink.c: Likewise.
60206         * lib/se-context.in.h: Likewise.
60207         * lib/se-selinux.in.h: Likewise.
60208         * lib/sockets.c: Likewise.
60209         * lib/symlink.c: Likewise.
60210         * lib/symlinkat.c: Likewise.
60211         * lib/unicodeio.c: Likewise.
60212         * lib/unistr.h: Likewise.
60213         * tests/test-areadlink.c: Likewise.
60214         * tests/test-areadlinkat.c: Likewise.
60215         * tests/test-filenamecat.c: Likewise.
60216         * tests/test-fseeko.c: Likewise.
60217         * tests/test-ftello.c: Likewise.
60218         * tests/test-getdate.c: Likewise.
60219         * tests/test-getgroups.c: Likewise.
60220         * tests/test-gethostname.c: Likewise.
60221         * tests/test-quotearg.c: Likewise.
60222         * tests/test-version-etc.c: Likewise.
60223         * tests/test-xalloc-die.c: Likewise.
60224         * tests/test-xfprintf-posix.c: Likewise.
60225         * tests/test-xprintf-posix.c: Likewise.
60226         * tests/test-xvasprintf.c: Likewise.
60228         tests: avoid compiler warnings
60229         * tests/test-fcntl.c (main): Delete unused parameters.
60230         * tests/test-freopen-safer.c (main): Likewise.
60231         * tests/test-xalloc-die.c (main): Mark unused parameters.
60232         * tests/test-fseeko.c (main): Likewise.
60233         * tests/test-ftello.c (main): Likewise.
60234         * tests/test-nanosleep.c (main): Avoid declaration warning.
60235         * tests/test-sleep.c (main): Likewise.
60236         * tests/test-unsetenv.c (main): Silence warning about string
60237         literal.
60238         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
60240 2009-12-23  Bruno Haible  <bruno@clisp.org>
60242         * tests/test-localename.c (test_locale_name): New function, extracted
60243         from main. Also test mixed situations.
60244         (test_locale_name_posix, test_locale_name_environ,
60245         test_locale_name_default): New functions.
60246         (main): Invoke them all.
60247         * modules/localename-tests (configure.ac): Test for newlocale.
60249 2009-12-23  Bruno Haible  <bruno@clisp.org>
60251         unistd: Ensure getcwd gets declared before being overridden.
60252         * lib/unistd.in.h: Conditionally include <io.h>.
60254 2009-12-22  Bruno Haible  <bruno@clisp.org>
60256         wchar: Diagnose broken combination of glibc and gcc versions and flags.
60257         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
60258         (gl_WCHAR_H): Invoke it.
60259         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
60260         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
60261         Reported by Karl Berry <karl@freefriends.org>.
60263 2009-12-22  Eric Blake  <ebb9@byu.net>
60265         math, unistd: avoid redundant includes
60266         * lib/math.in.h (isnan): No need to re-include <math.h>.
60267         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
60269         getsubopt: work around cygwin bug
60270         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
60271         avoid conflicting with system getsubopt.
60272         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
60273         bug.
60275         getopt: synchronize from glibc
60276         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
60277         parameter order.  Adjust all callers.
60278         (_getopt_internal_r, main): Adjust quoting in error messages.
60279         Drop considerations for outdated POSIX 1003.2 error message.
60280         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
60281         callers.
60282         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
60284         test-getopt: test stderr behavior
60285         * modules/getopt-posix-tests (Depends-on): Add dup2.
60286         * tests/test-getopt.c (ASSERT): Avoid stderr.
60287         (main): Move stderr to a temporary file.
60288         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
60289         Instead, add parameter to inform caller if output occurred.
60290         (test_getopt): Adjust all existing tests to expect silence, and
60291         add new tests of leading ":".
60292         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
60293         glibc shortcomings with leading "-:" or "+:" in optstring.
60294         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
60295         Likewise.
60296         * doc/posix-functions/getopt.texi (getopt): Likewise.
60298         test-getopt: enhance test
60299         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
60300         supports optind=0.
60301         * tests/test-getopt.c (OPTIND_MIN): Move...
60302         * tests/test-getopt.h (OPTIND_MIN): ...here.
60303         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
60304         Require that optind=0 works, since modern BSD supports it in
60305         addition to optreset, and since coreutils expects it.
60306         (test_getopt_long_only): New test.
60307         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
60308         glibc shortcomings with 'W;', and enforcement of optind=0.
60309         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
60310         Likewise.
60312 2009-12-21  Bruno Haible  <bruno@clisp.org>
60314         localename: Improvements for MacOS X and Cygwin.
60315         * lib/localename.h (gl_locale_name_environ): New declaration.
60316         * lib/localename.c (gl_locale_name_environ): New function, extracted from
60317         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
60318         (gl_locale_name_posix): Invoke it.
60319         (gl_locale_name_default): Add comments. Use Windows native API also on
60320         Cygwin.
60322 2009-12-21  Bruno Haible  <bruno@clisp.org>
60324         Update list of Win32 locale ids.
60325         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
60326         (LANG_SAMI): Renamed from LANG_SAAMI.
60327         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
60328         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
60329         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
60330         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
60331         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
60332         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
60333         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
60334         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
60335         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
60336         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
60337         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
60338         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
60339         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
60340         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
60341         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
60342         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
60343         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
60344         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
60345         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
60346         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
60347         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
60348         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
60349         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
60350         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
60351         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
60352         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
60353         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
60354         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
60355         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
60356         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
60357         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
60358         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
60359         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
60360         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
60361         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
60362         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
60363         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
60364         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
60365         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
60366         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
60367         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
60368         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
60369         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
60370         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
60371         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
60372         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
60373         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
60374         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
60375         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
60376         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
60377         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
60378         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
60379         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
60380         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
60381         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
60382         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
60383         Add more languages and countries for Sami, Sorbian. Add more countries
60384         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
60385         for Pashto. Change country for Syriac, Tswana.
60387 2009-12-21  Eric Blake  <ebb9@byu.net>
60389         test-utimens: avoid spurious failure
60390         * tests/test-chown.h (nap): Factor...
60391         * tests/nap.h: ...into new file.
60392         * tests/test-lchown.h (nap): Avoid duplication.
60393         * tests/test-utimens-common.h (nap): Use shared implementation,
60394         necessary on file systems with 1-second resolution.
60395         * modules/chown-tests (Files): Include new file.
60396         * modules/fdutimensat-tests (Files): Likewise.
60397         * modules/futimens-tests (Files): Likewise.
60398         * modules/lchown-tests (Files): Likewise.
60399         * modules/openat-tests (Files): Likewise.
60400         * modules/utimens-tests (Files): Likewise.
60401         * modules/utimensat-tests (Files): Likewise.
60403 2009-12-19  Eric Blake  <ebb9@byu.net>
60405         futimens, utimensat: work around Linux bug
60406         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
60407         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
60408         * lib/utimensat.c (rpl_utimensat): Work around it.
60409         * lib/futimens.c (rpl_futimens): Adjust comment.
60411         utimens: work around Linux ctime bug
60412         * lib/utimens.c (detect_ctime_bug): New helper function.
60413         (update_timespec): Differentiate between workaround needed for
60414         this bug vs. what is needed for systems that lack utimensat.
60415         (fdutimens, lutimens): Work around bug.
60417         utimens: check for ctime update
60418         * tests/test-utimens-common.h (check_ctime): Define.
60419         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
60420         * tests/test-futimens.h (test_futimens): Likewise.
60421         * tests/test-lutimens.h (test_lutimens): Likewise.
60422         * doc/posix-functions/futimens.texi (futimens): Document the bug.
60423         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
60425 2009-12-19  Bruno Haible  <bruno@clisp.org>
60427         dprintf-posix: Check against memory leak fixed on 2009-12-15.
60428         * tests/test-dprintf-posix2.sh: New file.
60429         * tests/test-dprintf-posix2.c: New file.
60430         * modules/dprintf-posix-tests (Files): Add them.
60431         (configure.ac): Check for getrlimit and setrlimit.
60432         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
60434 2009-12-19  Bruno Haible  <bruno@clisp.org>
60436         fprintf-posix: Check against memory leak fixed on 2009-12-15.
60437         * tests/test-fprintf-posix3.sh: New file.
60438         * tests/test-fprintf-posix3.c: New file.
60439         * modules/fprintf-posix-tests (Files): Add them.
60440         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
60442 2009-12-19  Eric Blake  <ebb9@byu.net>
60444         dirfd: fix prototype
60445         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
60446         * lib/dirfd.c (dirfd): Likewise.
60448         canonicalize: reduce memory usage
60449         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
60450         allocation to size.
60451         Reported by Solar Designer <solar@openwall.com>.
60453 2009-12-19  Bruno Haible  <bruno@clisp.org>
60455         New module attribute 'Applicability'.
60456         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
60457         * gnulib-tool: New option --extract-applicability.
60458         (func_usage): Document it.
60459         (sed_extract_prog): Recognize it.
60460         (func_get_applicability): New function.
60461         (func_import): Generalize handling of 'link-warning' module.
60462         * modules/link-warning (Applicability): New section.
60463         * modules/arg-nonnull (Applicability): New section.
60464         Repoted by Simon Josefsson <simon@josefsson.org>.
60466 2009-12-19  Bruno Haible  <bruno@clisp.org>
60468         fflush: tweak
60469         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
60470         * lib/fseeko.c (rpl_fseeko): Likewise.
60472 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
60474         * lib/gl_list.h: Fix typo in comment.
60476 2009-12-16  Eric Blake  <ebb9@byu.net>
60478         fcntl: use to simplify other modules
60479         * modules/cloexec (Depends-on): Add fcntl.
60480         * modules/fchdir (Depends-on): Likewise.
60481         * modules/fd-safer-flag (Depends-on): Likewise.
60482         * modules/unistd-safer (Depends-on): Likewise.
60483         * modules/dup3 (configure.ac): Set module indicator.
60484         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
60485         missing.
60486         * lib/fchdir.c (_gl_register_dup): Fix comment.
60487         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
60488         * lib/dup-safer.c (dup_safer): Likewise.
60489         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
60490         * lib/dup3.c (dup3): Likewise.
60491         * tests/test-fchdir.c (main): Enhance test.
60492         Fixes a dup_cloexec bug reported by Ondřej Vašík.
60494         fcntl: port portions of fcntl to mingw
60495         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
60496         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
60497         replacement for mingw.
60498         * modules/fcntl (Description): Update.
60499         (Depends-on): Add dup2.
60500         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
60501         * modules/fcntl-h (Makefile.am): Substitute it.
60502         * lib/fcntl.in.h (fcntl): Update declaration.
60503         (F_DUPFD, F_GETFD): New macros, when needed.
60504         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
60505         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
60506         * tests/test-fcntl.c (check_flags, main): Enhance test for items
60507         we now guarantee.
60509         fcntl: work around cygwin bug in F_DUPFD
60510         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
60511         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
60512         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
60513         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
60514         * doc/posix-functions/fcntl.texi (fcntl): Document it.
60516         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
60517         * modules/fcntl (Files): List new files.
60518         (configure.ac): Run a test.
60519         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
60520         * lib/fcntl.c (rpl_fcntl): Likewise.
60521         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
60522         (gl_FCNTL_H): Always replace fcntl.h.
60523         * modules/fcntl-h (Makefile.am): Substitute witnesses.
60524         * lib/fcntl.in.h (fcntl): Declare replacement.
60525         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
60526         needed, plus a witness.
60527         * doc/posix-functions/fcntl.texi (fcntl): Document this.
60528         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
60529         * tests/test-fcntl.c: New file.
60530         * modules/fcntl-tests: Likewise.
60532         binary-io: avoid potential compilation warning
60533         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
60534         directives.
60536         fflush: avoid compilation error on NetBSD
60537         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
60538         between off_t and fpos_t, since the latter is sometimes a struct.
60539         * lib/fseeko.c (rpl_fseeko): Likewise.
60540         Reported by Alexander Nasonov <alnsn@yandex.ru>.
60542 2009-12-15  Eric Blake  <ebb9@byu.net>
60544         fcntl-h, stdio, sys_ioctl: fix declarations
60545         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
60546         function must not take arguments.
60547         * lib/sys_ioctl.in.h (ioctl): Likewise.
60548         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
60549         (open): Add a link warning.
60551 2009-12-15  Jim Meyering  <meyering@redhat.com>
60553         areadlink, areadlink-with-size: relax license to LGPLv2+
60554         * modules/areadlink (License): Relax to LGPLv2+.
60555         * modules/areadlink-with-size (License): Likewise.
60557 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
60558             Bruno Haible  <bruno@clisp.org>
60560         *printf: Fix memory leak.
60561         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
60562         * lib/vfprintf.c (vfprintf): Likewise.
60563         * lib/dprintf.c (dprintf): Likewise.
60564         * lib/vdprintf.c (vdprintf): Likewise.
60566 2009-12-14  Eric Blake  <ebb9@byu.net>
60568         accept4: adjust module dependencies
60569         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
60571         utimens: one more try at avoiding compiler warning
60572         * lib/utimens.c (lutimens): Lower scope of result.
60574 2009-12-13  Bruno Haible  <bruno@clisp.org>
60576         Move the malloc checking from module 'list' to new module 'xlist'.
60577         * modules/xlist: New file.
60578         * lib/gl_xlist.h: New file.
60579         * lib/gl_xlist.c: New file.
60580         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
60581         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
60582         gl_list_add_last, gl_list_add_before, gl_list_add_after,
60583         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
60584         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
60585         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
60586         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
60587         gl_sortedlist_nx_add): New declarations.
60588         (struct gl_list_implementation): Rename and change methods accordingly.
60589         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
60590         (gl_list_nx_create): Renamed from gl_list_create.
60591         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
60592         (gl_list_nx_set_at): Renamed from gl_list_set_at.
60593         (gl_list_nx_add_first): Renamed from gl_list_add_first.
60594         (gl_list_nx_add_last): Renamed from gl_list_add_last.
60595         (gl_list_nx_add_before): Renamed from gl_list_add_before.
60596         (gl_list_nx_add_after): Renamed from gl_list_add_after.
60597         (gl_list_nx_add_at): Renamed from gl_list_add_at.
60598         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
60599         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
60600         gl_list_create_empty.
60601         (gl_list_nx_create): Renamed from gl_list_create.
60602         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
60603         (gl_list_nx_set_at): Renamed from gl_list_set_at.
60604         (gl_list_nx_add_first): Renamed from gl_list_add_first.
60605         (gl_list_nx_add_last): Renamed from gl_list_add_last.
60606         (gl_list_nx_add_before): Renamed from gl_list_add_before.
60607         (gl_list_nx_add_after): Renamed from gl_list_add_after.
60608         (gl_list_nx_add_at): Renamed from gl_list_add_at.
60609         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
60610         * lib/gl_array_list.c: Don't include xalloc.h.
60611         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
60612         NULL upon out-of-memory.
60613         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
60614         out-of-memory.
60615         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
60616         Change return type to 'int'.
60617         (gl_array_nx_set_at): Renamed from gl_array_set_at.
60618         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
60619         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
60620         upon out-of-memory.
60621         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
60622         upon out-of-memory.
60623         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
60624         upon out-of-memory.
60625         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
60626         upon out-of-memory.
60627         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
60628         out-of-memory.
60629         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
60630         Update.
60631         (gl_array_list_implementation): Update.
60632         * lib/gl_carray_list.c: Don't include xalloc.h.
60633         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
60634         Return NULL upon out-of-memory.
60635         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
60636         out-of-memory.
60637         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
60638         Change return type to 'int'.
60639         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
60640         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
60641         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
60642         upon out-of-memory.
60643         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
60644         upon out-of-memory.
60645         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
60646         out-of-memory.
60647         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
60648         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
60649         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
60650         Update.
60651         (gl_carray_list_implementation): Update.
60652         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
60653         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
60654         gl_linked_create_empty. Return NULL upon out-of-memory.
60655         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
60656         out-of-memory.
60657         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
60658         Change return type to 'int'. Return -1 upon out-of-memory.
60659         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
60660         out-of-memory.
60661         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
60662         upon out-of-memory.
60663         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
60664         upon out-of-memory.
60665         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
60666         NULL upon out-of-memory.
60667         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
60668         upon out-of-memory.
60669         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
60670         out-of-memory.
60671         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
60672         Update.
60673         * lib/gl_linked_list.c: Don't include xalloc.h.
60674         (gl_linked_list_implementation): Update.
60675         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
60676         (add_to_bucket): Change return type to 'int'.
60677         (gl_linkedhash_list_implementation): Update.
60678         * lib/gl_anytree_list1.h (free_subtree): New function.
60679         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
60680         gl_tree_create_empty. Return NULL upon out-of-memory.
60681         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
60682         Change return type to 'int'. Return -1 upon out-of-memory.
60683         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
60684         out-of-memory.
60685         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
60686         (gl_tree_remove_node): New function, moved here from
60687         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
60688         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
60689         Update.
60690         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
60691         malloc, not xmalloc. Return NULL upon out-of-memory.
60692         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
60693         out-of-memory.
60694         (gl_tree_remove_node_from_tree): New function, extracted from
60695         gl_tree_remove_node.
60696         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
60697         upon out-of-memory.
60698         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
60699         out-of-memory.
60700         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
60701         upon out-of-memory.
60702         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
60703         upon out-of-memory.
60704         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
60705         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
60706         not xmalloc. Return NULL upon out-of-memory.
60707         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
60708         out-of-memory.
60709         (gl_tree_remove_node_from_tree): New function, extracted from
60710         gl_tree_remove_node.
60711         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
60712         upon out-of-memory.
60713         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
60714         out-of-memory.
60715         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
60716         upon out-of-memory.
60717         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
60718         upon out-of-memory.
60719         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
60720         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
60721         gl_anytree_list1.h before gl_anyavltree_list2.h.
60722         (gl_avltree_list_implementation): Update.
60723         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
60724         gl_anytree_list1.h before gl_anyavltree_list2.h.
60725         (gl_rbtree_list_implementation): Update.
60726         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
60727         Change return type to 'int'. Return -1 upon out-of-memory. Use
60728         __builtin_expect.
60729         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
60730         (gl_avltreehash_list_implementation): Update.
60731         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
60732         (gl_rbtreehash_list_implementation): Update.
60733         * modules/array-list (Depends-on): Remove xalloc.
60734         * modules/carray-list (Depends-on): Likewise.
60735         * modules/linked-list (Depends-on): Likewise.
60736         * modules/linkedhash-list (Depends-on): Likewise.
60737         * modules/avltree-list (Depends-on): Likewise.
60738         * modules/rbtree-list (Depends-on): Likewise.
60739         * modules/avltreehash-list (Depends-on): Likewise.
60740         * modules/rbtreehash-list (Depends-on): Likewise.
60742         * modules/xsublist: New file.
60743         * lib/gl_xsublist.h: New file.
60744         * lib/gl_xsublist.c: New file.
60745         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
60746         (gl_sublist_nx_create): New declaration.
60747         * lib/gl_sublist.c: Don't include xalloc.h.
60748         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
60749         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
60750         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
60751         Change return type to 'int'. Return -1 upon out-of-memory.
60752         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
60753         upon out-of-memory.
60754         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
60755         NULL upon out-of-memory.
60756         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
60757         upon out-of-memory.
60758         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
60759         NULL upon out-of-memory.
60760         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
60761         NULL upon out-of-memory.
60762         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
60763         upon out-of-memory.
60764         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
60765         (gl_sublist_list_implementation): Update.
60766         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
60767         upon out-of-memory.
60768         * modules/sublist (Depends-on): Remove xalloc.
60770         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
60771         * tests/test-carray_list.c: Likewise.
60772         * tests/test-linked_list.c: Likewise.
60773         * tests/test-linkedhash_list.c: Likewise.
60774         * tests/test-avltree_list.c: Likewise.
60775         * tests/test-rbtree_list.c: Likewise.
60776         * tests/test-avltreehash_list.c: Likewise.
60777         * tests/test-rbtreehash_list.c: Likewise.
60778         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
60779         * modules/carray-list-tests (Makefile.am): Likewise.
60780         * modules/linked-list-tests (Makefile.am): Likewise.
60781         * modules/linkedhash-list-tests (Makefile.am): Likewise.
60782         * modules/avltree-list-tests (Makefile.am): Likewise.
60783         * modules/rbtree-list-tests (Makefile.am): Likewise.
60784         * modules/avltreehash-list-tests (Makefile.am): Likewise.
60785         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
60787         * NEWS: Mention the changes.
60789         * lib/clean-temp.c: Include gl_xlist.h.
60790         * modules/clean-temp (Depends-on): Add xlist.
60792         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
60793         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
60795         * tests/test-array_oset.c: Include gl_xlist.h.
60796         * modules/array-oset-tests (Depends-on): Add xlist.
60798         Reported by José E. Marchesi <jemarch@gnu.org>.
60800 2009-12-13  Bruno Haible  <bruno@clisp.org>
60802         Move the malloc checking from module 'oset' to new module 'xoset'.
60803         * modules/xoset: New file.
60804         * lib/gl_xoset.h: New file.
60805         * lib/gl_xoset.c: New file.
60806         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
60807         declarations.
60808         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
60809         (struct gl_oset_implementation): Rename and change methods accordingly.
60810         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
60811         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
60812         'int'. Mark as __warn_unused_result__.
60813         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
60814         gl_oset_create_empty.
60815         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
60816         'int'.
60817         * lib/gl_array_oset.c: Don't include xalloc.h.
60818         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
60819         malloc, not xmalloc.
60820         (grow): Change return type to 'int'. Don't call xalloc_die.
60821         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
60822         to 'int'.
60823         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
60824         'int'.
60825         (gl_array_oset_implementation): Update.
60826         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
60827         gl_tree_create_empty.
60828         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
60829         'int'.
60830         * lib/gl_avltree_oset.c: Don't include xalloc.h.
60831         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
60832         xmalloc.
60833         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
60834         not xmalloc.
60835         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
60836         xmalloc.
60837         (gl_avltree_oset_implementation): Update.
60838         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
60839         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
60840         xmalloc.
60841         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
60842         not xmalloc.
60843         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
60844         xmalloc.
60845         (gl_rbtree_oset_implementation): Update.
60846         * modules/array-oset (Depends-on): Remove xalloc.
60847         * modules/avltree-oset (Depends-on): Likewise.
60848         * modules/rbtree-oset (Depends-on): Likewise.
60849         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
60850         * tests/test-avltree_oset.c: Likewise.
60851         * tests/test-rbtree_oset.c: Likewise.
60852         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
60853         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
60854         * modules/rbtree-oset-tests (Makefile.am): Likewise.
60855         * NEWS: Mention the change.
60857 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
60859         maint.mk: allow a project to override release-prep commands
60860         * top/maint.mk (alpha, beta, stable): Move release-preparatory
60861         commands into a new rule.
60862         (release-prep): New rule.
60863         (release-prep-hook): New overridable variable.
60865 2009-12-13  Bruno Haible  <bruno@clisp.org>
60867         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
60869 2009-12-13  Jim Meyering  <meyering@redhat.com>
60871         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
60872         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
60874 2009-12-12  Bruno Haible  <bruno@clisp.org>
60876         duplocale: Tweak.
60877         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
60879 2009-12-12  Karl Berry  <karl@gnu.org>
60881         * config/srclist.txt (strtoll.c): tab changes, no more sync.
60883 2009-12-12  Bruno Haible  <bruno@clisp.org>
60885         * m4/po.m4: Undo incorrect untabification.
60887 2009-12-12  Bruno Haible  <bruno@clisp.org>
60889         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
60890         * modules/c-strtod (Depends-on): Add locale.
60891         * modules/c-strtold (Depends-on): Likewise.
60893 2009-12-12  Bruno Haible  <bruno@clisp.org>
60895         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
60897 2009-12-11  Eric Blake  <ebb9@byu.net>
60899         setenv: relax requirement in light of POSIX ruling
60900         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
60901         not NULL.
60902         * tests/test-setenv.c (main): Relax test.
60903         * tests/test-unsetenv.c (main): Likewise.
60904         * doc/posix-functions/setenv.texi (setenv): Document this.
60905         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
60907 2009-12-11  Bruno Haible  <bruno@clisp.org>
60909         New module 'fd-safer-flag'.
60910         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
60911         * lib/dup-safer.c (dup_safer_flag): Remove function.
60912         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
60913         * lib/fd-safer.c (fd_safer_flag): Remove function.
60914         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
60915         * modules/cloexec (configure.ac): Drop indicator macro.
60916         * modules/fd-safer-flag: New file.
60917         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
60918         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
60919         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
60921 2009-12-11  Bruno Haible  <bruno@clisp.org>
60923         Tests for module 'nl_langinfo'.
60924         * modules/nl_langinfo-tests: New file.
60925         * tests/test-nl_langinfo.sh: New file.
60926         * tests/test-nl_langinfo.c: New file.
60928         New module 'nl_langinfo'.
60929         * lib/nl_langinfo.c: New file.
60930         * m4/nl_langinfo.m4: New file.
60931         * modules/nl_langinfo: New file.
60932         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
60934 2009-12-11  Bruno Haible  <bruno@clisp.org>
60936         Tests for module 'langinfo'.
60937         * modules/langinfo-tests: New file.
60938         * tests/test-langinfo.c: New file.
60940         New module 'langinfo'.
60941         * lib/langinfo.in.h: New file.
60942         * m4/langinfo_h.m4: New file.
60943         * modules/langinfo: New file.
60944         * doc/posix-headers/langinfo.texi: Mention the new module.
60946 2009-12-11  Bruno Haible  <bruno@clisp.org>
60948         * lib/config.charset: Untabify.
60950 2009-12-11  Bruno Haible  <bruno@clisp.org>
60952         * modules/unistd-safer (configure.ac): Drop indicator macro.
60954 2009-12-11  Bruno Haible  <bruno@clisp.org>
60956         Move pipe2-safer code to its own file.
60957         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
60958         * lib/pipe-safer.c (pipe2_safer): Remove function.
60959         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
60960         (Makefile.am): Add it to lib_SOURCES.
60962 2009-12-10  Bruno Haible  <bruno@clisp.org>
60964         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
60966 2009-12-10  Bruno Haible  <bruno@clisp.org>
60968         Declare which arguments expect non-NULL values, for GCC and clang.
60969         * build-aux/arg-nonnull.h: New file.
60970         * modules/arg-nonnull: New file.
60971         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
60972         (inet_ntop, inet_pton): Use it.
60973         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
60974         (closedir, dirfd, opendir, scandir, alphasort): Use it.
60975         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
60976         (open, openat): Use it.
60977         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
60978         (fnmatch): Use it.
60979         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
60980         (getopt, getopt_long, getopt_long_only): Use it.
60981         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
60982         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
60983         Use it.
60984         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
60985         (iconv_open): Use it.
60986         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
60987         (strtoimax, strtoumax): Use it.
60988         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
60989         (duplocale): Use it.
60990         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
60991         (frexp, frexpl): Use it.
60992         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
60993         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
60994         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
60995         (tsearch, tfind, tdelete, twalk): Use it.
60996         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
60997         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
60998         sigpending): Use it.
60999         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
61000         (posix_spawn, posix_spawnp, posix_spawnattr_init,
61001         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
61002         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
61003         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
61004         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
61005         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
61006         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
61007         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
61008         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
61009         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
61010         Use it.
61011         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
61012         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
61013         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
61014         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
61015         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
61016         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
61017         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
61018         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
61019         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
61020         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
61021         strtoull, unsetenv): Use it.
61022         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
61023         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
61024         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
61025         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
61026         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
61027         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
61028         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
61029         (strcasecmp, strncasecmp): Use it.
61030         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
61031         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
61032         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
61033         rpl_setsockopt): Use it.
61034         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
61035         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
61036         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
61037         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
61038         (gettimeofday): Use it.
61039         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
61040         (times): Use it.
61041         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
61042         (uname): Use it.
61043         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
61044         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
61045         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
61046         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
61047         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
61048         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
61049         unlinkat, write): Use it.
61050         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
61051         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
61052         * lib/argv-iter.h: Include arg-nonnull.h.
61053         (_ATTRIBUTE_NONNULL_): Remove macro.
61054         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
61055         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
61056         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
61057         optimization.
61058         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
61059         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
61060         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
61061         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
61062         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
61063         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
61064         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
61065         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
61066         * modules/arpa_inet (Depends-on): Add arg-nonnull.
61067         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
61068         * modules/dirent (Depends-on): Add arg-nonnull.
61069         (Makefile.am): Insert arg-nonnull.h into dirent.h.
61070         * modules/fcntl-h (Depends-on): Add arg-nonnull.
61071         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
61072         * modules/fnmatch (Depends-on): Add arg-nonnull.
61073         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
61074         * modules/getopt-posix (Depends-on): Add arg-nonnull.
61075         (Makefile.am): Insert arg-nonnull.h into getopt.h.
61076         * modules/glob (Depends-on): Add arg-nonnull.
61077         (Makefile.am): Insert arg-nonnull.h into glob.h.
61078         * modules/iconv_open (Depends-on): Add arg-nonnull.
61079         (Makefile.am): Insert arg-nonnull.h into iconv.h.
61080         * modules/inttypes (Depends-on): Add arg-nonnull.
61081         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
61082         * modules/locale (Depends-on): Add arg-nonnull.
61083         (Makefile.am): Insert arg-nonnull.h into locale.h.
61084         * modules/math (Depends-on): Add arg-nonnull.
61085         (Makefile.am): Insert arg-nonnull.h into math.h.
61086         * modules/netdb (Depends-on): Add arg-nonnull.
61087         (Makefile.am): Insert arg-nonnull.h into netdb.h.
61088         * modules/search (Depends-on): Add arg-nonnull.
61089         (Makefile.am): Insert arg-nonnull.h into search.h.
61090         * modules/signal (Depends-on): Add arg-nonnull.
61091         (Makefile.am): Insert arg-nonnull.h into signal.h.
61092         * modules/spawn (Depends-on): Add arg-nonnull.
61093         (Makefile.am): Insert arg-nonnull.h into spawn.h.
61094         * modules/stdio (Depends-on): Add arg-nonnull.
61095         (Makefile.am): Insert arg-nonnull.h into stdio.h.
61096         * modules/stdlib (Depends-on): Add arg-nonnull.
61097         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
61098         * modules/string (Depends-on): Add arg-nonnull.
61099         (Makefile.am): Insert arg-nonnull.h into string.h.
61100         * modules/strings (Depends-on): Add arg-nonnull.
61101         (Makefile.am): Insert arg-nonnull.h into strings.h.
61102         * modules/sys_socket (Depends-on): Add arg-nonnull.
61103         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
61104         * modules/sys_stat (Depends-on): Add arg-nonnull.
61105         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
61106         * modules/sys_time (Depends-on): Add arg-nonnull.
61107         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
61108         * modules/sys_times (Depends-on): Add arg-nonnull.
61109         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
61110         * modules/sys_utsname (Depends-on): Add arg-nonnull.
61111         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
61112         * modules/time (Depends-on): Add arg-nonnull.
61113         (Makefile.am): Insert arg-nonnull.h into time.h.
61114         * modules/unistd (Depends-on): Add arg-nonnull.
61115         (Makefile.am): Insert arg-nonnull.h into unistd.h.
61116         * modules/wchar (Depends-on): Add arg-nonnull.
61117         (Makefile.am): Insert arg-nonnull.h into wchar.h.
61118         * modules/argv-iter (Depends-on): Add arg-nonnull.
61119         * tests/test-canonicalize.c (null_ptr): New function.
61120         (main): Use it.
61121         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
61122         (main): Use it.
61123         * tests/test-memmem.c (null_ptr): New function.
61124         (main): Use it.
61125         Reported by Jim Meyering.
61127 2009-12-10  Bruno Haible  <bruno@clisp.org>
61129         Use spaces for indentation, not tabs.
61130         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
61131         * m4/*.m4: Untabify.
61132         * build-aux/*.h: Untabify.
61133         * tests/**/*.[hc]: Untabify.
61134         * README: New section "Indent with spaces, not TABs", based on
61135         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
61136         * NEWS: Mention the change.
61138 2009-12-10  Bruno Haible  <bruno@clisp.org>
61140         pty test: Fix link error.
61141         * modules/pty-tests (Makefile.am): Add the default LDADD value to
61142         test_pty_LDADD.
61144 2009-12-07  Simon Josefsson  <simon@josefsson.org>
61146         * modules/pty: New file.
61147         * modules/pty-tests: New file.
61148         * m4/pty.m4: New file.
61149         * tests/test-pty.c: New file.
61150         * doc/glibc-headers/pty.texi: Modified.
61151         * doc/glibc-functions/forkpty.texi: Modified.
61152         * doc/glibc-functions/openpty.texi: Modified.
61154 2009-12-10  Bruno Haible  <bruno@clisp.org>
61156         Avoid syntax error in C++ mode.
61157         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
61159 2009-12-10  Bruno Haible  <bruno@clisp.org>
61161         Use sed with option -e.
61162         * gnulib-tool (func_version, func_emit_copyright_notice,
61163         func_emit_initmacro_end, func_import, func_create_testdir): Pass
61164         option -e to sed.
61165         * modules/link-warning (Makefile.am): Likewise.
61167 2009-12-10  Jim Meyering  <meyering@redhat.com>
61169         mgetgroups: do not write bytes beyond end of malloc'd buffer
61170         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
61171         username, we call getgroups with a one-element-shorter buffer,
61172         but still told it the length was original, max_n_groups.
61174 2009-12-09  Eric Blake  <ebb9@byu.net>
61176         cloexec: relax license
61177         * modules/cloexec (Maintainer): Add myself.
61178         (License): Use LGPL, not GPL.
61180         link-warning: optimize generation
61181         * modules/link-warning (Makefile.am): Reduce process usage.
61183 2009-12-09  Bruno Haible  <bruno@clisp.org>
61185         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
61186         workaround was added on 2009-11-17.
61188 2009-12-09  Jim Meyering  <meyering@redhat.com>
61189             Bruno Haible  <bruno@clisp.org>
61191         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
61192         * modules/link-warning (Makefile.am): Make the comment-removing sed
61193         command more robust in the face of bootstrap-prepended comment lines.
61195 2009-12-09  Bruno Haible  <bruno@clisp.org>
61197         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
61198         most one group.
61200 2009-12-09  Simon Josefsson  <simon@josefsson.org>
61201             Bruno Haible  <bruno@clisp.org>
61203         * build-aux/link-warning.h: Add copyright notice.
61204         * modules/link-warning (Makefile.am): Generate link-warning.h from
61205         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
61206         * NEWS: Mention change in link-warning module.
61207         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
61208         * modules/dirent (Makefile.am): Add dependency to dirent.h.
61209         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
61210         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
61211         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
61212         * modules/math (Makefile.am): Add dependency to math.h.
61213         * modules/search (Makefile.am): Add dependency to search.h.
61214         * modules/signal (Makefile.am): Add dependency to signal.h.
61215         * modules/spawn (Makefile.am): Add dependency to spawn.h.
61216         * modules/stdio (Makefile.am): Add dependency to stdio.h.
61217         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
61218         * modules/string (Makefile.am): Add dependency to string.h.
61219         * modules/strings (Makefile.am): Add dependency to strings.h.
61220         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
61221         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
61222         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
61223         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
61224         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
61225         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
61226         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
61227         * modules/unistd (Makefile.am): Add dependency to unistd.h.
61228         * modules/wchar (Makefile.am): Add dependency to wchar.h.
61230 2009-12-09  Bruno Haible  <bruno@clisp.org>
61232         fchdir: Optimize away rpl_fstat when possible.
61233         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
61234         REPLACE_OPEN_DIRECTORY.
61235         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
61237 2009-12-09  Bruno Haible  <bruno@clisp.org>
61239         * lib/fchdir.c: Update comment.
61241 2009-12-09  Bruno Haible  <bruno@clisp.org>
61243         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
61245 2009-12-08  Eric Blake  <ebb9@byu.net>
61247         fchdir: avoid memory leak on re-registration.
61248         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
61250 2009-12-08  Jim Meyering  <meyering@redhat.com>
61252         init.sh: avoid Solaris 10 /bin/sh portability problem
61253         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
61254         sourced script:
61255           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
61256           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
61257           bar
61258         tests/init.sh relied on that, accepting a --set-path=DIR argument,
61259         and two tests used that idiom.
61260         * tests/init.sh: Update suggested usage comments.
61261         (path_prepend_): New function, to be used in place
61262         of the --src-path=DIR option.
61263         (setup_): Move PATH-prepending code into path_prepend_.
61264         * tests/test-pread.sh: Adapt to new usage.
61265         * tests/test-xalloc-die.sh: Likewise.
61267 2009-12-08  Simon Josefsson  <simon@josefsson.org>
61269         * doc/gnulib.texi (Glibc pty.h): Add.
61270         * doc/glibc-functions/forkpty.texi: Add.
61271         * doc/glibc-functions/openpty.texi: Add.
61272         Suggested by Bruno Haible.
61274 2009-12-08  Eric Blake  <ebb9@byu.net>
61276         fchdir: fix logic bugs
61277         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
61278         * tests/test-fchdir.c (main): Enhance test.
61279         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
61280         is in use.
61282         dup2: fix logic bugs
61283         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
61284         REPLACE_DUP2 to decide when rpl_dup2 is needed.
61285         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
61286         exists.
61287         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
61289 2009-12-07  Eric Blake  <ebb9@byu.net>
61291         unlink: fix m4 detection
61292         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
61294         unistd-safer: add unit test
61295         * modules/unistd-safer-tests: New file.
61296         * tests/test-dup-safer.c: Likewise.
61297         * tests/test-cloexec.c (setmode): Avoid compiler warning.
61298         * tests/test-dup2.c (setmode): Likewise.
61299         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
61301         cloexec: preserve text vs. binary across dup_cloexec
61302         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
61303         mode.
61304         * modules/dup2-tests (Depends-on): Add binary-io.
61305         * modules/cloexec-tests (Depends-on): Likewise.
61306         * tests/test-dup2.c (setmode, is_mode): New helpers.
61307         (main): Add tests that translation mode is preserved.
61308         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
61309         Reported by Bruno Haible.
61311         mgetgroups: reduce duplicate listings
61312         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
61313         resulting array.
61314         * tests/test-chown.h (test_chown): Simplify client.
61315         * tests/test-lchown.h (test_lchown): Likewise.
61317 2009-12-06  Bruno Haible  <bruno@clisp.org>
61319         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
61320         value.
61322 2009-12-06  Bruno Haible  <bruno@clisp.org>
61324         * lib/progname.c: Include stdio.h, stdlib.h.
61325         (set_program_name): Reject a NULL argument.
61327 2009-12-05  Eric Blake  <ebb9@byu.net>
61329         pipe2-safer: new module
61330         * modules/pipe2-safer: New file.
61331         * lib/unistd-safer.h (pipe2_safer): New prototype.
61332         * lib/unistd--.h (pipe2): New wrapper.
61333         * lib/pipe-safer.c (pipe2_safer): New function.
61334         * modules/pipe (Depends-on): Add pipe2-safer.
61335         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
61337         stdlib-safer: preserve cloexec flag for mkostemp[s]
61338         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
61339         fd_safer_flag.
61341         unistd-safer: allow preservation of cloexec status via flag
61342         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
61343         prototypes.
61344         * lib/dup-safer.c (dup_safer_flag): New function.
61345         * lib/fd-safer.c (fd_safer_flag): Likewise.
61346         * modules/cloexec (configure.ac): Set witness.
61348         test-dup2: enhance test
61349         * modules/dup2-tests (Depends-on): Add cloexec.
61350         * tests/test-dup2.c (main): Enhance test.
61352         cloexec: add dup_cloexec
61353         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
61354         header and comments.
61355         * lib/cloexec.c (set_cloexec_flag): Add comments.
61356         (dup_cloexec): New function, with mingw implementation borrowed
61357         from...
61358         * lib/w32spawn.h (dup_noinherit): ...here.
61359         * modules/execute (Depends-on): Add cloexec.
61360         * modules/pipe (Depends-on): Likewise.
61361         * modules/cloexec (Depends-on): Add dup2.
61362         * modules/cloexec-tests (Files): New file.
61363         * tests/test-cloexec.c: Likewise.
61365         test-xalloc-die: fix test for mingw
61366         * modules/xalloc-die-tests (Files): Add tests/init.sh.
61367         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
61368         directory and .exe suffix off argv[0] output.
61370         test-fseeko: fix test for mingw
61371         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
61372         than undefining fseek, so test will pass on mingw.
61374 2009-12-05  Bruno Haible  <bruno@clisp.org>
61376         * lib/progname.h (set_program_name): Clarify specification.
61377         * lib/progname.c (set_program_name): Likewise.
61378         Reported by Jim Meyering.
61380 2009-12-05  Jim Meyering  <meyering@redhat.com>
61382         maint.mk: backslash-escape parens in default regexp
61383         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
61384         backslash-escape the literal parentheses.
61386         maint.mk: news-date-check: use grep -E
61387         * top/maint.mk (today): Define a Make variable, not a...
61388         (news-date-check): ...shell variable.
61389         (news-date-regexp): Use the Make variable.
61390         Use grep's -E option.  Change the failing diagnostic to mention
61391         the variable, $(news-date-regexp).
61393 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
61395         maintainer-makefile: allow customization of NEWS entry format
61396         * top/maint.mk (news-date-regexp): New overridable variable.
61397         (news-date-check): Use it.
61399 2009-12-04  Eric Blake  <ebb9@byu.net>
61401         mgetgroups: add xgetgroups, and avoid ENOSYS failures
61402         * lib/mgetgroups.h (xgetgroups): New prototype.
61403         * lib/mgetgroups.c (xgetgroups): New wrapper.
61404         (mgetgroups): Handle ENOSYS.
61405         * modules/mgetgroups (Depends-on): Add realloc.
61406         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
61408         mgetgroups: avoid argument promotion issues with -1
61409         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
61410         for invalid gid_t.
61411         * tests/test-chown.h (getegid, test_chown): Likewise.
61412         * tests/test-lchown.h (getegid, test_lchown): Likewise.
61414 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
61416         exclude: Fix header file problems.
61417         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
61419 2009-12-01  Jim Meyering  <meyering@redhat.com>
61421         fts: fts_open: do not let an empty string cause immediate failure
61422         This is required in support of GNU rm, for which the command
61423         "rm A '' B" must process and remove both A and B, in spite of
61424         the empty string argument.
61425         * lib/fts.c (fts_open): Do not let the presence of an empty string
61426         cause fts_open to fail immediately.  Most fts-using tools must be
61427         able to process all arguments, in order, and can be expected to
61428         diagnose such arguments themselves.
61430 2009-11-30  Eric Blake  <ebb9@byu.net>
61432         utimens: fix compilation error
61433         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
61434         Declare variable at right scope.
61436 2009-11-29  Jim Meyering  <meyering@redhat.com>
61438         bootstrap: handle perl-5.11's changed --version output
61439         * build-aux/bootstrap (get_version): Handle perl separately,
61440         since perl-5.11's --version output is different.
61442 2009-11-28  Jim Meyering  <meyering@redhat.com>
61444         userspec: depend on the inttostr module, too
61445         * modules/userspec (Depends-on): Add inttostr.
61447         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
61448         * lib/userspec.c (parse_with_separator): Do not accept a user ID
61449         number of MAXUID when it evaluates to (uid_t) -1.
61450         Likewise for group ID.  Reported by Matt McCutchen in
61451         <http://savannah.gnu.org/bugs/?28113>
61453         userspec: reformat to use spaces, not TABs
61454         * lib/userspec.c: Expand TABs to spaces.
61455         Add Emacs' "indent-tabs-mode: nil" hint.
61457 2009-11-27  Eric Blake  <ebb9@byu.net>
61459         getopt-gnu: flush out another BSD bug
61460         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
61461         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
61462         flush out BSD bug.
61463         * tests/test-getopt.h (test_getopt): End lists with NULL.
61464         * tests/test-getopt_long.h (test_getopt_long): Likewise.
61465         (test_getopt_long_posix): Enhance test.
61466         * modules/getopt-posix-tests (Depends-on): Add stdbool.
61467         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
61468         getopt-gnu.
61469         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
61470         Likewise.
61472 2009-11-27  Simon Josefsson  <simon@josefsson.org>
61474         * modules/idpriv-droptemp-tests (Notice): Fix text.
61476 2009-11-27  Jim Meyering  <meyering@redhat.com>
61478         test-xalloc-die: avoid spurious failure due to libtool argv difference
61479         In a libtool-enabled project, this test would fail due to a difference
61480         in the emitted program name, e.g.,
61481         -test-xalloc-die: memory exhausted
61482         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
61483         Use program to avoid that.
61484         * modules/xalloc-die-tests (Depends-on): Add progname.
61485         * tests/test-xalloc-die.c: Include progname.h".
61486         (program_name): Remove decl.
61487         (main): Call set_program_name.
61488         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
61490 2009-11-26  Richard Jones  <rjones@redhat.com>
61492         w32sock: leave win32 error in place.
61493         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
61495 2009-11-26  Eric Blake  <ebb9@byu.net>
61497         init.sh: suggest to use skip_ and fail_ functions in comments
61498         * tests/init.sh: Add a sentence.
61500 2009-11-25  Bruno Haible  <bruno@clisp.org>
61502         init.sh: add documentation in comments
61503         * tests/init.sh: Add some developer and user documentation.
61505 2009-11-26  Jim Meyering  <meyering@redhat.com>
61507         init.sh: accommodate even those who specify bogus srcdir manually
61508         * tests/init.sh: Normally, srcdir is guaranteed by automake and
61509         configure-time tests to be sanitized, so that there is no need to
61510         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
61511         (with no double quotes) suffices.  However, since tests may be
61512         invoked manually, and since you may explicitly set srcdir to the
61513         name of a directory containing spaces, do quote its uses here.
61514         * tests/test-pread.sh: Likewise.
61515         Suggested by Bruno Haible.
61517         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
61518         * tests/test-pread.sh: Write no data into the pipe, because
61519         test-pread actually reads none.  This avoids a diagnostic,
61520         "bash: echo: write error: Broken pipe", that arises in the unusual
61521         event something is ignoring SIGPIPE, and might be interpreted
61522         as some sort of failure.  Reported by Bruno Haible.
61524 2009-11-25  Jim Meyering  <meyering@redhat.com>
61526         test-pread: cover failure with ESPIPE and EINVAL
61527         * tests/test-pread.c (main): Test for failure, too.
61528         * tests/test-pread.sh: Invoke with stdin on a pipe.
61529         Suggested by Eric Blake.
61531         pread: improvement and fix
61532         * modules/pread (Depends-on): Depend on lseek, for portability to
61533         e.g., mingw.  Suggested by Eric Blake.
61534         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
61536         unistd.in.h: correct declaration of pread
61537         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
61538         Reported by Richard W.M. Jones.
61540         test-pread.sh: distribute the test script
61541         * modules/pread-tests (Files): Include test-pread.sh.
61543         test-pread.sh: clean up
61544         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
61545         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
61546         That is unnecessary, since it's always ".".
61547         Suggestion from Eric Blake.
61549         test-pread.sh: make executable
61550         * tests/test-pread.sh: Set executable bit.
61551         Reported by Eric Blake.
61553         correct typo in test-pread.sh
61554         * tests/test-pread.sh: Add #! line.
61556         test pread
61557         * tests/test-pread.c: New file.
61558         * tests/test-pread.sh: Likewise.
61559         * modules/pread-tests: Likewise.
61561         pread: new module
61562         * modules/pread: New file.
61563         * lib/unistd.in.h (pread): Define/declare.
61564         * lib/pread.c (pread): New file.
61565         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
61566         * modules/unistd (Makefile.am): Substitute witnesses.
61567         * doc/posix-functions/pread.texi (pread): Update.
61568         * MODULES.html.sh: Add pread.
61570 2009-11-25  Jim Meyering  <meyering@redhat.com>
61572         tests/init.sh: new file to be used via most *.sh tests
61573         * tests/init.sh: New file.
61575 2009-11-25  Eric Blake  <ebb9@byu.net>
61577         utimens: work around older Linux failure with symlinks
61578         * lib/utimens.c (lutimensat_works_really): New variable.
61579         (fdutimens, lutimens): Use it to manage kernels that support
61580         nanosecond times on files, but not on symlinks.
61581         Reported by Ondřej Vašík.
61583         utimes: fix configure grammar
61584         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
61586 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
61588         regex: Fix fastmap for multibyte character ranges.
61589         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
61590         characters when a multibyte character range is included.
61592 2009-11-22  Andy Wingo  <wingo@pobox.com>
61594         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
61595         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
61597 2009-11-24  Bruno Haible  <bruno@clisp.org>
61599         doc: Most *_l functions exist in MacOS X 10.5.
61600         * doc/posix-functions/duplocale.texi: Update platforms list.
61601         * doc/posix-functions/freelocale.texi: Likewise.
61602         * doc/posix-functions/newlocale.texi: Likewise.
61603         * doc/posix-functions/uselocale.texi: Likewise.
61604         * doc/posix-functions/isalnum_l.texi: Likewise.
61605         * doc/posix-functions/isalpha_l.texi: Likewise.
61606         * doc/posix-functions/isblank_l.texi: Likewise.
61607         * doc/posix-functions/iscntrl_l.texi: Likewise.
61608         * doc/posix-functions/isdigit_l.texi: Likewise.
61609         * doc/posix-functions/isgraph_l.texi: Likewise.
61610         * doc/posix-functions/islower_l.texi: Likewise.
61611         * doc/posix-functions/isprint_l.texi: Likewise.
61612         * doc/posix-functions/ispunct_l.texi: Likewise.
61613         * doc/posix-functions/isspace_l.texi: Likewise.
61614         * doc/posix-functions/isupper_l.texi: Likewise.
61615         * doc/posix-functions/iswalnum_l.texi: Likewise.
61616         * doc/posix-functions/iswalpha_l.texi: Likewise.
61617         * doc/posix-functions/iswblank_l.texi: Likewise.
61618         * doc/posix-functions/iswcntrl_l.texi: Likewise.
61619         * doc/posix-functions/iswctype_l.texi: Likewise.
61620         * doc/posix-functions/iswdigit_l.texi: Likewise.
61621         * doc/posix-functions/iswgraph_l.texi: Likewise.
61622         * doc/posix-functions/iswlower_l.texi: Likewise.
61623         * doc/posix-functions/iswprint_l.texi: Likewise.
61624         * doc/posix-functions/iswpunct_l.texi: Likewise.
61625         * doc/posix-functions/iswspace_l.texi: Likewise.
61626         * doc/posix-functions/iswupper_l.texi: Likewise.
61627         * doc/posix-functions/iswxdigit_l.texi: Likewise.
61628         * doc/posix-functions/isxdigit_l.texi: Likewise.
61629         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
61630         * doc/posix-functions/strcasecmp_l.texi: Likewise.
61631         * doc/posix-functions/strcoll_l.texi: Likewise.
61632         * doc/posix-functions/strfmon_l.texi: Likewise.
61633         * doc/posix-functions/strftime_l.texi: Likewise.
61634         * doc/posix-functions/strncasecmp_l.texi: Likewise.
61635         * doc/posix-functions/strxfrm_l.texi: Likewise.
61636         * doc/posix-functions/tolower_l.texi: Likewise.
61637         * doc/posix-functions/toupper_l.texi: Likewise.
61638         * doc/posix-functions/towctrans_l.texi: Likewise.
61639         * doc/posix-functions/towlower_l.texi: Likewise.
61640         * doc/posix-functions/towupper_l.texi: Likewise.
61641         * doc/posix-functions/wcscoll_l.texi: Likewise.
61642         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
61643         * doc/posix-functions/wctrans_l.texi: Likewise.
61644         * doc/posix-functions/wctype_l.texi: Likewise.
61645         * doc/glibc-functions/strptime_l.texi: Likewise.
61646         * doc/glibc-functions/strtod_l.texi: Likewise.
61647         * doc/glibc-functions/strtof_l.texi: Likewise.
61648         * doc/glibc-functions/strtol_l.texi: Likewise.
61649         * doc/glibc-functions/strtold_l.texi: Likewise.
61650         * doc/glibc-functions/strtoll_l.texi: Likewise.
61651         * doc/glibc-functions/strtoul_l.texi: Likewise.
61652         * doc/glibc-functions/strtoull_l.texi: Likewise.
61653         * doc/glibc-functions/wcsftime_l.texi: Likewise.
61654         * doc/glibc-functions/wcstod_l.texi: Likewise.
61655         * doc/glibc-functions/wcstof_l.texi: Likewise.
61656         * doc/glibc-functions/wcstol_l.texi: Likewise.
61657         * doc/glibc-functions/wcstold_l.texi: Likewise.
61658         * doc/glibc-functions/wcstoll_l.texi: Likewise.
61659         * doc/glibc-functions/wcstoul_l.texi: Likewise.
61660         * doc/glibc-functions/wcstoull_l.texi: Likewise.
61662 2009-11-24  Bruno Haible  <bruno@clisp.org>
61664         duplocale: Fix logic bug.
61665         * lib/duplocale.c: Don't include <langinfo.h>.
61666         (_NL_LOCALE_NAME): Remove macro.
61667         (rpl_duplocale): Use setlocale instead of nl_langinfo.
61668         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
61670 2009-11-23  Jim Meyering  <meyering@redhat.com>
61672         test-update-copyright: don't hard-code /usr/bin/perl
61673         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
61674         perl to print the current year.  Gilles Espinasse reported that
61675         the replaced use of perl was hard-coded as /usr/bin/perl.
61677 2009-11-23  Bruno Haible  <bruno@clisp.org>
61679         duplocale: Add support for glibc 2.3.x.
61680         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
61682 2009-11-22  Bruno Haible  <bruno@clisp.org>
61684         vasnprintf: Tiny optimization.
61685         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
61686         MacOS X.
61688 2009-11-22  Bruno Haible  <bruno@clisp.org>
61690         Tests for module 'duplocale'.
61691         * modules/duplocale-tests: New file.
61692         * tests/test-duplocale.c: New file.
61694         New module 'duplocale'.
61695         * m4/duplocale.m4: New file.
61696         * lib/locale.in.h (duplocale): New declaration.
61697         * lib/duplocale.c: New file.
61698         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
61699         gl_LOCALE_H_DEFAULTS): New macros.
61700         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
61701         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
61702         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
61703         REPLACE_DUPLOCALE.
61704         * modules/duplocale: New file.
61705         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
61707 2009-11-22  Bruno Haible  <bruno@clisp.org>
61709         * modules/locale-tests (configure.ac): Test for newlocale function.
61710         * tests/test-locale.c: When the system has extended locale functions,
61711         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
61713         locale: Make locale_t available when possible.
61714         * lib/locale.in.h: Include <xlocale.h> when it exists.
61715         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
61716         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
61717         * modules/locale (Depends-on): Add extensions.
61718         (Makefile.am): Also substitute HAVE_XLOCALE_H.
61719         * doc/posix-headers/locale.texi: Document the problem with locale_t.
61721 2009-11-22  Bruno Haible  <bruno@clisp.org>
61723         Add comments.
61724         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
61725         invocation.
61726         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
61727         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
61728         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
61730 2009-11-22  Bruno Haible  <bruno@clisp.org>
61732         error: account for the possibility of freopen (stdout).
61733         * lib/error.c: Include <unistd.h>.
61734         (flush_stdout): New function, extracted from error and error_at_line.
61735         Determine stdout's fd dynamically.
61736         (error, error_at_line): Invoke flush_stdout.
61737         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
61738         * modules/error (Depends-on): Add unistd.
61740 2009-11-22  Bruno Haible  <bruno@clisp.org>
61742         diffseq: Add comment.
61743         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
61745 2009-11-22  Jim Meyering  <meyering@redhat.com>
61747         c-stack: avoid defining an unused static function
61748         * lib/c-stack.c (find_stack_direction): Do not define this function
61749         when it will not be used.
61751         diffseq: avoid spurious gcc warnings
61752         * lib/diffseq.h (IF_LINT2): Define.
61753         (compareseq): Use it to initialize two members of "part".
61754         This avoids two used-uninitialized warnings.
61756 2009-11-21  Jim Meyering  <meyering@redhat.com>
61758         c-stack: avoid "ignoring return value of `write'" warning
61759         * lib/c-stack.c: Include "ignore-value.h".
61760         (die): Explicitly ignore each write return value.
61761         * modules/c-stack (Depends-on): Add ignore-value.
61763 2009-11-21  Bruno Haible  <bruno@clisp.org>
61765         diffseq: reduce scope of variable 'best'.
61766         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
61767         variable, earlier used for two different purposes.
61769 2009-11-21  Jim Meyering  <meyering@redhat.com>
61771         diffseq: remove useless assignment to "best"
61772         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
61773         assignment.  At that point "best" is already guaranteed to be zero.
61775 2009-11-20  Eric Blake  <ebb9@byu.net>
61777         build: mention ftp redirector in release announcements
61778         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
61779         values that used to come from cfg.mk; mention FTP redirect URL.
61780         * build-aux/announce-gen: Mention the mirror list.
61781         Suggested by Karl Berry.
61783         nanosleep: improve port to mingw
61784         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
61785         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
61786         LIB_NANOSLEEP, but only when needed.
61787         * modules/select (Link): Document LIBSOCKET.
61788         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
61789         enough.
61791         nanosleep: work around cygwin bug
61792         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
61793         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
61794         bug.
61795         (getnow): Delete, not needed.
61796         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
61797         LIB_CLOCK_GETTIME.
61798         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
61799         clock-time, gettime.
61800         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
61801         bug.
61802         * modules/nanosleep-tests: New test.
61803         * tests/test-nanosleep.c: New file.
61805         sleep: work around cygwin bug
61806         * lib/sleep.c (rpl_sleep): Work around the bug.
61807         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
61808         (gl_PREREQ_SLEEP): Delete unused macro.
61809         * modules/sleep (Depends-on): Add verify.
61810         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
61811         * modules/unistd (Makefile.am): Substitute witness.
61812         * lib/unistd.in.h (sleep): Update prototype.
61813         * doc/posix-functions/sleep.texi (sleep): Document the bug.
61814         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
61815         * modules/sleep-tests (Depends-on): Check for alarm.
61817 2009-11-20  Jim Meyering  <meyering@redhat.com>
61819         maint.mk: improve sc_prohibit_magic_number_exit
61820         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
61821         so it does not match uses like System.exit(1).
61822         Add comments showing how to correct all offenders.
61824 2009-11-19  Eric Blake  <ebb9@byu.net>
61826         xalloc-die-tests: add missing library
61827         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
61829         test-xvasprintf: silence compiler warnings
61830         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
61831         empty string from gcc.
61833 2009-11-19  Jim Meyering  <meyering@redhat.com>
61835         xfreopen: new module, from coreutils
61836         * modules/xfreopen: New module.
61837         * lib/xfreopen.c: New file.
61838         * lib/xfreopen.h: New file.
61839         * MODULES.html.sh (File stream based Input/Output"): Add it.
61841 2009-11-19  Eric Blake  <ebb9@byu.net>
61843         manywarnings: depend on warnings
61844         * modules/manywarnings (Depends-on): Add warnings.
61846         build: avoid compiler warnings
61847         * lib/select.c (rpl_select): Delete unused variable.
61848         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
61850 2009-11-18  Eric Blake  <ebb9@byu.net>
61852         tests: avoid false negative with --with-packager
61853         * tests/test-version-etc.sh: Discard packager information.
61854         * tests/test-argp-version-etc-1.sh: Likewise.
61855         Reported by Mike Frysinger.
61857         utimens: fix regression on Solaris
61858         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
61859         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
61860         can only change fd timestamps via futimesat.  Instead, use an
61861         additional witness macro to avoid BSD bug.
61862         Reported by Jim Meyering.
61864 2009-11-17  Eric Blake  <ebb9@byu.net>
61866         usleep: use it to simplify tests
61867         * modules/stat-time-tests (Depends-on): Add usleep.
61868         (configure.ac): Drop usleep check.
61869         * modules/chown-tests (Depends-on, configure.ac): Likewise.
61870         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
61871         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
61872         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
61873         * modules/openat-tests (Depends-on, configure.ac): Likewise.
61874         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
61875         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
61876         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
61877         Likewise.
61878         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
61879         * tests/test-lchown.h (nap): Likewise.
61880         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
61881         * tests/test-stat-time.c (nap): Likewise.
61882         * tests/test-utimens-common.h (nap): Update comments.
61884         usleep: new module
61885         * modules/usleep: New file.
61886         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
61887         * lib/usleep.c (usleep): Likewise.
61888         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
61889         * modules/unistd (Makefile.am): Substitute witnesses.
61890         * lib/unistd.in.h (usleep): Add declaration.
61891         * doc/pastposix-functions/usleep.texi (usleep): Document this.
61892         * MODULES.html.sh (Date and time): Likewise.
61893         * modules/usleep-tests (Depends-on): New test.
61894         * tests/test-usleep.c: New file.
61896         chown: work around OpenBSD bug
61897         * lib/chown.c (rpl_chown): Work around the bug.
61898         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
61899         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
61900         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
61901         * modules/chown (Depends-on): Add stdbool.
61902         * modules/lchown (Depends-on): Likewise.
61903         * doc/posix-functions/chown.texi (chown): Document the bug.
61904         * doc/posix-functions/lchown.texi (lchown): Likewise.
61905         * tests/test-lchown.h (test_chown): Relax test.
61907         mkstemp: avoid conflict with C++ keyword template
61908         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
61909         * lib/mkostemp.c (mkostemp): Likewise.
61910         * lib/mkostemps.c (mkostemps): Likewise.
61911         * lib/mkstemp.c (mkstemp): Likewise.
61912         * lib/mkstemps.c (mkstemps): Likewise.
61914         xalloc-die-tests: optimize
61915         * tests/test-xalloc-die.sh: Reduce number of processes.
61917 2009-11-17  Simon Josefsson  <simon@josefsson.org>
61919         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
61920         patch from ludo@gnu.org (Ludovic Courtès).
61922 2009-11-17  Jim Meyering  <meyering@redhat.com>
61924         version-etc: use proper license string
61925         * modules/version-etc (License): Use LGPL, not LGPLv3+.
61926         * modules/version-etc-fsf: Likewise.
61928 2009-11-17  Simon Josefsson  <simon@josefsson.org>
61930         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
61931         printed to stdout.  Deal with EOL differences.
61933 2009-11-17  Eric Blake  <ebb9@byu.net>
61935         unsetenv: work around Solaris bug
61936         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
61937         * lib/unsetenv.c (rpl_unsetenv): Work around it.
61938         Reported by Jim Meyering.
61940         vasnprintf: avoid compiler warnings
61941         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
61942         variables.
61943         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
61945 2009-11-17  Simon Josefsson  <simon@josefsson.org>
61947         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
61948         settings since xalloc-die is no longer the self test,
61949         xalloc-die.sh is.
61951 2009-11-17  Jim Meyering  <meyering@redhat.com>
61953         test-xalloc-die.sh: make the code agree with the commit log
61954         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
61955         at the end, just in case you happen to have a test-xalloc-die
61956         program in some other PATH directory.
61958         test-xalloc-die.sh: fix a portability bug
61959         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
61960         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
61961         Otherwise, argv[0] (as often seen in diagnostics) would be too
61962         system-dependent, sometimes with, and sometimes without the leading "./".
61964         version-etc-fsf: relax license to LGPLv3+
61965         * modules/version-etc-fsf (License): Relax license.
61967 2009-11-16  Eric Blake  <ebb9@byu.net>
61969         xalloc-die-tests: avoid printing null pointer
61970         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
61971         shell script.
61972         * tests/test-xalloc-die.c (program_name): Declare.
61973         * tests/test-xalloc-die.sh (tmpfiles): New file.
61975         setenv, unsetenv: work around various bugs
61976         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
61977         (setenv) [HAVE_SETENV]: Work around bugs.
61978         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
61979         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
61980         for bugs.
61981         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
61982         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
61983         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
61984         * modules/stdlib (Makefile.am): Update substitutions.
61985         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
61986         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
61987         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
61988         * modules/setenv-tests: New test.
61989         * modules/unsetenv-tests: Likewise.
61990         * tests/test-setenv.c: New file.
61991         * tests/test-unsetenv.c: Likewise.
61993 2009-11-16  Jim Meyering  <meyering@redhat.com>
61995         version-etc: relax license to LGPLv3+
61996         * modules/version-etc (License): Relax license.
61998         better AC_REQUIRE expanded-before-required-warning avoidance
61999         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
62000         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
62001         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
62002         which is no longer needed.
62004 2009-11-16  Eric Blake  <ebb9@byu.net>
62006         test-freading: clean up temporary file
62007         * tests/test-freading.c (main): Remove file on success, and use
62008         ASSERT more liberally.
62009         Reported by Jim Meyering.
62011 2009-11-16  Jim Meyering  <meyering@redhat.com>
62013         avoid new AC_REQUIRE expanded-before-required warnings
62014         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
62015         merely using it.
62016         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
62017         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
62019 2009-11-15  Simon Josefsson  <simon@josefsson.org>
62021         * tests/test-xalloc-die.c: New file.
62022         * modules/xalloc-die-tests: New file.
62023         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
62024         XFAIL_TESTS so it can be appended by modules.
62026 2009-11-15  Simon Josefsson  <simon@josefsson.org>
62028         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
62029         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
62031 2009-11-14  Eric Blake  <ebb9@byu.net>
62033         fnmatch: avoid compiler warning
62034         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
62035         to silence compiler warning about mismatch signedness in ?:.
62036         Reported by Robert Millan.
62038         intprops: add double-inclusion guard
62039         * lib/intprops.h: Allow idempotent includes.
62040         Suggested by Bruce Korb.
62042         openat: detect Solaris fchownat bug
62043         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
62044         penalizing glibc chownat when only lchownat is broken.
62045         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
62046         trailing slash bugs.
62047         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
62048         * modules/openat-tests (Files): Include more files.
62049         (Depends-on): Add mgetgroups, sleep, stat-time.
62050         (configure.ac): Add additional checks.
62051         (Makefile.am): Build new test.
62052         * tests/test-fchownat.c: New file.
62054         lchown: detect Solaris and FreeBSD bug
62055         * lib/lchown.c (rpl_lchown): Work around bug.
62056         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
62057         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
62058         * modules/unistd (Makefile.am): Populate it.
62059         * lib/unistd.in.h (lchown): Update declaration.
62060         * doc/posix-functions/lchown.texi (lchown): Document the bug.
62061         * modules/lchown-tests: New file.
62062         * tests/test-lchown.h (test_lchown): Likewise.
62063         * tests/test-lchown.c (main): Likewise.
62065         chown: detect Solaris and FreeBSD bug
62066         * lib/chown.c (rpl_chown): Work around bug.
62067         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
62068         (gl_PREREQ_CHOWN): Delete.
62069         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
62070         * modules/unistd (Makefile.am): Populate it.
62071         * lib/unistd.in.h (chown): Update declaration.
62072         * lib/lchown.c (chown): Update client.
62073         * modules/lchown (Depends-on): Add lstat.
62074         * doc/posix-functions/chown.texi (chown): Document the bug.
62075         * doc/posix-functions/getgroups.texi (getgroups): Document
62076         getgroups pitfall.
62077         * modules/chown-tests: New file.
62078         * tests/test-chown.h (test_chown): Likewise.
62079         * tests/test-chown.c (main): Likewise.
62081 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
62083         gnulib-tool: correctly detect absence of m4 directories
62084         * gnulib-tool: Avoid extra newline on data passed to wc -l.
62086 2009-11-14  Jim Meyering  <meyering@redhat.com>
62088         maint.mk: Prohibit inclusion of "xalloc.h" without use.
62089         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
62091 2009-11-14  John W. Eaton  <jwe@gnu.org>
62093         strftime.h: wrap function declaration in extern "C" block
62094         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
62096 2009-11-13  Eric Blake  <ebb9@byu.net>
62098         getgroups: avoid compiler warning
62099         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
62101         getgroups: work around FreeBSD bug
62102         * lib/getgroups.c (rpl_getgroups): Work around the bug.
62103         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
62104         * doc/posix-functions/getgroups.texi (getgroups): Document it.
62105         * tests/test-getgroups.c (main): Fix buffer overrun.
62107         getgroups: avoid compilation failure
62108         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
62109         * modules/getgroups (Depends-on): Add stdint.
62111 2009-11-13  Jim Meyering  <meyering@redhat.com>
62113         test-getgroups: avoid compilation failure
62114         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
62116 2009-11-13  Eric Blake  <ebb9@byu.net>
62118         mgetgroups: new module, taken from coreutils
62119         * modules/mgetgroups: New file.
62120         * lib/mgetgroups.h: Likewise.
62121         * lib/mgetgroups.c (mgetgroups): Likewise.
62122         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
62123         * MODULES.html.sh (Users and groups): Mention it.
62125         getgroups: don't expose GETGROUPS_T to user
62126         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
62127         an element at a time if GETGROUPS_T is wrong size.
62128         * lib/getugroups.h (getugroups): Change signature.
62129         * lib/unistd.in.h (getgroups): Likewise.
62130         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
62131         signature needs fixing.
62132         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
62133         AC_TYPE_GETGROUPS.
62134         * modules/group-member (Depends-on): Add getgroups.
62135         * lib/group-member.c (group_info, get_group_info): Use gid_t.
62136         (group_member): Rely on getgroups replacement.
62137         * lib/getugroups.c (getugroups): Use gid_t.
62138         * tests/test-getgroups.c (main): Likewise.
62139         * NEWS: Mention the signature change.
62140         * doc/posix-functions/getgroups.texi (getgroups): Mention the
62141         problem with signature.
62142         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
62143         GETGROUPS_T is still useful for setgroups.
62145         getgroups, getugroups: provide stubs for mingw
62146         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
62147         * lib/getugroups.c (getugroups): Likewise.
62148         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
62149         function.  Modernize replacement scheme.
62150         (gl_PREREQ_GETGROUPS): Delete.
62151         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
62152         * modules/getgroups (configure.ac): Declare witness.
62153         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
62154         * modules/unistd (Depends-on): Substitute witness.
62155         * lib/unistd.in.h (getgroups): Declare replacement.
62157         getgroups: avoid calling exit
62158         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
62159         drop xalloc.
62160         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
62161         dependencies.
62162         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
62163         exiting, in the rare case of malloc failure.
62165         getgroups: fix logic error
62166         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
62167         has more than 20 groups.
62168         * modules/getgroups-tests: New test.
62169         * tests/test-getgroups.c: New file.
62171 2009-11-13  Simon Josefsson  <simon@josefsson.org>
62173         * tests/test-base64.c: Improve.
62175 2009-11-13  Simon Josefsson  <simon@josefsson.org>
62177         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
62178         Blake <ebb9@byu.net>.
62180 2009-11-13  Simon Josefsson  <simon@josefsson.org>
62182         * tests/test-xvasprintf.c: Add %s%s related checks.
62184 2009-11-12  Eric Blake  <ebb9@byu.net>
62186         version-etc: match standards.texi style
62187         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
62188         and use <> only for URLs.
62190 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
62192         fts: do not fail on a submount during traversal
62193         * lib/fts.c (fts_build): Read the stat info again after opening
62194         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
62195         Original report at http://bugzilla.redhat.com/501848.
62197 2009-11-12  Jim Meyering  <meyering@redhat.com>
62199         bootstrap: sync from coreutils
62200         * build-aux/bootstrap (bootstrap_epilogue): New function.
62201         Use git_modules_config in one more place.  This make bootstrap's
62202         --gnulib-srcdir option more useful for testing.
62204         bootstrap: generalize autoheader check
62205         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
62206         AC_CONFIG_HEADERS.
62208 2009-11-11  Eric Blake  <ebb9@byu.net>
62210         mkfifoat: use new modules for Solaris and BSD bugs
62211         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
62212         * lib/mkfifoat.c (mknodat): Split...
62213         * lib/mknodat.c (mknodat): ...into new file.
62214         * modules/mkfifoat (Files): Ship new file.
62215         (Depends-on): Add mkfifo, mknod.
62216         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
62217         (Depends-on): Add symlink.
62218         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
62219         redundant with test_mkfifo.h.
62220         (do_mkfifoat, do_mknodat): New helpers.
62222         mknod: new module
62223         * modules/mknod: New file.
62224         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
62225         * lib/mknod.c (mknod): Likewise.
62226         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
62227         defaults.
62228         * modules/sys_stat (Makefile.am): Substitute them.
62229         * lib/sys_stat.in.h (mknod): Declare replacement.
62230         * MODULES.html.sh (Support for systems lacking POSIX:2008):
62231         Document it.
62232         * doc/posix-functions/mknod.texi (mknod): Likewise.
62233         * modules/mknod-tests: New test.
62234         * tests/test-mknod.c: Likewise.
62236         mkfifo: new module
62237         * modules/mkfifo: New file.
62238         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
62239         * lib/mkfifo.c (mkfifo): Likewise.
62240         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
62241         defaults.
62242         * modules/sys_stat (Makefile.am): Substitute them.
62243         * lib/sys_stat.in.h (mkfifo): Declare replacement.
62244         * MODULES.html.sh (Support for systems lacking POSIX:2008):
62245         Document it.
62246         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
62247         * modules/mkfifo-tests: New test.
62248         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
62249         from test-mkfifoat.c.
62250         * tests/test-mkfifo.c: New file.
62252         readlink: detect FreeBSD bug
62253         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
62254         slash on symlink.
62255         * doc/posix-functions/readlink.texi (readlink): Document the bug.
62256         * tests/test-readlink.h (test_readlink): Enhance test.
62258         symlink: detect FreeBSD bug
62259         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
62260         slash on symlink.
62261         * doc/posix-functions/symlink.texi (symlink): Document the bug.
62262         * tests/test-symlink.h (test_symlink): Enhance test.
62264 2009-11-10  Eric Blake  <ebb9@byu.net>
62266         link: detect FreeBSD bug
62267         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
62268         symlink.
62269         * doc/posix-functions/link.texi (link): Document the bug.
62270         * tests/test-link.h (test_link): Enhance test.
62271         * tests/test-linkat.c (main): Update caller.
62273         unlink, remove: detect FreeBSD bug
62274         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
62275         slash on symlink.
62276         * doc/posix-functions/unlink.texi (unlink): Document the bug.
62277         * doc/posix-functions/remove.texi (remove): Likewise.
62278         * tests/test-unlink.h (test_unlink): Enhance test.
62279         * tests/test-remove.c (main): Likewise.
62281 2009-11-09  Eric Blake  <ebb9@byu.net>
62283         rename: detect FreeBSD bug
62284         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
62285         slash on symlink.
62286         * modules/renameat-tests (Depends-on): Add filenamecat.
62287         * tests/test-rename.h (test_rename): Allow one more errno.
62288         * tests/test-renameat.c (main): Likewise.
62289         * doc/posix-functions/rename.texi (rename): Document the bug.
62291         open: detect FreeBSD bug
62292         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
62293         symlink.
62294         * doc/posix-functions/open.texi (open): Document the bug.
62295         * doc/posix-functions/utimes.texi (utimes): Likewise.
62296         * tests/test-open.h (test_open): Add parameters, and test symlink
62297         handling.
62298         * tests/test-open.c (main): Adjust caller.
62299         * tests/test-fcntl-safer.c (main): Likewise.
62300         * modules/open-tests (Depends-on): Add stdbool, symlink.
62301         * modules/fcntl-safer-tests (Depends-on): Likewise.
62302         * tests/test-openat.c (main): Add test-open tests.
62304         stat: detect FreeBSD bug
62305         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
62306         symlink.
62307         * doc/posix-functions/stat.texi (stat): Document the bug.
62308         * tests/test-stat.h (test_stat_func): Add argument.
62309         * tests/test-stat.c (main): Adjust caller.
62310         * tests/test-fstatat.c (main): Likewise.
62311         * modules/stat-tests (Depends-on): Add stdbool, symlink.
62312         Reported by Jim Meyering.
62314 2009-11-09  James Youngman  <jay@gnu.org>
62316         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
62317         * lib/strftime.c: Correct placement of #include "ignore-value.h".
62319 2009-11-08  Jim Meyering  <meyering@redhat.com>
62321         utimens: remove invalid futimesat call
62322         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
62323         It used the file descriptor of the target file as the DIR_FD
62324         parameter and NULL as the file name.  That caused failure with
62325         errno == EFAULT on FreeBSD-8.0-rc2
62327 2009-11-07  Eric Blake  <ebb9@byu.net>
62329         fflush, freadseek: use fseeko, not fseek
62330         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
62331         (clear_ungetc_buffer): Avoid potential problems on large files.
62332         * lib/freadseek.c (freadseek): Likewise.
62333         * modules/freadseek (Depends-on): Add fseeko.
62334         * modules/fseek (configure.ac): Set a witness.
62335         * tests/test-fflush.c (main): Use fseeko.
62336         * tests/test-fpurge.c (fseek): Disable link warning.
62337         * tests/test-freadable.c (fseek): Likewise.
62338         * tests/test-freading.c (fseek): Likewise.
62339         * tests/test-fseeko.c (fseek): Likewise.
62340         * tests/test-ftell.c (fseek): Likewise.
62341         * tests/test-ftello.c (fseek): Likewise.
62342         * tests/test-fwritable.c (fseek): Likewise.
62343         * tests/test-fwriting.c (fseek): Likewise.
62345 2009-11-06  Simon Josefsson  <simon@josefsson.org>
62347         * modules/memchr (Depends-on): Drop getpagesize dependency.
62349 2009-11-06  Simon Josefsson  <simon@josefsson.org>
62351         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
62352         Reported by Ludovic Courtès.
62353         * build-aux/pmccabe2html: Improve example usage.
62354         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
62356 2009-11-06  Jim Meyering  <meyering@redhat.com>
62358         do-release-commit-and-tag: New module.
62359         Automate the release-commit and tag process.
62360         * build-aux/do-release-commit-and-tag: New script, from coreutils.
62361         * modules/do-release-commit-and-tag: New file.
62362         * MODULES.html.sh (Support for maintaining and releasing): Add it.
62364 2009-11-06  Simon Josefsson  <simon@josefsson.org>
62366         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
62367         because test-select.c uses inet_pton.
62369 2009-11-06  Simon Josefsson  <simon@josefsson.org>
62371         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
62372         GETADDRINFO_LIB.  Bump serial number.
62373         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
62374         Suggested by Eric Blake <ebb9@byu.net>.
62376 2009-11-05  Eric Blake  <ebb9@byu.net>
62378         strtod: detect darwin bug
62379         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
62380         Reported by Leo Davis.
62382         freopen-safer: new module
62383         * modules/freopen-safer: New module.
62384         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
62385         * lib/freopen-safer.c (freopen_safer): New file.
62386         * lib/stdio-safer.h (freopen_safer): New declaration.
62387         * lib/stdio--.h (freopen): New override.
62388         * MODULES.html.sh (File stream based Input/Output): Mention it.
62389         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
62390         freopen-safer module.
62391         * doc/posix-functions/stderr.texi (stderr): Likewise.
62392         * doc/posix-functions/stdin.texi (stdin): Likewise.
62393         * doc/posix-functions/stdout.texi (stdout): Likewise.
62394         * modules/freopen-safer-tests: New test.
62395         * tests/test-reopen-safer.c: New file.
62397 2009-11-05  Jim Meyering  <meyering@redhat.com>
62399         maint.mk: Prohibit inclusion of "close-stream.h" without use.
62400         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
62402 2009-11-05  Simon Josefsson  <simon@josefsson.org>
62404         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
62406 2009-11-05  Simon Josefsson  <simon@josefsson.org>
62408         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
62410 2009-11-05  Simon Josefsson  <simon@josefsson.org>
62412         Fix link error.
62413         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
62414         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
62416 2009-11-05  Simon Josefsson  <simon@josefsson.org>
62418         * tests/test-func.c: Also test value of __func__.
62420 2009-11-05  Simon Josefsson  <simon@josefsson.org>
62422         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
62423         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
62425 2009-11-05  Bruno Haible  <bruno@clisp.org>
62427         Fix link error.
62428         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
62429         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
62430         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
62432 2009-11-05  Bruno Haible  <bruno@clisp.org>
62434         Tests for module 'inet_pton'.
62435         * modules/inet_pton-tests: New file.
62436         * tests/test-inet_pton.c: New file.
62438 2009-11-05  Bruno Haible  <bruno@clisp.org>
62440         Tests for module 'inet_ntop'.
62441         * modules/inet_ntop-tests: New file.
62442         * tests/test-inet_ntop.c: New file.
62444 2009-11-04  Eric Blake  <ebb9@byu.net>
62446         stdlib-safer: wrap all mkstemp variants
62447         * modules/mkostemp (configure.ac): Set witness.
62448         * modules/mkostemps (configure.ac): Likewise.
62449         * modules/mkstemps (configure.ac): Likewise.
62450         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
62451         (mkstemps_safer): Wrap more functions.
62452         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
62453         wrapping.
62454         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
62455         (mkstemps_safer): Implement the wrappers.
62457         mkstemps, mkostemps: new modules
62458         * modules/mkostemps: New module.
62459         * modules/mkstemps: Likewise.
62460         * lib/mkostemps.c (mkostemps): New file.
62461         * lib/mkstemps.c (mkstemps): Likewise.
62462         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
62463         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
62464         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
62465         * modules/stdlib (Makefile.am): Substitute them.
62466         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
62467         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
62468         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
62469         * doc/gnulib.texi (Glibc stdlib.h): Include them.
62470         * MODULES.html.sh (File system functions): Mention them.
62472         tempname: resync from glibc
62473         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
62474         same values for __GT_FILE as glibc.  Abort even when assertions
62475         are disabled.
62476         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
62477         match its value otherwise.  Allow idempotent inclusion.
62478         * lib/mkdtemp.c (mkdtemp): Adjust caller.
62479         * lib/mkostemp.c (mkostemp): Likewise.
62480         * lib/mkstemp.c (mkstemp): Likewise.
62481         * lib/tmpfile.c (tmpfile): Likewise.
62482         * NEWS: Document this.
62484         utimens: fix use of futimens on older Linux
62485         * lib/utimens.c (fdutimens): Use updated, rather than original,
62486         timespec to avoid bug in older Linux kernel.
62487         Reported by Simon Josefsson.
62489 2009-11-04  Bruno Haible  <bruno@clisp.org>
62491         Make num_processors more flexible and consistent.
62492         * lib/nproc.h (enum nproc_query): New type.
62493         (num_processors): Add a 'query' argument.
62494         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
62495         (num_processors): Add a 'query' argument. Test the value of the
62496         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
62497         mingw, count the number of CPUs available for the current process.
62498         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
62499         Check for sched_getaffinity and sched_getaffinity_np.
62500         * modules/nproc (Depends-on): Add c-ctype, extensions.
62501         * NEWS: Mention the change.
62503 2009-11-03  Bruno Haible  <bruno@clisp.org>
62505         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
62507 2009-11-03  Jim Meyering  <meyering@redhat.com>
62509         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
62510         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
62511         if it is defined.
62513 2009-11-02  Eric Blake  <ebb9@byu.net>
62515         mktime, timegm: share common declaration
62516         * lib/mktime-internal.h: New file.
62517         * lib/mktime.c: Use it rather than open-coding a declaration.
62518         * lib/timegm.c: Likewise.
62519         * modules/mktime (Files): Ship it.
62520         * modules/timegm (Files): Likewise.
62521         Suggested by Bruno Haible.
62523         test-update-copyright: update test to match script changes
62524         * tests/test-update-copyright.sh: Avoid hard-coding perl
62525         location.  Don't update *.bak created by earlier runs.
62527 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
62528             Simon Josefsson  <simon@josefsson.org>
62529             Bruno Haible  <bruno@clisp.org>
62531         Fix link error on Solaris 8.
62532         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
62533         also in libnsl. Define also INET_PTON_LIB.
62534         * modules/inet_pton (Link): New section.
62536 2009-11-02  Simon Josefsson  <simon@josefsson.org>
62537             Bruno Haible  <bruno@clisp.org>
62539         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
62540         * modules/inet_ntop (Link): New section.
62541         Reported by Boyan Kasarov <bkasarov@gmail.com>.
62543 2009-11-02  Eric Blake  <ebb9@byu.net>
62545         maint: avoid compiler warnings in m4 macros
62546         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
62547         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
62549 2009-11-02  Simon Josefsson  <simon@josefsson.org>
62551         * m4/pmccabe2html.m4: Remove file.
62552         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
62553         function.  Change maintainer.
62554         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
62555         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
62556         Courtès).
62558 2009-10-31  Eric Blake  <ebb9@byu.net>
62560         fseeko: fix m4 regression
62561         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
62562         regression from 2009-10-27.
62563         Reported by Ralf Wildenhues.
62565 2009-10-31  Jim Meyering  <meyering@redhat.com>
62567         inttostr: aesthetics and improved (compile-time) safety
62568         Define inttype_is_signed rather than inttype_is_unsigned,
62569         since the sole use is via "#if inttype_is_signed".
62570         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
62571         inttype_is_unsigned.
62572         * lib/offtostr.c (inttype_is_signed): Likewise.
62573         * lib/uinttostr.c (inttype_is_signed): Likewise.
62574         * lib/umaxtostr.c (inttype_is_signed): Likewise.
62575         * lib/inttostr.c (inttostr): Use verify to cross-check the
62576         inttype_is_signed value and the signedness of the actual type.
62577         * modules/inttostr (Depends-on): Add verify.
62579 2009-10-30  Eric Blake  <ebb9@byu.net>
62581         build: avoid compiler warnings
62582         * lib/fchmodat.c (lchmod): Mark unused variables.
62583         * lib/getopt.c (_getopt_initialize): Likewise.
62584         * lib/mktime.c (__mktime_internal): Provide prototype.
62585         * lib/inttostr.c (inttostr): Avoid compiler warning even with
62586         older gcc that do not understand #pragma GCC diagnostic.
62587         * lib/uinttostr.c (inttype_is_unsigned): Define.
62588         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
62590 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
62592         stat: fix compilation on AIX
62593         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
62594         only see struct stat64.
62596 2009-10-30  Eric Blake  <ebb9@byu.net>
62598         exclude: make more robust
62599         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
62600         rather than masking a coding bug.
62601         Suggested by Bruno Haible.
62603 2009-10-30  Jim Meyering  <meyering@redhat.com>
62605         perl scripts: remove #!/usr/bin/perl in favor of more portable...
62606         Rather than putting #!/usr/bin/perl on the first line,
62607         start with a variant of what's recommended by "man perlrun" that
62608         invokes the first "perl" program from your shell's search path.
62609         * build-aux/gitlog-to-changelog: Replace #!... as above.
62610         Add a "Local Variables" perl mode setting.
62611         Prompted by a patch from Ludovic Courtès.
62612         Improved by Eric Blake.
62613         * build-aux/useless-if-before-free: Likewise.
62614         * build-aux/announce-gen: Likewise.
62615         * build-aux/update-copyright: Likewise.
62617 2009-10-29  Eric Blake  <ebb9@byu.net>
62619         filenamecat-lgpl: adjust clients
62620         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
62621         filenamecat.
62622         * modules/renameat (Depends-on): Likewise.
62624         filenamecat: split into filenamecat-lgpl
62625         * modules/filenamecat-lgpl: New module.
62626         * modules/filenamecat (Files): Move library-safe files into
62627         filenamecat-lgpl.
62628         (Depends-on): Add filenamecat-lgpl.
62629         (configure.ac): Declare witness.
62630         * lib/filenamecat.h (file_name_concat): Only declare when using
62631         GPL module.
62632         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
62633         Move...
62634         * lib/filenamecat-lgpl.c: ...into new file.
62635         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
62636         (gl_FILE_NAME_CONCAT): Use it.
62637         * MODULES.html.sh (File system functions): Mention new module.
62639         argp: avoid memory leak
62640         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
62641         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
62642         base_name, since the latter malloc()s and can call exit().
62643         Leak introduced 2006-07-03.
62645         dirname-lgpl: adjust clients that don't need full dirname
62646         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
62647         * modules/filenamecat (Depends-on): Likewise.
62648         * modules/linkat (Depends-on): Likewise.
62649         * modules/mkancesdirs (Depends-on): Likewise.
62650         * modules/mkdir (Depends-on): Likewise.
62651         * modules/openat (Depends-on): Likewise.
62652         * modules/savewd (Depends-on): Likewise.
62653         * modules/rename (Depends-on): Likewise.
62654         (License): Relax license.
62655         * modules/mkdir-tests (Depends-on): Drop progname.
62656         (Makefile.am): Delete unneeded LDADD.
62657         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
62659         dirname: split into dirname-lgpl
62660         * modules/dirname-lgpl: New module.
62661         * modules/dirname (Files): Move library-safe files into
62662         dirname-lgpl.
62663         (Depends-on): Add dirname-lgpl.
62664         (configure.ac): Declare witness.
62665         * modules/double-slash-root (License): Relax license.
62666         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
62667         module.
62668         * lib/dirname.c (dir_len, mdir_name): Move...
62669         * lib/dirname-lgpl.c: ...into new file.
62670         * lib/basename.c (last_component, base_len): Move...
62671         * lib/basename-lgpl.c: ...into new file.
62672         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
62673         (gl_DIRNAME): Use it.
62674         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
62675         Mention new module.
62676         * modules/dirname-tests (Depends-on): Add progname.
62677         * tests/test-dirname.c (program_name): Delete.
62679         mkdir: make safe for libraries
62680         * modules/mkdir (Depends-on): Drop xalloc.
62681         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
62682         exit.
62684         tests: avoid some compiler warnings
62685         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
62686         literals.
62687         * tests/test-memchr.c (main): Avoid type mismatch.
62688         * tests/test-arpa_inet.c (main): Avoid unused parameters.
62689         * tests/test-base64.c (main): Likewise.
62690         * tests/test-getdelim.c (main): Likewise.
62691         * tests/test-gethostname.c (main): Likewise.
62692         * tests/test-getline.c (main): Likewise.
62693         * tests/test-netinet_in.c (main): Likewise.
62694         * tests/test-select.c (open_server_socket, main): Likewise.
62695         * tests/test-select-stdin.c (main): Likewise.
62696         * tests/test-sockets.c (main): Likewise.
62697         * tests/test-strsignal.c (main): Likewise.
62698         * tests/test-sys_select.c (main): Likewise.
62699         * tests/test-sys_socket.c (main): Likewise.
62700         * tests/test-u64.c (main): Likewise.
62701         * tests/test-xfprintf-posix.c (main): Likewise.
62702         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
62704         sockets: avoid compiler warning
62705         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
62707         maint: detect usage(1) and other suspicious exits
62708         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
62710 2009-10-29  Jim Meyering  <meyering@redhat.com>
62712         timespec: long-to-int truncation could make timespec_cmp malfunction
62713         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
62714         a multiple of 2^32 nanoseconds as no difference.
62716 2009-10-28  Jim Meyering  <meyering@redhat.com>
62718         fprintftime: wrap macro code argument in "do {...} while(0)"
62719         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
62720         cpy macro must be a statement that can be followed by a semicolon.
62721         Now that the else clause contains a comment and is hence longer
62722         than one line, I require curly braces.  That in turn requires
62723         that we wrap this code block in the standard do...while(0).
62725         fprintftime: remove stray semicolon from previous change
62726         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
62728         fprintftime: avoid a warning about ignored fwrite return value
62729         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
62730         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
62731         that is unsafe.
62732         * modules/fprintftime (Depends-on): Add ignore-value.
62734         exclude: avoid an unwarranted warning
62735         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
62737 2009-10-27  Eric Blake  <ebb9@byu.net>
62739         fseek: avoid compilation failure when fflush is replaced
62740         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
62741         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
62742         module is in use.
62743         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
62744         module is not in use; since REPLACE_FSEEK worked otherwise.
62745         (GNULIB_FTELLO): Likewise for ftell.
62746         Reported by Ian Beckwith and others.
62748 2009-10-27  Bruno Haible  <bruno@clisp.org>
62750         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
62751         Reported by Jim Meyering.
62753 2009-10-27  Jim Meyering  <jim@meyering.net>
62754             Bruno Haible  <bruno@clisp.org>
62756         Avoid warning despite dropping the return value of fwrite.
62757         * lib/unicodeio.c: Include ignore-value.h.
62758         (fwrite_success_callback): Explicitly ignore fwrite's return value.
62759         * modules/unicodeio (Depends-on): Add ignore-value.
62761 2009-10-26  Eric Blake  <ebb9@byu.net>
62763         areadlinkat: fix fallback path
62764         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
62765         pointer and zero.
62767 2009-10-22  Pádraig Brady  <P@draigBrady.com>
62769         Use a better IO block size for modern systems
62770         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
62771         * lib/md2.c: Likewise.
62772         * lib/md4.c: Likewise.
62773         * lib/md5.c: Likewise.
62774         * lib/sha1.c: Likewise.
62775         * lib/sha256.c: Likewise.
62776         * lib/sha512.c: Likewise.
62778 2009-10-22  Eric Blake  <ebb9@byu.net>
62780         tests: avoid several compiler warnings
62781         * tests/test-getcwd.c (main): Avoid buffer underflow.
62782         * tests/test-getdate.c (main): String literals are not safe with
62783         putenv, so use setenv.  Declare unused argument.
62784         * modules/getdate-tests (Depends-on): Add setenv.
62785         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
62786         problems with string literals in char *.
62787         * tests/test-hash.c (main): Avoid shadowing declaration.
62788         (insert_new): Treat string literals as char const *.
62789         * tests/test-getopt.h (test_getopt): Likewise.
62790         (getopt_loop): Alter types to minimize casting elsewhere.
62791         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
62792         (test_getopt_long_posix): Likewise.
62793         (do_getopt_long): Add wrapper to minimize casting.
62794         * tests/test-atexit.c (clear_temp_file): Use void.
62795         * tests/test-areadlink-with-size.c (main): Declare unused
62796         arguments.
62797         * tests/test-areadlink.c (main): Likewise.
62798         * tests/test-areadlinkat-with-size.c (main): Likewise.
62799         * tests/test-areadlinkat.c (main): Likewise.
62800         * tests/test-canonicalize-lgpl.c (main): Likewise.
62801         * tests/test-canonicalize.c (main): Likewise.
62802         * tests/test-dirent-safer.c (main): Likewise.
62803         * tests/test-dirname.c (main): Likewise.
62804         * tests/test-dup2.c (main): Likewise.
62805         * tests/test-fchdir.c (main): Likewise.
62806         * tests/test-fcntl-h.c (main): Likewise.
62807         * tests/test-fcntl-safer.c (main): Likewise.
62808         * tests/test-fdopendir.c (main): Likewise.
62809         * tests/test-fdutimensat.c (main): Likewise.
62810         * tests/test-fflush.c (main): Likewise.
62811         * tests/test-filenamecat.c (main): Likewise.
62812         * tests/test-filevercmp.c (main): Likewise.
62813         * tests/test-fopen-safer.c (main): Likewise.
62814         * tests/test-fopen.c (main): Likewise.
62815         * tests/test-fpending.c (main): Likewise.
62816         * tests/test-fpurge.c (main): Likewise.
62817         * tests/test-freading.c (main): Likewise.
62818         * tests/test-fstatat.c (main): Likewise.
62819         * tests/test-fsync.c (main): Likewise.
62820         * tests/test-futimens.c (main): Likewise.
62821         * tests/test-getndelim2.c (main): Likewise.
62822         * tests/test-gettimeofday.c (main): Likewise.
62823         * tests/test-getopt.c (main): Likewise.
62824         * tests/test-i-ring.c (main): Likewise.
62825         * tests/test-inttypes.c (main): Likewise.
62826         * tests/test-link.c (main): Likewise.
62827         * tests/test-lstat.c (main): Likewise.
62828         * tests/test-math.c (main): Likewise.
62829         * tests/test-md5.c (main): Likewise.
62830         * tests/test-memchr2.c (main): Likewise.
62831         * tests/test-memrchr.c (main): Likewise.
62832         * tests/test-mkdir.c (main): Likewise.
62833         * tests/test-mkdirat.c (main): Likewise.
62834         * tests/test-mkfifoat.c (main): Likewise.
62835         * tests/test-open.c (main): Likewise.
62836         * tests/test-openat-safer.c (main): Likewise.
62837         * tests/test-openat.c (main): Likewise.
62838         * tests/test-quotearg.c (main): Likewise.
62839         * tests/test-rawmemchr.c (main): Likewise.
62840         * tests/test-readlink.c (main): Likewise.
62841         * tests/test-remove.c (main): Likewise.
62842         * tests/test-rename.c (main): Likewise.
62843         * tests/test-renameat.c (main): Likewise.
62844         * tests/test-rmdir.c (main): Likewise.
62845         * tests/test-sha1.c (main): Likewise.
62846         * tests/test-signal.c (main): Likewise.
62847         * tests/test-sigaction.c (main): Likewise.
62848         * tests/test-stat.c (main): Likewise.
62849         * tests/test-stat-time.c (main): Likewise.
62850         * tests/test-stddef.c (main): Likewise.
62851         * tests/test-stdint.c (main): Likewise.
62852         * tests/test-stdio.c (main): Likewise.
62853         * tests/test-stdlib.c (main): Likewise.
62854         * tests/test-strchrnul.c (main): Likewise.
62855         * tests/test-strerror.c (main): Likewise.
62856         * tests/test-string.c (main): Likewise.
62857         * tests/test-strtod.c (main): Likewise.
62858         * tests/test-strverscmp.c (main): Likewise.
62859         * tests/test-symlink.c (main): Likewise.
62860         * tests/test-symlinkat.c (main): Likewise.
62861         * tests/test-sys_stat.c (main): Likewise.
62862         * tests/test-sys_time.c (main): Likewise.
62863         * tests/test-time.c (main): Likewise.
62864         * tests/test-unistd.c (main): Likewise.
62865         * tests/test-unlink.c (main): Likewise.
62866         * tests/test-unlinkat.c (main): Likewise.
62867         * tests/test-utimens.c (main): Likewise.
62868         * tests/test-utimensat.c (main): Likewise.
62869         * tests/test-version-etc.c (main): Likewise.
62870         * tests/test-wchar.c (main): Likewise.
62871         * tests/test-wctype.c (main): Likewise.
62872         * tests/test-xprintf-posix.c (main): Likewise.
62873         * tests/test-posixtm.c (main): Likewise.
62874         (STREQ): Delete unused macro.
62875         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
62876         shadowed variables.
62877         * tests/test-memchr.c (main): Likewise.
62879 2009-10-21  Eric Blake  <ebb9@byu.net>
62881         areadlinkat: avoid failure on older glibc
62882         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
62883         rather than mis-comparing 0 against FUNC_RESULT of char*.
62885 2009-10-21  Bruno Haible  <bruno@clisp.org>
62887         * modules/stpncpy (License): Relicense under LGPLv2+.
62888         Reported by David Lutterkort <lutter@redhat.com>.
62890 2009-10-20  Eric Blake  <ebb9@byu.net>
62892         utimensat: work around Solaris 9 bug
62893         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
62894         has trailing slash bugs.
62895         * tests/test-lutimens.h (test_lutimens): Enhance test.
62896         * tests/test-utimens.h (test_utimens): Likewise.
62897         * doc/posix-functions/utime.texi (utime): Enhance documentation.
62898         * doc/posix-functions/utimes.texi (utimes): Likewise.
62899         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
62900         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
62901         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
62902         * doc/posix-functions/futimens.texi (futimens): Likewise.
62904         fdutimensat: new module
62905         * modules/fdutimensat: New file.
62906         * lib/fdutimensat.c (fdutimensat): Likewise.
62907         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
62908         * MODULES.html.sh (File system functions): Mention module.
62909         * modules/fdutimensat-tests: New test.
62910         * tests/test-fdutimensat.c: Likewise.
62912         doc: regenerate INSTALL
62913         * doc/INSTALL: Reflect recent autoconf update.
62914         * doc/INSTALL.ISO: Likewise.
62915         * doc/INSTALL.UTF-8: Likewise.
62917 2009-10-20  Pádraig Brady  <P@draigBrady.com>
62919         acl: warn if ACL support is not detected
62920         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
62922 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
62924         * lib/nproc.h: Add extern "C" block for C++.
62926 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
62927             Bruno Haible  <bruno@clisp.org>
62929         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
62930         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
62931         * doc/posix-functions/isalpha.texi: Likewise.
62932         * doc/posix-functions/isblank.texi: Likewise.
62933         * doc/posix-functions/iscntrl.texi: Likewise.
62934         * doc/posix-functions/isdigit.texi: Likewise.
62935         * doc/posix-functions/isgraph.texi: Likewise.
62936         * doc/posix-functions/islower.texi: Likewise.
62937         * doc/posix-functions/isprint.texi: Likewise.
62938         * doc/posix-functions/ispunct.texi: Likewise.
62939         * doc/posix-functions/isspace.texi: Likewise.
62940         * doc/posix-functions/isupper.texi: Likewise.
62941         * doc/posix-functions/isxdigit.texi: Likewise.
62943 2009-10-18  Bruno Haible  <bruno@clisp.org>
62945         Tests for module 'isblank'.
62946         * modules/isblank-tests: New file.
62947         * tests/test-isblank.c: New file.
62949         New module 'isblank'.
62950         * lib/isblank.c: New file.
62951         * m4/isblank.m4: New file.
62952         * modules/isblank: New file.
62953         * doc/posix-functions/isblank.texi: Mention the new module.
62955 2009-10-18  Bruno Haible  <bruno@clisp.org>
62957         New module 'ctype'.
62958         * lib/ctype.in.h: New file.
62959         * m4/ctype.m4: New file.
62960         * modules/ctype: New file.
62961         * doc/posix-headers/ctype.texi: Mention the new module.
62963 2009-10-18  Jim Meyering  <meyering@redhat.com>
62965         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
62966         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
62967         right after its initialization, rather than farther down.
62968         Keeping these in close proximity makes it easier to ensure
62969         that each such variable is initialized.  E.g.,
62971             LIB_CLOCK_GETTIME=
62972             AC_SUBST([LIB_CLOCK_GETTIME])
62974         This change also increments these serial numbers.
62975         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
62976         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
62977         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
62979 2009-10-18  Bruno Haible  <bruno@clisp.org>
62981         Don't let environment variables perturb build.
62982         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
62983         (gl_PREREQ_GETHRXTIME): ... not here.
62985 2009-10-18  Bruno Haible  <bruno@clisp.org>
62987         Avoid symlink attack in localcharset module.
62988         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
62989         (O_NOFOLLOW): Define fallback.
62990         (get_charset_aliases): Don't open the file if it is a symbolic link.
62991         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
62992         gl_FCNTL_H.
62993         (gl_FCNTL_H): Require it.
62994         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
62995         * modules/localcharset (Files): Add m4/fcntl_h.m4.
62996         Reported by Fergal Glynn <fglynn@veracode.com>.
62998 2009-10-18  Bruno Haible  <bruno@clisp.org>
63000         Implement nproc for mingw.
63001         * lib/nproc.c: Include <windows.h>
63002         (num_processors): On native Windows platforms, try GetSystemInfo.
63004 2009-10-18  Bruno Haible  <bruno@clisp.org>
63006         Implement nproc for IRIX.
63007         * lib/nproc.c: Include <sys/sysmp.h>.
63008         (num_processors): On IRIX systems, try sysmp.
63009         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
63011 2009-10-18  Bruno Haible  <bruno@clisp.org>
63013         Implement nproc for HP-UX.
63014         * lib/nproc.c: Include <sys/pstat.h>
63015         (num_processors): On HP-UX systems, try pstat_getdynamic.
63016         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
63017         pstat_getdynamic.
63019 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
63020             Bruno Haible  <bruno@clisp.org>
63022         Implement nproc for NetBSD, OpenBSD.
63023         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
63024         (ARRAY_SIZE): New macro.
63025         (num_processors): On BSD systems, try sysctl of HW_NCPU.
63026         * m4/nproc.m4: New file.
63027         * modules/nproc (Files): Add m4/nproc.m4.
63028         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
63029         (Makefile.am): Instead, augment lib_SOURCES.
63031 2009-10-18  Bruno Haible  <bruno@clisp.org>
63033         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
63034         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
63035         sys/param.h.
63037 2009-10-16  Eric Blake  <ebb9@byu.net>
63039         utimensat: new module
63040         * modules/utimensat: New file.
63041         * lib/utimensat.c (utimensat): Likewise.
63042         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
63043         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
63044         so we can work around Linux bugs.
63045         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
63046         * modules/sys_stat (Makefile.am): Substitute them.
63047         * lib/sys_stat.in.h (utimensat): Declare it.
63048         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
63049         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
63050         * modules/utimensat-tests: New test.
63051         * tests/test-utimensat.c: Likewise.
63053         utimens: let lutimens work on non-symlinks
63054         * lib/utimens.c (lutimens): Fall back to utimens rather than
63055         failing with ENOSYS, when file is not a symlink.
63056         (utimens): Reduce redirection.
63057         * tests/test-lutimens.h (test_lutimens): Update test to cover
63058         non-symlinks.
63059         * tests/test-utimens.h (test_utimens): Update test to cover
63060         symlinks.
63061         * tests/test-utimens.c (main): Update caller.
63063         utimens: cache whether utimensat syscall works
63064         * lib/utimens.c (utimensat_works_really): New cache variable.
63065         (fdutimens, lutimens): Use it to avoid failing syscall.
63067         test-stat-time, test-utimens: improve portability
63068         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
63069         ext4 on alpha, and for cygwin.
63070         * tests/test-utimens-common.h: New file.
63071         (nap): Factor delays into single function.
63072         * tests/test-lutimens.h (test_lutimens): Use new header.
63073         * tests/test-futimens.h (test_futimens): Likewise.
63074         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
63075         timestamps to occur from same machine, as was done previously for
63076         test_utimens.
63077         * modules/utimens-tests (Files): Ship new file.
63078         * modules/futimens-tests (Files): Likewise.
63079         Reported in part by Jim Meyering.
63081         sys_stat: sort replacement declarations
63082         * lib/sys_stat.in.h: Sort declarations.
63083         * lib/futimens.c (futimens): Fix typo.
63085 2009-10-15  Jim Meyering  <meyering@redhat.com>
63087         don't let environment settings perturb build
63088         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
63089         could cause a configure-time and/or build-time malfunction.
63090         Typically, a configure-time function-in-library test is performed
63091         via code like this:
63093           LIB_VAR=
63094           AC_SUBST([LIB_VAR])
63095           prefix_saved_LIBS=$LIBS
63096             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
63097                        [test "$ac_cv_search_FUNC" = "none required" ||
63098                         LIB_VAR=$ac_cv_search_FUNC])
63099           LIBS=$prefix_saved_LIBS
63101         However, in each of the files affected by this change, the LIB_VAR=
63102         initialization was omitted.  Thus, when set in the environment, its
63103         value would propagate into generated Makefiles when FUNC is not found
63104         in LIB_NAME.
63105         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
63106         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
63107         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
63109 2009-10-14  Eric Blake  <ebb9@byu.net>
63111         fchdir: avoid infinite recursion in mingw
63112         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
63113         recursing.
63115         test-stat-time: port to mingw
63116         * tests/test-stat-time.c (force_unlink): Return a value.
63117         (test_ctime) [W32]: Fix compilation error.
63118         (nap): Don't call usleep with too large an argument.  Use
63119         force_unlink.
63120         * doc/pastposix-functions/usleep.texi (usleep): Document the
63121         portability issue.
63123 2009-10-13  Jim Meyering  <meyering@redhat.com>
63125         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
63126         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
63127         * modules/pipe-filter-ii: Likewise.
63128         * modules/sys_socket-tests: Likewise.
63129         * modules/tsearch-tests: Likewise.
63130         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
63131         (check): Depend on it.
63133 2009-10-12  Eric Blake  <ebb9@byu.net>
63135         utimens-tests: port to NFS file systems
63136         * tests/test-utimens.h (test_utimens): Refactor utimecmp
63137         comparisons to avoid spurious failures from timestamp drift
63138         between NFS machines.
63140 2009-10-12  Eric Blake  <ebb9@byu.net>
63142         stat-time-tests: minor cleanups
63143         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
63144         * tests/test-stat-time.c (nap): Separate assignment from call.
63145         Suggested by Paolo Bonzini and Bruno Haible.
63147         sys_stat: guarantee struct timespec
63148         * lib/sys_stat.in.h (includes): Always include <time.h>
63149         * modules/sys_stat (Depends-on): Add time.
63150         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
63151         mode_t permission values.
63152         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
63153         get at subsecond timestamps.
63155 2009-10-10  Eric Blake  <ebb9@byu.net>
63157         futimens: new module
63158         * modules/futimens: New file.
63159         * lib/futimens.c (futimens): Likewise.
63160         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
63161         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
63162         we can work around Linux bugs.
63163         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
63164         * modules/sys_stat (Makefile.am): Substitute them.
63165         * lib/sys_stat.in.h (futimens): Declare it.
63166         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
63167         * doc/posix-functions/futimens.texi (futimens): Likewise.
63168         * modules/futimens-tests: New test.
63169         * tests/test-futimens.c: Likewise.
63171         utimens: introduce fdutimens
63172         * lib/utimens.h (fdutimens): New prototype.
63173         * lib/utimens.c (gl_futimens): Move guts...
63174         (fdutimens): ...to new interface.
63175         * tests/test-utimens.c (do_fdutimens): Use it.
63177         utimens: add UTIME_NOW and UTIME_OMIT support
63178         * lib/utimens.c (validate_timespec, update_timespec): New helper
63179         functions.
63180         (gl_futimens, lutimens): Use them.
63181         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
63182         stdbool, sys_stat.
63183         (Link): Mention resulting library dependency.
63184         * modules/utimecmp (Link): Likewise.
63185         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
63186         (Makefile.am): Pick up library dependency.
63187         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
63188         definition.
63189         * tests/test-sys_stat.c: Test the definitions.
63190         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
63191         * NEWS: Document library dependency.
63193         utimecmp: support symlink timestamps
63194         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
63195         hashing when possible.  Use pathconf when available.
63196         (SYSCALL_RESOLUTION): Recognize tighter resolution.
63197         * modules/utimecmp (Depends-on): Add lstat.
63199         utimens: add lutimens interface
63200         * lib/utimens.c (lutimens): New function.
63201         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
63202         * lib/utimens.h (lutimens): Declare new interface.
63203         * tests/test-utimens.c (main): Enhance test.
63204         * tests/test-lutimens.h (test_lutimens): New file.
63205         * modules/utimens-tests (Files): Distribute it.
63206         (Depends-on): Add symlink.
63207         (configure.ac): Check for usleep.
63209         utimens: validate futimens usage
63210         * lib/utimens.c (gl_futimens): Require valid fd up front, using
63211         fewer syscalls on failure later on.  Avoid compiler warning on
63212         mingw.
63213         * modules/utimens (Depends-on): Add dup2.
63215         utimens: add test
63216         * modules/utimens-tests: New test.
63217         * tests/test-utimens.h: New file.
63218         * tests/test-futimens.h: Likewise.
63219         * tests/test-utimens.c: Likewise.
63221         doc: mention timestamp portability issues
63222         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
63223         instead.
63224         * doc/posix-functions/utime.texi (utime): Likewise.
63225         * doc/posix-functions/utimes.texi (utimes): Likewise.
63226         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
63227         instead.
63228         * doc/posix-functions/futimens.texi (futimens): Mention utimens
63229         module.
63230         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
63231         Mention weakness with symlink timestamps.
63232         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
63233         to utimensat/futimens instead.
63234         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
63236         test-dup2: enhance test
63237         * tests/test-dup2.c (main): Also check AT_FDCWD.
63239         test-stat-time: avoid more spurious failures
63240         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
63241         xfs; and avoid race if the two timestamps cross quantization edge.
63243         relocatable: prefer 'file system' over 'filesystem'
63244         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
63245         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
63246         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
63247         * doc/relocatable.texi (Enabling Relocatability): Likewise.
63248         * lib/relocatable.c (compute_curr_prefix): Likewise.
63250 2009-10-10  Jim Meyering  <meyering@redhat.com>
63252         stat-time-tests: check for the usleep function
63253         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
63255 2009-10-10  Bruno Haible  <bruno@clisp.org>
63257         * modules/xnanosleep: Put the Link section after the Include section.
63259 2009-10-09  Eric Blake  <ebb9@byu.net>
63261         dup2: work around FreeBSD 6.1 bug
63262         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
63263         * doc/posix-functions/dup2.texi (dup2): Document it.
63264         Reported by Nelson H. F. Beebe and Jim Meyering.
63266         test-stat-time: port to buggy NFS clients
63267         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
63268         (test_ctime): Also skip test if mtime and ctime are skewed.
63270         maint: prefer 'file system' over 'filesystem'
63271         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
63272         * doc/posix-functions/lstat.texi (lstat): Likewise.
63273         * lib/file-has-acl.c (file_has_acl): Likewise.
63274         * lib/fwriteerror.c [TEST]: Likewise.
63275         * tests/test-areadlink.h (test_areadlink): Likewise.
63276         * tests/test-areadlinkat-with-size.c (main): Likewise.
63277         * tests/test-areadlinkat.c (main): Likewise.
63278         * tests/test-canonicalize-lgpl.c (main): Likewise.
63279         * tests/test-canonicalize.c (main): Likewise.
63280         * tests/test-fstatat.c (main): Likewise.
63281         * tests/test-linkat.c (main): Likewise.
63282         * tests/test-lstat.h (test_lstat_func): Likewise.
63283         * tests/test-mkdir.h (test_mkdir): Likewise.
63284         * tests/test-readlink.h (test_readlink): Likewise.
63285         * tests/test-remove.c (main): Likewise.
63286         * tests/test-rename.h (test_rename): Likewise.
63287         * tests/test-renameat.c (main): Likewise.
63288         * tests/test-rmdir.h (test_rmdir_func): Likewise.
63289         * tests/test-symlink.h (test_symlink): Likewise.
63290         * tests/test-symlinkat.c (main): Likewise.
63291         * tests/test-unlink.h (test_unlink_func): Likewise.
63292         * tests/test-unlinkat.c (main): Likewise.
63294         maint: make realtime library usage explicit
63295         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
63296         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
63297         * modules/settime (Link): Likewise.
63298         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
63300         test-stat-time: speed up execution
63301         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
63302         warning on mingw.
63303         (nap): New helper function.
63304         (prepare_test): Use it to reduce sleep time.
63305         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
63306         execution.
63307         * modules/stat-time-tests (configure.ac): Check for usleep.
63309 2009-10-09  Jim Meyering  <meyering@redhat.com>
63311         selinux-h: always use getfilecon wrappers
63312         * lib/getfilecon.c: New file.
63313         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
63314         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
63315         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
63316         (fgetfilecon): Provide a stub.
63317         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
63318         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
63319         file unconditionally.
63320         When <selinux/selinux.h> is found, arrange to use wrappers.
63321         * modules/selinux-h (Files): Add getfilecon.c.
63322         (Makefile.am): Substitute include-next-related bits
63323         into the now-always-generated selinux/selinux.h file.
63324         * doc/glibc-functions/lgetfilecon.texi: New file.
63325         * doc/glibc-functions/fgetfilecon.texi: New file.
63326         * doc/glibc-functions/getfilecon.texi: New file.
63327         * doc/glibc-functions/getfilecon-desc.texi: New file.
63328         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
63329         which to pull in the new files.
63330         * MODULES.html.sh (Misc): Add selinux-h.
63332 2009-10-08  Jim Meyering  <meyering@redhat.com>
63334         unistd: fix comment typo
63335         * lib/unistd.in.h (euidaccess): Fix a comment typo.
63337 2009-10-08  Eric Blake  <ebb9@byu.net>
63339         areadlink: use SIZE_MAX consistently
63340         * modules/areadlink (Depends-on): Add stdint.
63341         * modules/areadlink-with-size (Depends-on): Likewise.
63342         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
63343         gives NULL; drop sys/types, since unistd gives size_t; and add
63344         stdint for SIZE_MAX.
63345         (SIZE_MAX): Rely on headers.
63346         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
63347         and add stdint.
63348         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
63349         (SIZE_MAX): Likewise.
63350         (INITIAL_BUF_SIZE): Turn into enum.
63351         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
63353 2009-10-08  Jim Meyering  <meyering@redhat.com>
63355         areadlinkat: avoid compilation failure
63356         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
63357         Fix typo in comment.
63359 2009-10-07  Eric Blake  <ebb9@byu.net>
63361         areadlinkat-with-size: new module
63362         * modules/areadlinkat-with-size: New module.
63363         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
63364         * lib/areadlink.h (areadlinkat): Declare it.
63365         * MODULES.html.sh (File system functions): Mention it.
63366         * modules/areadlinkat-with-size-tests: New test.
63367         * tests/test-areadlinkat-with-size.c: New file.
63369         xreadlinkat: new module
63370         * modules/xreadlinkat: New module.
63371         * lib/xreadlinkat.c (xreadlinkat): New file.
63372         * lib/xreadlink.h (xreadlinkat): Declare it.
63373         * MODULES.html.sh (File system functions): Mention it.
63375         areadlinkat: new module
63376         * lib/at-func.c (FUNC_FAIL): New define.
63377         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
63378         * modules/areadlinkat: New module.
63379         * lib/linkat.c (areadlinkat): Move...
63380         * lib/areadlinkat.c (areadlinkat): ...to new file.
63381         * lib/areadlink.h (areadlinkat): Declare it.
63382         * modules/linkat (Depends-on): Add areadlinkat.
63383         * MODULES.html.sh (File system functions): Mention it.
63384         * modules/areadlinkat-tests: New test.
63385         * tests/test-areadlinkat.c: New file.
63387         areadlink, areadlink-with-size: add tests
63388         * modules/areadlink-tests: New test.
63389         * modules/areadlink-with-size-tests: Likewise.
63390         * tests/test-areadlink.h: New file.
63391         * tests/test-areadlink.c: Likewise.
63392         * tests/test-areadlink-with-size.c: Likewise.
63394         maint: minor cleanups
63395         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
63396         _UNUSED_PARAMETER_ instead.
63397         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
63398         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
63399         * modules/linkat-tests (Files): Distribute test-link.h.
63401         openat, utimens: whitespace cleanup
63402         * lib/openat.c: Prefer space throughout, rather than mix of 8
63403         spaces vs. tabs.
63404         * lib/at-func.c: Likewise.
63405         * lib/utimens.c: Likewise.
63407         openat: avoid using wrong fd
63408         * lib/openat.c (openat_permissive): Reject user's fd if saving the
63409         working directory chooses same fd.
63410         * lib/at-func.c (AT_FUNC_NAME): Likewise.
63412         mkdir, mkdirat: fix cygwin 1.5.x bug
63413         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
63414         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
63415         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
63416         bug.
63417         (gl_PREREQ_MKDIR): Delete unused macro.
63418         * modules/mkdir (Files): Track file rename.
63419         (configure.ac): Update macro name.
63420         * modules/openat (Depends-on): Add mkdir.
63421         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
63423         mkdir, mkdirat: add tests
63424         * modules/mkdir-tests: New test.
63425         * tests/test-mkdir.h: New file.
63426         * tests/test-mkdir.c: Likewise.
63427         * tests/test-mkdirat.c: Likewise.
63428         * modules/openat-tests (Files): Add new files.
63429         (Makefile.am): Run new test.
63431 2009-10-06  Eric Blake  <ebb9@byu.net>
63433         doc: tweak *at function documentation
63434         * doc/posix-functions/faccessat.texi (faccessat): Mention
63435         known issue with replacement.
63436         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
63437         * doc/posix-functions/linkat.texi (linkat): Likewise.
63438         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
63439         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
63440         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
63441         * doc/posix-functions/renameat.texi (renameat): Likewise.
63442         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
63444         openat: fix GNU/Hurd bug in unlinkat
63445         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
63446         broken.
63447         * doc/posix-functions/unlink.texi (unlink): Document this.
63448         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
63450         fdopendir: fix GNU/Hurd bug
63451         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
63452         allowing non-directory fds.
63453         * lib/fdopendir.c (rpl_fdopendir): Work around it.
63454         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
63455         * modules/dirent (Makefile.am): Substitute it.
63456         * lib/dirent.in.h (fdopendir): Declare replacement.
63457         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
63458         * tests/test-fdopendir.c (main): Test something other than
63459         /dev/null, since on Hurd that behaves like a directory.
63461         test-symlink: port to GNU/Hurd
63462         * tests/test-symlink.h (test_symlink): Relax expected errno.
63464         doc: tweak more cygwin information
63465         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
63466         now compatible with glibc.
63467         * doc/posix-functions/getopt.texi (getopt): Likewise.
63469         getopt-gnu: add another test
63470         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
63471         guarantee behavior relied on by m4.
63472         * tests/test-getopt.c (main): Use it.
63473         * modules/getopt-posix-tests (Depends-on): Add setenv.
63474         See http://lists.gnu.org/r/bug-m4/2006-09/msg00028.html.
63476         getopt: fix compilation on darwin
63477         * lib/getopt.in.h (includes): Leave breadcrumbs during system
63478         include.
63479         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
63480         Reported by Ludovic Courtès.
63482 2009-10-06  Bruno Haible  <bruno@clisp.org>
63484         * modules/size_max (Description): Discourage its use.
63485         Reported by Simon Josefsson.
63487 2009-10-06  Jim Meyering  <meyering@redhat.com>
63489         linkat: avoid compilation failure
63490         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
63492 2009-10-05  Eric Blake  <ebb9@byu.net>
63494         linkat: support Linux 2.6.17
63495         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
63496         linkat on Linux, but allow cache variable override.
63497         * lib/linkat.c (rpl_linkat): Define override.
63498         * modules/linkat (Depends-on): Add symlinkat.
63499         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
63500         * modules/unistd (Makefile.am): Substitute it.
63501         * lib/unistd.in.h (linkat): Declare replacement.
63502         Reported by Pádraig Brady.
63504         quotearg: port test to systems with C.UTF-8 locale
63505         * tests/test-quotearg.c (struct result_strings): Add another
63506         member, differentiating between C.ASCII and C.UTF-8 handling.
63507         (compare_strings): Add parameter.
63508         (main): Adjust all callers.
63510         getopt: avoid clash with FreeBSD _getopt_internal
63511         * lib/getopt.in.h (_getopt_internal): Override the name.
63512         * lib/getopt_int.h (includes): Pick up any overrides.
63513         Reported by Reuben Thomas.
63515         hash: allow C89 compilation
63516         * lib/hash.c (check_tuning): Move declaration before statement.
63517         Reported by Reuben Thomas.
63519 2009-10-05  Karl Berry  <karl@gnu.org>
63521         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
63523 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
63524             Bruno Haible  <bruno@clisp.org>
63526         * lib/uname.c (uname): Use a table-driven algorithm to compute
63527         Windows NT versions.
63529 2009-10-04  Bruno Haible  <bruno@clisp.org>
63531         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
63532         program_invocation_short_name.
63533         * modules/progname (configure.ac): Test for presence of
63534         program_invocation_short_name.
63535         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
63537 2009-10-04  Bruno Haible  <bruno@clisp.org>
63539         * lib/progname.c (set_program_name): Fix comment.
63540         Reported by Jim Meyering.
63542 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
63543             Bruno Haible  <bruno@clisp.org>
63545         * lib/uname.c: Include <string.h>.
63546         (uname): Do only one call to GetVersionEx in the common case.
63548 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
63549             Bruno Haible  <bruno@clisp.org>
63551         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
63552         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
63553         (uname): Add support for Windows CE and various non-x86 CPU types.
63555 2009-10-03  Bruno Haible  <bruno@clisp.org>
63557         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
63558         invocation to tests/configure.ac.
63559         Reported by Ian Beckwith <ianb@erislabs.net>.
63561 2009-10-02  Eric Blake  <ebb9@byu.net>
63563         fchdir: avoid compiler warning
63564         * lib/fchdir.c (canonicalize_file_name)
63565         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
63567         test-open: support mingw errno values
63568         * tests/test-open.h (test_open): Relax test.
63569         * tests/test-fopen.h (test_fopen): Likewise.
63570         * tests/test-openat-safer.c (main): Likewise.
63572         open: fix opening directory on mingw
63573         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
63575         test-open: on GNU/Hurd, /dev/null is a directory
63576         * tests/test-fopen.h (main): Rename...
63577         (test_fopen): ...to this.  Use a guaranteed non-directory when
63578         confirming open behavior on trailing slash.
63579         * tests/test-openat-safer.c (main): Likewise.
63580         * tests/test-open.h (main): Likewise....
63581         (test_open): ...to this.
63582         * tests/test-fopen.c (main): Adjust caller.
63583         * tests/test-fopen-safer.c (main): Likewise.
63584         * tests/test-open.c (main): Likewise.
63585         * tests/test-fcntl-safer.c (main): Likewise.
63586         Reported by Samuel Thibault.
63588         rename, fchdir: don't ignore chdir failure
63589         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
63590         * lib/rename.c (rpl_rename) [W32]: Likewise.
63591         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
63592         an empty destination directory if source cannot be renamed,
63593         although there is still possibility for failure.
63594         * doc/posix-functions/rename.texi (rename): Document the race.
63595         Reported by Jim Meyering.
63597         maint: cleanup whitespace in recent commits
63598         * lib/rename.c (rpl_rename): Remove tabs.
63599         * tests/test-link.h (test_link): Likewise.
63600         * lib/fchdir.c (get_name): Likewise.
63601         Reported by Jim Meyering.
63603 2009-10-02  Ben Pfaff  <blp@gnu.org>
63605         relocatable-prog-wrapper: Add missing dependency on
63606         double-slash-root.
63607         * modules/relocatable-prog-wrapper: Add dependency.
63608         Reported by Ian Beckwith <ianb@erislabs.net>.
63610 2009-10-02  Eric Blake  <ebb9@byu.net>
63612         renameat: fix Solaris bugs
63613         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
63614         needed fixing.
63615         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
63616         * modules/stdio (Makefile.am): Substitute it.
63617         * lib/stdio.in.h (renameat): Declare replacement.
63618         * lib/renameat.c (rpl_renameat): Implement fix.
63620         renameat: new module
63621         * modules/renameat: New file.
63622         * lib/renameat.c (renameat): Likewise.
63623         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
63624         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
63625         * modules/stdio (Makefile.am): Substitute them.
63626         * lib/stdio.in.h (renameat): Declare it.
63627         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
63628         * doc/posix-functions/renameat.texi (renameat): Likewise.
63629         * modules/renameat-tests: New test.
63630         * tests/test-renameat.c: Likewise.
63632         rename: fix mingw bugs
63633         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
63634         directory overwrite bugs.
63636         rename: fix another cygwin 1.5 bug
63637         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
63638         checks.
63639         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
63640         unnecessary cygwin workarounds.  Also work around bug with moving
63641         full directory onto an empty one.
63642         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
63644         rename-dest-slash: merge into rename module
63645         * modules/rename-dest-slash (Status): Mark obsolete.
63646         (Depends-on): Add rename.
63647         (Files): Let rename do it all.
63648         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
63649         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
63650         * m4/rename-dest-slash.m4: ...so this file can be deleted.
63651         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
63652         * lib/rename.c (rpl_rename): Update comments.
63654         rename: fix cygwin 1.5.x bugs
63655         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
63656         * lib/rename.c (rpl_rename): Work around them.
63657         * modules/rename (Depends-on): Add same-inode.
63659         rename: fix Solaris 10 bug
63660         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
63661         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
63662         was the only bug.
63664         rename: fix Solaris 9 bug
63665         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
63666         on non-directory.  Avoid calling exit.
63667         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
63668         strdup.
63669         * modules/rename-tests (Depends-on): Drop lstat.
63670         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
63671         (gl_PREREQ_RENAME): Delete unused macro.
63673         rename-dest-slash: fix NetBSD bug
63674         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
63675         links.
63676         * modules/rename-dest-slash (Depends-on): Add same-inode.
63678         rename-tests: new test, exposes several platform bugs
63679         * modules/rename-tests: New file.
63680         * tests/test-rename.h: Likewise.
63681         * tests/test-rename.c: Likewise.
63682         * doc/posix-functions/rename.texi (rename): Improve documentation,
63683         including bugs that will eventually be fixed in gnulib.
63685 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
63687         * lib/uname.c: Include <stdlib.h>
63688         (uname): Assume version info is available.
63690 2009-10-02  Jim Meyering  <meyering@redhat.com>
63692         gnu-web-doc-update: correct --help output
63693         * build-aux/gnu-web-doc-update: Make --help output relevant.
63695         gnu-web-doc-update: add standard options
63696         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
63698         gnu-web-doc-update: New module.
63699         Use this script to automatically update the on-line web documentation
63700         for your GNU project at http://www.gnu.org/software/$pkg/manual/
63701         * modules/gnu-web-doc-update: New file, from coreutils.
63702         * build-aux/gnu-web-doc-update: New script.
63704 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
63706         link: LoadLibrary is not needed.
63707         * lib/link.c: Use GetModuleHandle.
63709 2009-10-01  Eric Blake  <ebb9@byu.net>
63711         getopt: bump serial number
63712         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
63713         change.
63715         tests: tighten link, rmdir, and remove tests
63716         * tests/test-link.h (includes): No need to use <config.h> here.
63717         Clean up if directory hard link was created, otherwise test for
63718         trailing '.'.
63719         * tests/test-linkat.c (main): Simplify.
63720         * tests/test-remove.c (main): Enhance test for trailing '.'.
63721         * tests/test-rmdir.h (test_rmdir_func): Likewise.
63723 2009-10-01  Jim Meyering  <meyering@redhat.com>
63725         maint.mk: requiring "make major" was annoying, for a "minor" release.
63726         What is intended is "stable", to contrast with alpha and beta,
63727         so require "make stable", not "make major".
63728         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
63729         (get_tool_versions): Likewise.
63730         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
63732 2009-09-30  Ben Pfaff  <blp@gnu.org>
63734         Fix broken build of replacement for Windows tmpfile().
63735         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
63736         flags argument added along with the 'mkostemp' module.
63738 2009-09-28  Bruno Haible  <bruno@clisp.org>
63740         Avoid identifier clash with POSIX function 'remove' defined as a macro.
63741         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
63742         to 'remove_elt'.
63743         (gl_list_remove): Update.
63744         * lib/gl_list.c (gl_list_remove): Update.
63745         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
63746         to 'remove_elt'.
63747         (gl_oset_remove): Update.
63748         * lib/gl_list.c (gl_oset_remove): Update.
63749         Reported by Eric Blake.
63751 2009-09-28  Eric Blake  <ebb9@byu.net>
63753         doc: mention yet more cygwin 1.7 status
63754         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
63755         cygwin.
63756         * doc/glibc-functions/execvpe.texi (execvpe): New file.
63757         * doc/gnulib.texi (Glibc unistd.h): Mention it.
63759         argp: fix test failure
63760         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
63761         that are not upper-case.  Pass correct range to tolower.
63763 2009-09-27  Jim Meyering  <meyering@redhat.com>
63765         test-yesno: work around sparc-dash here-document infelicity
63766         Without this change, the literal \177 byte in a here document
63767         would make dash 0.5.5.1-3 access uninitialized memory.
63768         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
63769         Instead, use a marker, "@", and filter through tr to create the desired
63770         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
63772 2009-09-27  Bruno Haible  <bruno@clisp.org>
63774         Disable untested support for new flavours of ACLs on AIX.
63775         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
63776         progress.
63777         * lib/set-mode-acl.c (qset_acl): Likewise.
63779 2008-12-07  Bruno Haible  <bruno@clisp.org>
63781         Add support for new flavours of ACLs on AIX. (Untested.)
63782         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
63783         (file_has_acl): Add support for newer AIX.
63784         * lib/set-mode-acl.c (qset_acl): Likewise.
63785         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
63786         Rainer Tammer <tammer@tammer.net>.
63788 2009-09-26  Eric Blake  <ebb9@byu.net>
63790         argp: fix compilation of getopt
63791         * lib/getopt.in.h (includes): Use different guard than glibc.
63792         Reported by Sergey Poznyakoff.
63794         doc: mention more cygwin 1.7 status
63795         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
63796         bug.
63797         * doc/posix-functions/execl.texi (execl): Likewise.
63798         * doc/posix-functions/execle.texi (execle): Likewise.
63799         * doc/posix-functions/execlp.texi (execlp): Likewise.
63800         * doc/posix-functions/execv.texi (execv): Likewise.
63801         * doc/posix-functions/execve.texi (execve): Likewise.
63802         * doc/posix-functions/execvp.texi (execvp): Likewise.
63803         * doc/glibc-functions/canonicalize_file_name.texi
63804         (canonicalize_file_name): Cygwin 1.7 now provides this.
63805         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
63806         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
63807         on AT_SYMLINK_NOFOLLOW.
63809 2009-09-24  Eric Blake  <ebb9@byu.net>
63811         test-linkat: make test more robust
63812         * tests/test-linkat.c (main): Avoid collision with EEXIST.
63814         getopt: fix inclusion guards for cygwin
63815         * modules/getopt-posix (Depends-on): Add include-next.
63816         (Makefile.am): Substitute more items in replacement header.
63817         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
63818         <getopt.h>.
63819         * lib/getopt.in.h (includes): Use split inclusion guard, and
63820         prefer <getopt.h> over include <unistd.h> when one is present.
63821         (option): Also override name of 'struct option'.
63823         same-inode: revert prior change; it is not yet ready
63824         * NEWS: Undo mention of this change.
63825         * lib/same-inode.h (same-inode.h): Undo tri-state change.
63826         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
63827         * lib/cycle-check.c (cycle_check): Likewise.
63828         * lib/same.c (same_name): Likewise.
63829         * lib/at-func2.c (at_func2): Likewise.
63831 2009-09-23  Eric Blake  <ebb9@byu.net>
63833         linkat: new module
63834         * modules/linkat: New file.
63835         * lib/at-func2.c (at_func2): Likewise.
63836         * lib/linkat.c (linkat): Likewise.
63837         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
63838         * lib/openat-priv.h (at_func2): Add declaration.
63839         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
63840         * modules/unistd (Makefile.am): Substitute them.
63841         * lib/unistd.in.h (linkat): Declare it.
63842         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
63843         * doc/posix-functions/linkat.texi (linkat): Likewise.
63844         * doc/posix-functions/link.texi (link): Tweak wording.
63845         * tests/test-link.c (main): Move guts...
63846         * tests/test-link.h (test_link): ...into new file.
63847         * modules/linkat-tests: New test.
63848         * tests/test-linkat.c: Likewise.
63849         * modules/link-tests (Files): Ship new file.
63850         (Depends-on): Add stdbool.
63852         dirname: add library-safe mdir_name
63853         * lib/dirname.h (mdir_name): New prototype.
63854         * lib/dirname.c (dir_name): Move guts...
63855         (mdir_name): ...to new function that avoids xalloc_die.
63857         fchdir: another mingw fix
63858         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
63859         * lib/fchdir.c (get_name): New helper method; skips canonicalize
63860         on mingw (where it has not yet been ported), and make it optional
63861         elsewhere.
63862         (_gl_register_fd): Use it.
63864         same-inode: make SAME_INODE tri-state, to port to mingw
63865         * NEWS: Mention this change.
63866         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
63867         st_ino always being 0.
63868         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
63869         * lib/cycle-check.c (cycle_check): Likewise.
63870         * lib/same.c (same_name): Likewise.
63872         lstat: avoid mingw compilation error
63873         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
63874         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
63875         lstat ourselves.
63876         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
63877         was adequate.
63878         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
63879         the checks for lstat.
63880         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
63882         link: fix test failure on Solaris 9
63883         * lib/link.c (rpl_link): Don't assume link will catch bogus
63884         trailing slash on source.
63886         test-symlinkat: enhance test
63887         * tests/test-readlink.c (main): Move guts...
63888         * tests/test-readlink.h (test_readlink): ...into new file.
63889         * tests/test-symlink.c (main): Move guts...
63890         * tests/test-symlink.h (test_symlink): ...into new file.
63891         * tests/test-symlinkat.c (main): Use new files for further
63892         coverage.
63893         (do_symlink, do_readlink): New helper functions.
63894         * modules/symlink-tests (Files): Ship new file.
63895         (Depends-on): Add stdbool.
63896         * modules/readlink-tests (Files): Ship new file.
63897         (Depends-on): Add stdbool.
63898         * modules/symlinkat-tests (Files): Use new files.
63900 2009-09-23  Eric Blake  <ebb9@byu.net>
63902         readlink: document portability issue with symlink length
63903         * doc/posix-functions/lstat.texi (lstat): Mention that some file
63904         systems have bogus st_size on symlinks, and mention the
63905         areadlink-with-size module.
63906         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
63907         * doc/posix-functions/readlink.texi (readlink): Mention the
63908         areadlink module, and ERANGE failure.
63909         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
63910         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
63912         readlink: fix Solaris 9 bug with trailing slash
63913         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
63914         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
63915         * doc/posix-functions/readlink.texi (readlink): Document this.
63916         * modules/readlink-tests: New test.
63917         * tests/test-readlink.c: Likewise.
63919         readlink: fix cygwin 1.5.x bug with return type
63920         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
63921         * lib/unistd.in.h (readlink): Use ssize_t.
63922         * lib/readlink.c (readlink): Likewise.
63923         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
63924         * modules/unistd (Makefile.am): Substitute it.
63925         * lib/unistd.in.h (readlink): Declare replacement.
63926         * doc/posix-functions/readlink.texi (readlink): Document this.
63928         symlink: use throughout gnulib
63929         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
63930         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
63931         symlink is not used.
63932         * modules/symlinkat (Depends-on): Add symlink.
63933         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
63934         * modules/canonicalize-tests (Depends-on): Likewise.
63935         * modules/lstat-tests (Depends-on): Likewise.
63936         * modules/openat-tests (Depends-on): Likewise.
63937         * modules/remove-tests (Depends-on): Likewise.
63938         * modules/rmdir-tests (Depends-on): Likewise.
63939         * modules/unlink-tests (Depends-on): Likewise.
63940         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
63941         * tests/test-canonicalize.c (symlink): Likewise.
63942         * tests/test-fstatat.c (symlink): Likewise.
63943         * tests/test-lstat.c (symlink): Likewise.
63944         * tests/test-remove.c (symlink): Likewise.
63945         * tests/test-rmdir.c (symlink): Likewise.
63946         * tests/test-unlink.c (symlink): Likewise.
63947         * tests/test-unlinkat.c (symlink): Likewise.
63949         symlink: new module, for Solaris 9 bug
63950         * modules/symlink: New file.
63951         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
63952         * lib/symlink.c: Likewise.
63953         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
63954         * modules/unistd (Makefile.am): Substitute them.
63955         * lib/unistd.in.h (symlink): Declare replacement.
63956         * MODULES.html.sh (File system functions): Mention it.
63957         * doc/posix-functions/symlink.texi (symlink): Likewise.
63958         * modules/symlink-tests: New test.
63959         * tests/test-symlink.c: Likewise.
63961 2009-09-23  Bruno Haible  <bruno@clisp.org>
63963         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
63964         when needed.
63965         Test case: gnulib-tool --import --with-tests atexit inttypes.
63966         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
63968 2009-09-23  Bruno Haible  <bruno@clisp.org>
63970         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
63971         subcommand, not in a subshell.
63973 2009-09-22  Eric Blake  <ebb9@byu.net>
63975         unistd: sort replacement declarations
63976         * lib/unistd.in.h: Sort declarations.
63978         open, openat: minor optimization
63979         * lib/open.c (open): If open succeeded, len is non-zero.
63980         * lib/openat.c (rpl_openat): Likewise.
63982         link-follow: ensure correct result
63983         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
63984         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
63985         distinguish between possible failures.
63987 2009-09-21  Eric Blake  <ebb9@byu.net>
63989         fts: avoid compiler warning
63990         * lib/fts.c (dirent_inode_sort_may_be_useful)
63991         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
63993 2009-09-19  Bruno Haible  <bruno@clisp.org>
63995         * lib/progreloc.c (canonicalize_file_name): New declaration.
63997 2009-09-19  Eric Blake  <ebb9@byu.net>
63999         link: fix quoting
64000         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
64002         openat: fix openat bugs on Solaris 9
64003         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
64004         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
64005         * modules/openat (Depends-on): Add open.
64006         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
64007         * modules/fcntl-h (Makefile.am): Substitute it.
64008         * lib/fcntl.in.h (openat): Declare replacement.
64009         * doc/posix-functions/openat.texi (openat): Document this.
64011         openat: move fstatat and unlinkat into correct files
64012         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
64013         compiled.
64014         * lib/openat.c (fstatat, unlinkat): Move...
64015         * lib/fstatat.c (fstatat): ...into correct files.
64016         * lib/unlinkat.c (unlinkat): Likewise.
64018         openat: fix unlinkat bugs on Solaris 9
64019         * lib/unlinkat.c (unlinkat): New file.
64020         * modules/openat (Depends-on): Add unlink.
64021         (Files): Distribute it.
64022         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
64023         trailing slash behavior is broken.
64024         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
64025         * modules/unistd (Makefile.am): Substitute it.
64026         * lib/unistd.in.h (unlinkat): Declare replacement.
64027         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
64029         openat: fix fstatat bugs on Solaris 9
64030         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
64031         stat.
64032         * doc/posix-functions/fstatat.texi (fstatat): Document this.
64034         test-unlinkat: enhance test, to expose Solaris 9 bug
64035         * tests/test-unlink.c (main): Factor guts...
64036         * tests/test-unlink.h (test_rmdir_func): ...into new file.
64037         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
64038         * tests/test-rmdir.c (main): Adjust caller.
64039         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
64040         (unlinker): New helper function.
64041         (rmdirat): Enhance check.
64042         * modules/rmdir-tests (Depends-on): Add stdbool.
64043         * modules/unlink-tests (Depends-on): Likewise.
64044         (Files): Add test-unlink.h.
64045         * modules/openat-tests (Files): Likewise.
64046         (Depends-on): Add unlinkdir.
64048         test-fstatat: new test, to expose Solaris 9 bugs
64049         * tests/test-stat.c (main): Factor guts...
64050         * tests/test-stat.h (test_stat_func): ...into new file.
64051         * tests/test-lstat.c (main): Factor guts...
64052         * tests/test-lstat.h (test_lstat_func): ...into new file.
64053         * tests/test-fstatat.c: New file.
64054         * modules/stat-tests (Files): Add test-stat.h.
64055         * modules/lstat-tests (Files): Add test-lstat.h.
64056         (Depends-on): Add stdbool.
64057         * modules/openat-tests (Depends-on): Add pathmax.
64058         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
64059         (Makefile.am): Run new test.
64061         remove: new module, for mingw and Solaris 9 bugs
64062         * modules/remove: New file.
64063         * lib/remove.c: Likewise.
64064         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
64065         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
64066         * modules/stdio (Makefile.am): Use them.
64067         * lib/stdio.in.h (remove): Declare replacement.
64068         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
64069         * doc/posix-functions/remove.texi (remove): Likewise.
64070         * modules/remove-tests: New test.
64071         * tests/test-remove.c: Likewise.
64073         unlink: new module, for Solaris 9 bug
64074         * modules/unlink: New file.
64075         * lib/unlink.c: Likewise.
64076         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
64077         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
64078         * modules/unistd (Makefile.am): Use them.
64079         * lib/unistd.in.h (stat): Declare replacement.
64080         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
64081         * doc/posix-functions/unlink.texi (unlink): Likewise.
64082         * modules/unlink-tests: New test.
64083         * tests/test-unlink.c: Likewise.
64085         lstat: fix Solaris 9 bug
64086         * lib/lstat.c (lstat): Also check for trailing slash on
64087         non-symlink, non-directories.  Use stat module to simplify logic.
64088         * doc/posix-functions/lstat.texi (lstat): Document it.
64089         * modules/lstat-tests (Depends-on): Add errno, same-inode.
64090         (configure.ac): Check for symlink.
64091         * tests/test-lstat.c (main): Add more tests.
64093         stat: add as dependency to other modules
64094         * modules/chown (Depends-on): Add stat.
64095         * modules/euidaccess (Depends-on): Likewise.
64096         * modules/fchdir (Depends-on): Likewise.
64097         * modules/isdir (Depends-on): Likewise.
64098         * modules/link (Depends-on): Likewise.
64099         * modules/lstat (Depends-on): Likewise.
64100         * modules/mkdir-p (Depends-on): Likewise.
64101         * modules/modechange (Depends-on): Likewise.
64102         * modules/open (Depends-on): Likewise.
64103         * modules/readlink (Depends-on): Likewise.
64104         * modules/same (Depends-on): Likewise.
64106         stat: fix Solaris 9 bug
64107         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
64108         slash.
64109         * lib/stat.c (rpl_stat): Work around it.
64110         * doc/posix-functions/stat.texi (stat): Update documentation.
64112         stat: new module, for mingw bug
64113         * modules/stat: New file.
64114         * lib/stat.c: Likewise.
64115         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
64116         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
64117         * modules/sys_stat (Makefile.am): Use them.
64118         * lib/sys_stat.in.h (stat): Declare replacement.
64119         * lib/openat.c (fstatat): Deal with lstat and stat being function
64120         macros.
64121         * modules/openat (Depends-on): Add inline.
64122         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
64123         * doc/posix-functions/stat.texi (stat): Likewise.
64124         * modules/stat-tests: New test.
64125         * tests/test-stat.c: Likewise.
64127 2009-09-19  Jim Meyering  <meyering@redhat.com>
64129         syntax-check: detect unnecessary inclusion of canonicalize.h
64130         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
64132 2009-09-19  Eric Blake  <ebb9@byu.net>
64134         canonicalize-lgpl: adjust clients to use correct header
64135         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
64136         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
64137         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
64138         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
64139         * lib/progreloc.c (includes): Likewise.
64141 2009-09-19  Jim Meyering  <meyering@redhat.com>
64143         test-posixtm.c: correct a comment
64144         * tests/test-posixtm.c: Correct first-line comment.
64145         Spotted by Eric Blake.
64147 2009-09-16  Jim Meyering  <meyering@redhat.com>
64149         posixtm-tests: make T const-correct; add a test case
64150         * tests/test-posixtm.c (T): Declare const.
64151         Add a test for -(2^31+1).
64152         Remove useless can-succeed-only-in-2002 test.
64154         posixtm-tests: adjust the sole failing test
64155         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
64156         expected output matches what mktime now produces.  Cross-checked via
64157         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
64159         posixtm: move #ifdef'd tests into a new module
64160         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
64161         * tests/test-posixtm.c: ... this new file.
64162         * modules/posixtm-tests: New module.
64164 2009-09-19  Eric Blake  <ebb9@byu.net>
64166         openat: simplify use of at-func.c
64167         * lib/at-func.c (includes): Include prerequisites here, to
64168         simplify requirements on client files.
64169         * lib/openat-priv.h: Add double-inclusion guard.
64170         * lib/faccessat.c (includes): Simplify.
64171         * lib/fchmodat.c (includes): Likewise.
64172         * lib/fchownat.c (includes): Likewise.
64173         * lib/mkdirat.c (includes): Likewise.
64174         * lib/mkfifoat.c (includes): Likewise.
64175         * lib/symlinkat.c (includes): Likewise.
64177         openat: allow return of fd 0
64178         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
64179         * modules/save-cwd (Depends-on): Replace fcntl-safer with
64180         unistd-safer.
64181         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
64182         <fcntl.h>; this module does not leak fds.
64183         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
64184         must be allowed to return 0, leaving openat_safer to add the
64185         safety.
64186         (openat_permissive): Avoid writing to just-opened fd 2 if
64187         restoring the current directory fails.
64188         * lib/openat-die.c (openat_restore_fail): Add comment.
64189         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
64190         (save_cwd): Guarantee safe fd, but without use of open_safer.
64191         * tests/test-openat.c: New test.
64192         * modules/openat-tests (Files, Makefile.am): Distribute and build
64193         new file.
64195         relocatable-prog-wrapper: fix build
64196         * modules/relocatable-prog-wrapper (Files): Update name of
64197         canonicalize m4 file, broken on 2009-09-17.
64198         Reported by emad hajjar <aleppos@hotmail.com>.
64200 2009-09-19  Bruno Haible  <bruno@clisp.org>
64202         * lib/safe-alloc.h: Use the standard header with GPL copyright.
64203         * lib/safe-alloc.c: Likewise.
64204         Reported by Ian Beckwith <ianb@erislabs.net>.
64206 2009-09-18  Bruno Haible  <bruno@clisp.org>
64208         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
64209         Reported by <erobles@sensacd.com.mx>.
64211 2009-09-17  Eric Blake  <ebb9@byu.net>
64213         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
64214         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
64215         slashes when checking if last component is missing.
64216         * tests/test-canonicalize.c (main): Test this.
64218         canonicalize, canonicalize-lgpl: honor // if distinct from /
64219         * modules/canonicalize (Files): Add double-slash-root.m4.
64220         * modules/canonicalize-lgpl (Files): Likewise.
64221         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
64222         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
64223         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
64224         fallback definition.
64225         (canonicalize_filename_mode): Use it to protect //.
64226         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
64227         (__realpath): Likewise.
64228         * tests/test-canonicalize.c (main): Test this.
64229         * tests/test-canonicalize-lgpl.c (main): Likewise.
64230         * modules/canonicalize-tests (Depends-on): Add same-inode.
64231         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
64233         canonicalize-lgpl: fix glibc bug with trailing slash
64234         * m4/canonicalize-lgpl.m4: Move contents...
64235         * m4/canonicalize.m4: ...here.
64236         (gl_CANONICALIZE_LGPL): Factor realpath check...
64237         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
64238         glibc 2.3.5 bug, fixed 2005-04-27.
64239         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
64240         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
64241         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
64242         * modules/canonicalize-lgpl (Files): Manage file rename.
64243         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
64244         * modules/stdlib (Makefile.am): Substitute witness.
64245         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
64246         is needed.
64247         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
64248         replacement is required.
64249         * lib/canonicalize.c (canonicalize_file_name): Likewise.
64250         * doc/glibc-functions/canonicalize_file_name.texi
64251         (canonicalize_file_name): Document this.
64252         * doc/posix-functions/realpath.texi (realpath): Likewise.
64254         canonicalize-lgpl: reject non-directory with trailing slash
64255         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
64256         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
64257         catches failures in glibc 2.3.5.
64258         * tests/test-canonicalize.c (main): Likewise.
64260         canonicalize-lgpl: use native realpath if it works
64261         * lib/canonicalize-lgpl.c (realpath): Guard with
64262         FUNC_REALPATH_WORKS.
64263         * lib/stdlib.in.h (realpath): Make declaration optional based on
64264         HAVE_REALPATH.
64265         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
64266         native realpath works.
64267         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
64268         * modules/stdlib (Makefile.am): Substitute witness.
64270         canonicalize, canonicalize-lgpl: use <stdlib.h>
64271         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
64272         (Include): Mention <stdlib.h>.
64273         (configure.ac): Mention functions we provide.
64274         * modules/canonicalize (configure.ac): Likewise.
64275         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
64276         realpath if canonicalize_file_name is missing.
64277         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
64278         * modules/stdlib (Makefile.am): Substitute witnesses.
64279         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
64280         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
64281         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
64282         * NEWS: Document this.
64283         * doc/glibc-functions/canonicalize_file_name.texi
64284         (canonicalize_file_name): Likewise.
64285         * doc/posix-functions/realpath.texi (realpath): Likewise.
64286         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
64288         test-canonicalize: consolidate into single C program
64289         * tests/test-canonicalize.sh: Delete; move setup into...
64290         * tests/test-canonicalize.c (main): ...the program, making it
64291         easier to run in debugger.  Add some tests.
64292         * modules/canonicalize-tests (Files): Remove unused file.
64293         (Depends-on): Add progname.
64294         (configure.ac, Makefile.am): Simplify.
64296         test-canonicalize-lgpl: consolidate into single C program
64297         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
64298         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
64299         easier to run in debugger.  Add some tests.
64300         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
64301         (configure.ac, Makefile.am): Simplify.
64303         canonicalize: avoid resolvepath
64304         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
64305         unnecessary checks.
64306         * lib/canonicalize.c (includes): Simplify.
64307         (canonicalize_file_name): Drop resolvepath implementation.
64308         * modules/canonicalize (Depends-on): Drop filenamecat.
64310         canonicalize: don't lose errno
64311         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
64312         over calls to free.
64314         canonicalize: simplify errno handling
64315         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
64316         assignment.
64318         canonicalize, canonicalize-lgpl: update module dependencies
64319         * modules/canonicalize (Depends-on): Add extensions, lstat,
64320         pathmax, stdlib.
64321         (Files): Drop pathmax.h.
64322         (configure.ac): Adjust macro name.
64323         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
64324         lstat, stdlib, sys_stat.
64325         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
64326         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
64327         extensions.
64328         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
64329         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
64330         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
64331         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
64332         declaration, if available.
64333         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
64334         we can rely on the readlink module.
64335         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
64336         (includes): Use <unistd.h> unconditionally.
64338 2009-09-17  Eric Blake  <ebb9@byu.net>
64340         maint: make Include sections of modules consistent
64341         * modules/alloca: Use only header name; no need to list #include.
64342         * modules/alloca-opt: Likewise.
64343         * modules/arpa_inet: Likewise.
64344         * modules/canon-host: Likewise.
64345         * modules/configmake: Likewise.
64346         * modules/dirent: Likewise.
64347         * modules/eealloc: Likewise.
64348         * modules/environ: Likewise.
64349         * modules/fchdir: Likewise.
64350         * modules/fcntl: Likewise.
64351         * modules/fcntl-h: Likewise.
64352         * modules/gethrxtime: Likewise.
64353         * modules/gettime: Likewise.
64354         * modules/ignore-value: Likewise.
64355         * modules/inet_ntop: Likewise.
64356         * modules/inet_pton: Likewise.
64357         * modules/inttypes: Likewise.
64358         * modules/isnand-nolibm: Likewise.
64359         * modules/isnanf-nolibm: Likewise.
64360         * modules/mbchar: Likewise.
64361         * modules/mbfile: Likewise.
64362         * modules/mbiter: Likewise.
64363         * modules/mbuiter: Likewise.
64364         * modules/netdb: Likewise.
64365         * modules/netinet_in: Likewise.
64366         * modules/nproc: Likewise.
64367         * modules/pagealign_alloc: Likewise.
64368         * modules/poll: Likewise.
64369         * modules/printf-frexp: Likewise.
64370         * modules/pthread: Likewise.
64371         * modules/putenv: Likewise.
64372         * modules/random_r: Likewise.
64373         * modules/relocatable-prog: Likewise.
64374         * modules/search: Likewise.
64375         * modules/select: Likewise.
64376         * modules/selinux-h: Likewise.
64377         * modules/settime: Likewise.
64378         * modules/signal: Likewise.
64379         * modules/size_max: Likewise.
64380         * modules/socklen: Likewise.
64381         * modules/ssize_t: Likewise.
64382         * modules/stdarg: Likewise.
64383         * modules/stdbool: Likewise.
64384         * modules/stddef: Likewise.
64385         * modules/stdint: Likewise.
64386         * modules/stdio: Likewise.
64387         * modules/stdlib: Likewise.
64388         * modules/string: Likewise.
64389         * modules/strings: Likewise.
64390         * modules/sys_file: Likewise.
64391         * modules/sys_ioctl: Likewise.
64392         * modules/sys_select: Likewise.
64393         * modules/sys_socket: Likewise.
64394         * modules/sys_stat: Likewise.
64395         * modules/sys_time: Likewise.
64396         * modules/sys_times: Likewise.
64397         * modules/sys_utsname: Likewise.
64398         * modules/sys_wait: Likewise.
64399         * modules/sysexits: Likewise.
64400         * modules/time: Likewise.
64401         * modules/times: Likewise.
64402         * modules/tmpfile: Likewise.
64403         * modules/trim: Likewise.
64404         * modules/unistd: Likewise.
64405         * modules/wchar: Likewise.
64406         * modules/wctype: Likewise.
64408 2009-09-17  Bruno Haible  <bruno@clisp.org>
64410         Make getdate.y compile on QNX and NetBSD 5 / i386.
64411         * m4/getdate.m4 (gl_GETDATE): Conditionally define
64412         TIME_T_FITS_IN_LONG_INT.
64413         * lib/getdate.y (long_time_t): New type.
64414         (relative_time): Change type of 'seconds' field to long_time_t.
64415         (get_date): Update types of local variables. Check against overflow
64416         during conversion from long_time_t to time_t.
64417         Reported by Matt Kraai <kraai@ftbfs.org>
64418         and Hasso Tepper <hasso@netbsd.org>.
64420 2009-09-17  Bruno Haible  <bruno@clisp.org>
64422         * modules/COPYING: Update copyright years.
64423         * modules/README: Likeiwse.
64424         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
64425         Reported by Ian Beckwith <ianb@erislabs.net>.
64427 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
64429         * users.txt: Update references for gnuit package.
64431 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
64433         * m4/getdelim.m4: Fix typo in copyright line.
64435 2009-09-17  Bruno Haible  <bruno@clisp.org>
64437         * lib/atoll.c: Use the standard header with GPL copyright.
64438         * lib/argz.in.h: Likewise.
64439         * lib/glob.c: Likewise.
64440         * lib/glob-libc.h: Likewise.
64441         * lib/random_r.c: Likewise.
64442         * lib/siglist.h: Likewise.
64443         * lib/strsignal.c: Likewise.
64444         Reported by Ian Beckwith <ianb@erislabs.net>.
64446 2009-09-17  Eric Blake  <ebb9@byu.net>
64448         rmdir: ensure correct dependency order
64449         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
64451 2009-09-17  Bruno Haible  <bruno@clisp.org>
64453         Disable assertion that fails on NetBSD 5 / i386.
64454         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
64455         Reported by Sam Steingold <sds@gnu.org>
64456         and Hasso Tepper <hasso@netbsd.org>.
64458 2009-09-16  Eric Blake  <ebb9@byu.net>
64460         unlinkdir: port to mingw
64461         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
64462         on which no one can unlink a directory.
64464         stdlib: sort witness names
64465         * modules/stdlib (Makefile.am): Sort replacements.
64466         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
64467         * lib/stdlib.in.h: Likewise.
64469         parse-duration-tests: avoid link failure
64470         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
64471         LIBINTL.
64472         Reported by Tom G. Christensen.
64474         openat-tests: ensure unlinkat behaves like rmdir
64475         * tests/test-rmdir.c (main): Factor guts...
64476         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
64477         * modules/rmdir-tests (Files): Ship new file.
64478         * modules/openat-tests: New test.
64479         * tests/test-unlinkat.c: Likewise.
64481         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
64482         * modules/rmdir-errno (Status, Notice): Now obsolete.
64484         rmdir: work around cygwin 1.5.x and mingw bugs
64485         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
64486         * lib/rmdir.c (rmdir): Work around it.
64487         * modules/rmdir (Status, Notice): No longer obsolete.
64488         (Files): Add dos.m4.
64489         (Depends-on): Add unistd.
64490         (configure.ac): Set witnesses.
64491         (License): Relax to LGPLv2+.
64492         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
64493         * modules/unistd (Makefile.am): Substitute witnesses.
64494         * lib/unistd.in.h (rmdir): Declare replacement.
64495         * doc/posix-functions/rmdir.texi (rmdir): Document this.
64496         * modules/rmdir-tests: New tests.
64497         * tests/test-rmdir.c: Likewise.
64499 2009-09-15  Eric Blake  <ebb9@byu.net>
64501         fchdir: improve use of replacement functions
64502         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
64503         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
64504         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
64505         REPLACE_CLOSEDIR.
64506         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
64507         * modules/sys_stat (Makefile.am): Substitute correct witness.
64508         * modules/dirent (Makefile.am): Likewise.
64509         * modules/unistd (Makefile.am): Likewise.
64510         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
64511         * lib/unistd.in.h (dup): Likewise.
64512         * lib/sys_stat.in.h (fstat): Likewise.
64514         maint: ignore gnulib-tool temp files
64515         * .gitignore: Ignore files created during gnulib-tool --test.
64517 2009-09-13  Jim Meyering  <meyering@redhat.com>
64519         posixtm: don't reject a time that specify "60" as the number of seconds
64520         * lib/posixtm.c (posixtime): The code to reject invalid dates
64521         would also reject a time specified with the .60 suffix.
64522         But POSIX allows that, in order to accommodate leap seconds.
64523         So don't reject it.
64524         (main): Adjust tests accordingly.
64525         * modules/posixtm (Depends-on): Add stpcpy.
64527 2009-09-11  Jim Meyering  <meyering@redhat.com>
64529         announce-gen: include [$release_type] in emitted Subject:
64530         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
64531         e.g., [stable] in the emitted Subject: line.
64533 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64535         Remove obsolete macros from several modules.
64536         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
64537         obsolete Autoconf macros with their modern counterparts.
64538         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
64539         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
64540         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
64541         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
64542         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
64543         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
64544         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
64545         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
64546         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
64547         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
64548         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
64549         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
64550         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
64551         * m4/sockets.m4 (gl_SOCKETS): Likewise.
64552         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
64553         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
64554         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
64555         * m4/time_r.m4 (gl_TIME_R): Likewise.
64556         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
64557         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
64558         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
64560         Fix copyright header in build-aux scripts.
64561         * build-aux/git-version-gen: Fix copyright header to match GPLv3
64562         recommendation.
64563         * build-aux/ncftpput-ftp: Likewise.
64564         * build-aux/update-copyright: Likewise.
64566 2009-09-09  Eric Blake  <ebb9@byu.net>
64568         test-link: allow Linux choice of errno
64569         * tests/test-link.c (main): Relax test for alternate error.
64571         strndup: fix improper m4 caching
64572         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
64573         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
64574         (gl_PREREQ_STRNDUP): Delete.
64575         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
64576         * modules/string (Makefile.am): Substitute it.
64577         * lib/string.in.h (strndup): Modernize prototype.
64579         getcwd: port to mingw
64580         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
64581         different from the POSIX assumptions made throughout the getcwd
64582         module; fortunately, the mingw getcwd does not need replacement.
64583         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
64584         * modules/getcwd-tests: New test.
64585         * tests/test-getcwd.c: Likewise.
64587         link: fix platform bugs
64588         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
64589         * lib/link.c (link): Work around them.  Fix related mingw bug.
64590         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
64591         * modules/unistd (Makefile.am): Substitute it.
64592         * lib/unistd.in.h (link): Declare replacement.
64593         * doc/posix-functions/link.texi (link): Document this.
64594         * modules/link (Depends-on): Add strdup-posix, sys_stat.
64596         test-link: consolidate into single C program, test more cases
64597         * tests/test-link.sh: Delete.
64598         * tests/test-link.c: Test more error conditions.  Exposes bugs on
64599         at least Cygwin and Solaris.
64600         * modules/link-tests (Files): Remove unused file.
64601         (Depends-on): Add errno, sys_stat.
64602         (Makefile.am): Simplify.
64604 2009-09-08  Bruno Haible  <bruno@clisp.org>
64606         Work around towlower, towupper bug on mingw.
64607         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
64608         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
64609         * doc/posix-functions/towlower.texi: Mention the mingw bug.
64610         * doc/posix-functions/towupper.texi: Likewise.
64611         Reported by Eric Blake.
64613 2009-09-08  Jim Meyering  <meyering@redhat.com>
64615         build: don't try to run autoheader if we don't use it
64616         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
64617         is not used in configure.ac.
64619 2009-09-08  Eric Blake  <ebb9@byu.net>
64621         euidaccess: fix compilation error
64622         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
64624         rawmemchr: relax license
64625         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
64626         okay.
64627         Reported by Jim Meyering.
64629         mkfifoat: new module
64630         * modules/mkfifoat: New file.
64631         * lib/mkfifoat.c: Likewise.
64632         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
64633         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
64634         * modules/sys_stat (Makefile.am): Use them.
64635         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
64636         * MODULES.html.sh (File system functions): Mention module.
64637         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
64638         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
64639         * modules/mkfifoat-tests: New test.
64640         * tests/test-mkfifoat.c: Likewise.
64642         strchrnul: relax license
64643         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
64644         okay.
64645         Reported by Jim Meyering.
64647 2009-09-08  Eric Blake  <ebb9@byu.net>
64649         fstatat: fix compilation on Solaris
64650         * lib/fstatat.c (includes): Add fcntl.h.
64651         Reported by Pádraig Brady.
64653 2009-09-07  Eric Blake  <ebb9@byu.net>
64655         rename: modernize replacement
64656         * modules/rename (Depends-on): Add stdio.
64657         (configure.ac): Declare witness.
64658         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
64659         stdio take care of replacement.
64660         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
64661         * modules/stdio (Makefile.am): Substitute them.
64662         * lib/stdio.in.h (rename): Declare replacement.
64663         * lib/rename.c (includes): Allow cross-compilation to non-windows
64664         machines.
64665         * doc/posix-functions/rename.texi (rename): Improve
64666         documentation.
64668         stdio: sort witness names
64669         * modules/stdio (Makefile.am): Sort replacements.
64670         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
64671         * lib/stdio.in.h: Likewise.
64673         getcwd: minor cleanups
64674         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
64675         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
64677         openat: provide more convenience names
64678         * modules/faccessat (configure.ac): Add C witness.
64679         * lib/unistd.in.h (readlinkat): Fix typo.
64680         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
64681         convenience wrappers.
64682         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
64683         wrappers in syntax checks.
64685 2009-09-06  Eric Blake  <ebb9@byu.net>
64687         doc: fix comments in recent patches
64688         * lib/faccessat.c: Mention correct function.
64689         * lib/fchmodat.c: Likewise.
64690         * lib/fchownat.c: Likewise.
64691         * lib/symlinkat.c: Likewise.
64692         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
64693         constants.
64695         faccessat, symlinkat: continue cleanup of previous patch
64696         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
64697         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
64698         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
64699         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
64700         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
64701         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
64702         set.
64704 2009-09-06  Bruno Haible  <bruno@clisp.org>
64706         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
64707         (fstatat): Declare if GNULIB_FSTATAT is set.
64708         (mkdirat): Declare if GNULIB_MKDIRAT is set.
64709         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
64710         (unlinkat): Declare if GNULIB_UNLINKAT is set.
64711         * modules/fcntl-h (Files): Remove m4/openat.m4.
64712         * modules/sys_stat (Files): Remove m4/openat.m4.
64713         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
64714         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
64715         * modules/unistd (Files): Remove m4/openat.m4.
64716         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
64717         GNULIB_OPENAT.
64718         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
64719         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
64720         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
64721         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
64722         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
64723         gl_OPENAT_DEFAULTS.
64724         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
64725         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
64726         Don't require gl_OPENAT_DEFAULTS.
64727         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
64728         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
64729         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
64730         (gl_OPENAT_DEFAULTS): Remove macro.
64732 2009-09-06  Bruno Haible  <bruno@clisp.org>
64734         * modules/openat (configure.ac): Remove unneeded witness.
64736 2009-09-06  Bruno Haible  <bruno@clisp.org>
64738         Set errno to ENOSYS when a function is entirely unsupported.
64739         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
64740         EOPNOTSUPP.
64741         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
64742         * modules/chown (Depends-on): Remove errno.
64744 2009-09-06  Bruno Haible  <bruno@clisp.org>
64746         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
64748 2009-09-06  Bruno Haible  <bruno@clisp.org>
64750         * lib/sys_stat.in.h: Fix preprocessor command indentation.
64752 2009-09-06  Ben Pfaff  <blp@gnu.org>
64753             Bruno Haible  <bruno@clisp.org>
64755         Work around a glibc bug in strtok_r.
64756         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
64757         Undefine if UNDEFINE_STRTOK_R is set.
64758         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
64759         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
64760         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
64761         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
64762         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
64763         UNDEFINE_STRTOK_R.
64764         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
64766 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
64768         exclude: minor fix
64769         * lib/exclude.c: Include wctype.h
64771 2009-09-06  Akim Demaille  <demaille@gostai.com>
64773         bootstrap: improve error message
64774         * build-aux/bootstrap (find_tool): Upon failure, report the list
64775         of candidates.
64776         Honor the initial value of the envvar.
64778 2009-09-05  Eric Blake  <ebb9@byu.net>
64780         symlinkat: new module
64781         * modules/symlinkat: New file.
64782         * lib/symlinkat.c: Likewise.
64783         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
64784         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
64785         * modules/unistd (Makefile.am): Use them.
64786         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
64787         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
64788         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
64789         * MODULES.html.sh (File system functions): Mention module.
64790         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
64791         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
64792         * modules/symlinkat-tests: New test.
64793         * tests/test-symlinkat.c: Likewise.
64795         test-openat-safer: add more checks
64796         * tests/test-openat-safer.c (main): Check more code paths.
64798 2009-09-05  Jim Meyering  <meyering@redhat.com>
64800         syntax-check: detect unnecessary inclusion of openat.h
64801         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
64803 2009-09-05  Bruno Haible  <bruno@clisp.org>
64805         Support towlower, towupper.
64806         * doc/posix-functions/towlower.texi: Mention module wctype.
64807         * doc/posix-functions/towupper.texi: Likewise.
64808         * lib/wctype.in.h (towlower, towupper): New functions.
64809         * tests/test-wctype.c: Include stdio.h, stdlib.h.
64810         (ASSERT): New macro.
64811         (e): New variable.
64812         (main): Test also towlower, towupper. Test WEOF argument.
64813         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
64815 2009-09-05  Bruno Haible  <bruno@clisp.org>
64817         Fix conversion behaviour when the input is invalid.
64818         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
64819         mark occurring in first pass of indirect conversion.
64820         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
64821         input.
64822         Found by clang's static analyzer.
64824 2009-09-05  Bruno Haible  <bruno@clisp.org>
64826         * tests/test-striconveh.c (main): Test indirect conversion on platforms
64827         where direct conversion is possible.
64829 2009-09-04  Eric Blake  <ebb9@byu.net>
64831         openat: fail with ENOENT on empty name
64832         * lib/openat-proc.c (openat_proc_name): Special-case the empty
64833         buffer.
64835         link-follow: fix logic bug in prior patch
64836         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
64837         reversed sense of yes and no in prior patch.  Avoid confusing
64838         compilation failure with desired semantics.
64840         link-follow: accommodate mingw and cross-compilation
64841         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
64842         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
64843         cross-compilation results to -1, to make linkat easier to
64844         implement when cross-compiling.  Trivially support mingw.
64845         * modules/link-follow (configure.ac): Call new name.
64846         * NEWS: Mention this.
64848 2009-09-03  Eric Blake  <ebb9@byu.net>
64850         faccessat: compile replacement
64851         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
64852         needed.
64854         fts: fix compilation error
64855         * lib/fts.c (includes): Re-add "openat.h", for
64856         openat_needs_fchdir.
64858         faccessat: new module
64859         * modules/faccessat: New file.
64860         * lib/faccessat.c: Likewise.
64861         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
64862         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
64863         * modules/unistd (Makefile.am): Use it.
64864         * lib/unistd.in.h (faccessat): Declare it.
64865         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
64866         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
64867         * MODULES.html.sh (File system functions): Mention it.
64868         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
64869         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
64871         euidaccess: prefer POSIX over non-standard implementation
64872         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
64873         * lib/euidaccess.c (euidaccess): Use it if available.
64875         openat: make template easier to use
64876         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
64877         AT_FUNC_F2 to be undefined.
64878         (VALIDATE_FLAG): New macro; use it to reject bad flags.
64879         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
64880         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
64881         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
64882         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
64883         Likewise.
64884         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
64885         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
64886         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
64887         Likewise.
64889         openat: declare in POSIX headers
64890         * NEWS: Mention this.
64891         * modules/openat (configure.ac): Declare witnesses.
64892         (Depends-on): Add fcntl-h, sys_stat, unistd.
64893         (Include): Mention correct headers.
64894         * modules/fcntl-h (Depends-on): Add link-warning.
64895         (Files): Add openat.m4.
64896         (Makefile.am): Substitute witnesses.
64897         * modules/sys_stat (Files, Makefile.am): Likewise.
64898         * modules/unistd (Files, Makefile.am): Likewise.
64899         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
64900         (gl_OPENAT_DEFAULTS): New macro.
64901         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
64902         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
64903         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
64904         (SYS_STAT_H): Remove unused variable.
64905         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
64906         * lib/fcntl--.h (includes): Remove unneeded header.
64907         * lib/openat-safer.c (includes): Likewise.
64908         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
64909         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
64910         appropriate headers.
64911         (__OPENAT_PREFIX): Delete.
64912         * lib/fcntl.in.h (openat): Provide declaration.
64913         (AT_FDCWD): Fix Solaris bug.
64914         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
64915         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
64916         * lib/fchmodat.c (includes):  Adjust to find declaration.
64917         * lib/fchownat.c (includes): Likewise.
64918         * lib/mkdirat.c (includes): Likewise.
64919         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
64920         still visible.
64922 2009-09-02  Eric Blake  <ebb9@byu.net>
64924         errno: use consistently
64925         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
64926         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
64927         * lib/canonicalize.c (ELOOP): Likewise.
64928         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
64929         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
64930         * lib/lchown.c (EOPNOTSUPP): Likewise.
64931         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
64932         * lib/savewd.c (ESTALE): Likewise.
64933         * lib/settime.c (ENOSYS): Likewise.
64934         * lib/utimens.c (ENOSYS): Likewise.
64935         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
64936         * lib/chdir-safer.c (ELOOP): Likewise.
64937         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
64938         * modules/c-stack (Depends-on): Add errno.
64939         * modules/canonicalize (Depends-on): Likewise.
64940         * modules/chdir-safer (Depends-on): Likewise.
64941         * modules/fdopendir (Depends-on): Likewise.
64942         * modules/inet_ntop (Depends-on): Likewise.
64943         * modules/inet_pton (Depends-on): Likewise.
64944         * modules/lchown (Depends-on): Likewise.
64945         * modules/openat (Depends-on): Likewise.
64946         * modules/savewd (Depends-on): Likewise.
64947         * modules/settime (Depends-on): Likewise.
64948         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
64950         fts: avoid leaking fds
64951         * modules/fts (Depends-on): Add cloexec.
64952         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
64953         flag.
64955         fts: make directory fds more robust
64956         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
64957         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
64959         backupfile, chdir-long, fts, savedir: make safer
64960         * lib/backupfile.c (includes): Use "dirent--.h", since
64961         numbered_backup can write to stderr during readdir.
64962         * lib/savedir.c (includes): Likewise.
64963         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
64964         emulation can write to stderr on failure.
64965         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
64966         * lib/getcwd.c: Document why opendir_safer is unused.
64967         * lib/glob.c: Likewise.
64968         * lib/scandir.c: Likewise.
64969         * lib/openat-proc.c: Likewise, for open_safer.
64970         * modules/backupfile (Depends-on): Add dirent-safer.
64971         * modules/savedir (Depends-on): Likewise.
64972         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
64973         * modules/chdir-long (Depends-on): Add openat-safer.
64975         openat-safer: new module
64976         * modules/openat-safer: New file.
64977         * lib/openat-safer.c: Likewise.
64978         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
64979         * lib/fcntl-safer.h (openat_safer): Declare.
64980         * lib/fcntl--.h (openat): Override.
64981         * MODULES.html.sh (File descriptor based I/O): Mention it.
64982         * lib/openat.h: Add double-inclusion guards.
64983         * lib/openat.c (includes): Only include "fcntl-safer.h", not
64984         "fcntl--.h", so we can implement openat.
64985         * modules/openat-safer-tests: New test.
64986         * tests/test-openat-safer.c: New file.
64988         dirent-safer: new module
64989         * modules/dirent-safer: New file.
64990         * lib/dirent--.h: Likewise.
64991         * lib/dirent-safer.h: Likewise.
64992         * lib/opendir-safer.c: Likewise.
64993         * m4/dirent-safer.m4: Likewise.
64994         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
64995         * modules/dirent-safer-tests: New test.
64996         * tests/test-dirent-safer.c: New file.
64997         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
64999         fdopendir: optimize on mingw
65000         * lib/unistd.in.h (_gl_directory_name): New prototype.
65001         * lib/fchdir.c (_gl_directory_name): Implement it.
65002         (fchdir): Use it to simplify implementation.
65003         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
65004         fchdir, when available, to avoid calling [f]chdir().
65006         fdopendir: split into its own module
65007         * lib/openat.c (fdopendir): Move...
65008         * lib/fdopendir.c: ...into new file.
65009         * modules/fdopendir: New module.
65010         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
65011         * modules/openat (Depends-on): Add fdopendir.
65012         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
65013         fdopendir here.
65014         * modules/savedir (Depends-on): Only need fdopendir, not full
65015         openat.
65016         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
65017         * lib/openat.h (fdopendir): Drop prototype.
65018         * lib/dirent.in.h (fdopendir): Provide prototype.
65019         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
65020         * modules/dirent (Makefile.am): Substitute them.
65021         * MODULES.html.sh (File system functions): Mention it.
65022         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
65023         * modules/fdopendir-tests: New file.
65024         * tests/test-fdopendir.c: Likewise.
65026         fchdir: use more consistent macro convention
65027         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
65028         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
65029         REPLACE_FCHDIR, rather than relying on config.h macros.
65030         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
65031         inside a single make-time REPLACE_FCHDIR block, rather than using
65032         the config.h FCHDIR_REPLACEMENT.
65033         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
65034         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
65035         Manage fstat replacement.
65036         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
65037         REPLACE_FCHDIR.
65038         * modules/sys_stat (Files): Add m4/unistd_h.m4.
65039         (Makefile.am): Substitute REPLACE_FCHDIR.
65040         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
65041         FCHDIR_REPLACEMENT.
65042         * lib/dup-safer.c (dup_safer): Likewise.
65043         * lib/dup2.c (rpl_dup2): Likewise.
65044         * lib/dup3.c (rpl_dup3): Likewise.
65045         * lib/open.c (rpl_open): Likewise.
65047         fchdir: simplify error handling, and support dup3
65048         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
65049         stdbool, malloc-posix, realloc-posix.
65050         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
65051         (ensure_dirs_slot): Return false on allocation failure.
65052         (rpl_dup2): Delete.
65053         (_gl_register_dup): New function.
65054         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
65055         (_gl_register_fd): Close fd on allocation failure.
65056         * lib/fcntl.in.h (_gl_register_fd): Update signature.
65057         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
65058         prototype.
65059         (rpl_dup2_fchdir): Delete prototype.
65060         * lib/open.c (open): Update caller.
65061         * lib/dup2.c (dup2): Track fchdir metadata.
65062         * lib/dup3.c (dup3): Likewise.
65063         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
65064         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
65066 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65068         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
65069         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
65070         don't pass arguments to AC_OUTPUT.
65072 2009-09-02  Bruno Haible  <bruno@clisp.org>
65074         * modules/mkdtemp (License): Relicense under LGPLv2+.
65075         Reported by Paolo Bonzini.
65077 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65079         Replace uses of obsolete autoconf macros in Jim's modules.
65080         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
65081         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
65082         can evoke a warning from autoconf when run with -Wobsolete
65083         enabled.  They were declared obsolete for good reasons (see
65084         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
65085         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
65086         should not continue using the deprecated macros.
65087         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
65088         obsolete Autoconf macros with modern counterparts.
65089         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
65090         * m4/dos.m4 (gl_AC_DOS): Likewise.
65091         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
65092         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
65093         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
65094         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
65095         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
65096         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
65097         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
65098         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
65099         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
65100         Likewise.
65101         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
65102         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
65103         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
65104         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
65105         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
65106         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
65108 2009-09-01  Eric Blake  <ebb9@byu.net>
65110         fchdir: fix off-by-one bug in previous patch
65111         * lib/fchdir.c (rpl_fstat): Use correct bounds.
65112         (_gl_unregister_fd): Delete useless if.
65114 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
65116         maint.mk: sort the list of syntax-check rules
65117         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
65118         easier to get a sense of progress when the rules are run sequentially
65119         and take a long time.
65121 2009-09-01  Simon Josefsson  <simon@josefsson.org>
65123         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
65124         * modules/netinet_in: Likewise.
65125         * modules/sys_file: Likewise.
65126         * modules/sys_ioctl: Likewise.
65127         * modules/sys_select: Likewise.
65128         * modules/sys_socket: Likewise.
65129         * modules/sys_stat: Likewise.
65130         * modules/sys_time: Likewise.
65131         * modules/sys_times: Likewise.
65132         * modules/sys_utsname: Likewise.
65133         * modules/sys_wait: Likewise.
65135 2009-09-01  Jim Meyering  <meyering@redhat.com>
65137         fts: help ensure that return values are not ignored
65138         * lib/fts_.h (__GNUC_PREREQ): Define.
65139         (__attribute_warn_unused_result__): Define.
65140         (fts_children, fts_close, fts_open, fts_read): Declare with
65141         __attribute_warn_unused_result__.
65143         fts: fts_close now fails also when closing a dir file descriptor fails
65144         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
65145         and propagate to caller, along with errno.
65147         announce-gen: correct formatting in --help output
65148         * build-aux/announce-gen (usage): Move the one-line description in
65149         --help output "up", to where it belongs, just after Usage:.
65151 2009-08-31  Eric Blake  <ebb9@byu.net>
65153         fchdir: port to mingw
65154         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
65155         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
65156         opened, then use a substitute.
65157         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
65158         replacement.
65159         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
65160         (_gl_register_fd): No need to check stat if open already filters
65161         all directories.
65162         (fchdir): Fix error condition to match POSIX.
65163         * modules/fchdir (Depends-on): Add sys_stat.
65164         * doc/posix-functions/open.texi (open): Document the limitation.
65165         * modules/fchdir-tests: New file.
65166         * tests/test-fchdir.c: Likewise.
65168         canonicalize: allow cross-testing from cygwin to mingw
65169         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
65170         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
65171         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
65172         Likewise.
65173         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
65174         target does not support symlinks.
65175         * tests/test-canonicalize-lgpl.sh: Likewise.
65177         chown: avoid compilation warning on mingw
65178         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
65179         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
65180         mingw.
65181         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
65182         * modules/chown (Depends-on): Add errno.
65184 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
65186         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
65187         command.
65189 2009-08-31  Jim Meyering  <meyering@redhat.com>
65191         canonicalize: remove useless initialization
65192         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
65193         initialization of local, "end".
65195 2009-08-30  Bruno Haible  <bruno@clisp.org>
65197         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
65198         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
65199         ENOSYS.
65201 2009-08-30  Bruno Haible  <bruno@clisp.org>
65203         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
65204         /usr/xpg4/bin/tr when it exists.
65205         * tests/test-pipe-filter-gi1.sh: Likewise.
65207 2009-08-30  Bruno Haible  <bruno@clisp.org>
65209         Work around deficient /usr/bin/id program on Solaris.
65210         * tests/test-file-has-acl.sh (ID): New variable.
65211         * tests/test-set-mode-acl.sh (ID): Likewise.
65212         * tests/test-copy-acl.sh (ID): Likewise.
65213         * tests/test-copy-file.sh (ID): Likewise.
65215 2009-08-30  Bruno Haible  <bruno@clisp.org>
65217         New module 'xstriconveh'.
65218         * lib/xstriconveh.h: New file.
65219         * lib/xstriconveh.c: New file.
65220         * modules/xstriconveh: New file.
65222 2009-08-30  Bruno Haible  <bruno@clisp.org>
65224         Make it easier to use mem_cd_iconveh.
65225         * lib/striconveh.h (iconveh_t): New type.
65226         (iconveh_open, iconveh_close): New declarations.
65227         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
65228         with a single 'const iconveh_t *' argument.
65229         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
65230         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
65231         with a single 'const iconveh_t *' argument.
65232         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
65233         * tests/test-striconveh.c (main): Update.
65234         * NEWS: Mention the change.
65236 2009-08-30  Bruno Haible  <bruno@clisp.org>
65238         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
65239         problem.
65241 2009-08-30  Bruno Haible  <bruno@clisp.org>
65243         Work around iconv_open problem on Solaris.
65244         * lib/iconv_open-solaris.gperf: New file.
65245         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
65246         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
65247         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
65248         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
65249         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
65250         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
65252 2009-08-29  Jim Meyering  <meyering@redhat.com>
65254         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
65255         * top/maint.mk (cvs-check): Remove target; it was just an alias
65256         to the better-named vc-diff-check.
65257         (maintainer-distcheck): Remove rule.  It was used only from
65258         the (alpha/beta/major) target, and all of its commands but one
65259         were coreutils-specific.
65260         (vc-dist): Remove rule.
65261         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
65262         Run vc-diff-check, not vc-dist.
65263         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
65265 2009-08-27  Bruno Haible  <bruno@clisp.org>
65267         * tests/test-bitrotate.c (main): Remove test that uses a shift count
65268         of 0.
65270 2009-08-27  Bruno Haible  <bruno@clisp.org>
65272         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
65273         compilers.
65274         * doc/func.texi: Document the SunPRO C bug.
65276 2009-08-27  Bruno Haible  <bruno@clisp.org>
65278         Fix link error on Solaris.
65279         * tests/test-parse-duration.c (xstrdup): Remove function.
65281 2009-08-26  Pádraig Brady  <P@draigbrady.com>
65283         ignore-value: handle pointer types, too
65284         * lib/ignore-value.h (__attribute__): Remove definition.
65285         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
65286         of a more concise and more-often effective "(void) i" statement.
65287         (ignore_ptr): New function to suppress warnings from functions that
65288         return pointers, and to make it explicit that one function doesn't
65289         handle all cases.
65291 2009-08-25  Bruno Haible  <bruno@clisp.org>
65293         dup2: work around a Linux bug.
65294         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
65295         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
65296         * doc/posix-functions/dup2.texi: Mention the Linux bug.
65297         Reported by Simon Josefsson.
65299 2009-08-25  Jim Meyering  <meyering@redhat.com>
65301         libguestfs uses gnulib
65302         * users.txt: Add libguestfs.
65304 2009-08-24  Eric Blake  <ebb9@byu.net>
65306         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
65307         * lib/pipe2.c (includes): Add binary-io.h.
65308         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
65310 2009-08-24  Bruno Haible  <bruno@clisp.org>
65312         Tolerate declared but missing accept4 syscall.
65313         * lib/accept4.c (accept4): Invoke original accept4 function first, if
65314         available.
65315         * lib/sys_socket.in.h (accept4): If the function is already present,
65316         override it.
65317         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
65318         * modules/accept4 (Makefile.am): Compile accept4.c always.
65319         Reported by Paolo Bonzini and Eric Blake.
65321 2009-08-23  Bruno Haible  <bruno@clisp.org>
65323         New module 'accept4'.
65324         * lib/sys_socket.in.h (accept4): New declaration.
65325         * lib/accept4.c: New file.
65326         * m4/accept4.m4: New file.
65327         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
65328         GNULIB_ACCEPT4, HAVE_ACCEPT4.
65329         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
65330         HAVE_ACCEPT4.
65331         * modules/accept4: New file.
65332         * doc/glibc-functions/accept4.texi: Mention the new module.
65334 2009-08-24  Jim Meyering  <meyering@redhat.com>
65336         progname: also set global program_invocation_name, when possible
65337         Before this change, a libtool-enabled program that calls glibc's
65338         error function would report the program name as
65339         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
65340         * modules/progname (configure.ac): Check for a declaration of
65341         program_invocation_name.
65342         * lib/progname.c:  Include <errno.h>.
65343         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
65344         Set program_invocation_name.
65346 2009-08-23  Bruno Haible  <bruno@clisp.org>
65348         * lib/dup3.c: Include <string.h>.
65350 2009-08-23  Bruno Haible  <bruno@clisp.org>
65352         * lib/dup3.c (dup3): Test only once whether the system actually exists.
65353         * lib/pipe2.c (pipe2): Likewise.
65354         Suggested by Eric Blake.
65356 2009-08-23  Bruno Haible  <bruno@clisp.org>
65358         Tolerate declared but missing dup3 syscall.
65359         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
65360         * lib/unistd.in.h (dup3): If the function is already present,
65361         override it.
65362         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
65363         * modules/dup3 (Makefile.am): Compile dup3.c always.
65364         Reported by Paolo Bonzini.
65366 2009-08-23  Bruno Haible  <bruno@clisp.org>
65368         Tolerate declared but missing pipe2 syscall.
65369         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
65370         available.
65371         * lib/unistd.in.h (pipe2): If the function is already present,
65372         override it.
65373         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
65374         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
65375         Reported by Paolo Bonzini.
65377 2009-08-23  Bruno Haible  <bruno@clisp.org>
65379         * lib/pipe2.c (pipe2): Move #ifs inside function.
65381 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
65383         quotearg: document limitations of quote_these_too
65384         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
65385         those limitations are created.
65386         * lib/quotearg.h (set_char_quoting): Document that digits and
65387         letters that are special after backslash are not permitted.
65388         (quotearg_char): Cross-reference set_char_quoting documentation.
65390 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
65392         quotearg: implement custom_quoting_style
65393         * lib/quotearg.c: (struct quoting_options): Add left_quote and
65394         right_quote fields.
65395         (set_custom_quoting): New public function.
65396         (quotearg_buffer_restyled): Add left_quote and right_quote
65397         arguments, handle them very much like locale quoting, and update
65398         all uses.
65399         (quotearg_n_custom): New public function.
65400         (quotearg_n_custom_mem): New public function.
65401         (quotearg_custom): New public function.
65402         (quotearg_custom_mem): New public function.
65403         * lib/quotearg.h: Prototype and document new public functions.
65404         (enum quoting_style): For escape_quoting_style and
65405         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
65406         ignored even though they're otherwise like c_quoting_style.
65407         Add custom_quoting_style member and document with comparison to
65408         clocale_quoting_style.
65409         * tests/test-quotearg.c (custom_quotes): New array.
65410         (custom_results): New array.
65411         (main): Extend to test custom quoting.
65413 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
65415         quotearg: fix right quote escaping when it's in quote_these_too
65416         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
65417         quote, be sure to prepend only one backslash.
65418         * tests/test-quotearg.c (use_quote_double_quotes): New function.
65419         (main): Test it.
65421 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
65423         quotearg-tests: test escaping of embedded locale quotes
65424         * tests/test-quotearg.c (struct result_strings): Add member for
65425         new input.
65426         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
65427         (inputs): Add new input.
65428         (results_g): Add expected results.
65429         (flag_results): Likewise.
65430         (locale_results): Likewise.
65431         (compare_strings): Check those.
65433 2009-08-23  Bruno Haible  <bruno@clisp.org>
65435         Tests for module 'dup3'.
65436         * modules/dup3-tests: New file.
65437         * tests/test-dup3.c: New file.
65439         New module 'dup3'.
65440         * lib/unistd.in.h (dup3): New declaration.
65441         * lib/dup3.c: New file.
65442         * m4/dup3.m4: New file.
65443         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
65444         HAVE_DUP3.
65445         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
65446         * modules/dup3: New file.
65447         * doc/glibc-functions/dup3.texi: Mention the new module.
65449 2009-08-23  Bruno Haible  <bruno@clisp.org>
65451         Tweak the dup2 test.
65452         * tests/test-dup2.c (main): Create the test file empty. Verify that an
65453         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
65454         the test file is still empty. Fix argument order of lseek.
65456 2009-08-23  Bruno Haible  <bruno@clisp.org>
65458         Avoid test link errors when the modules getopt-gnu, gettext are used.
65459         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
65460         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
65462 2009-08-23  Bruno Haible  <bruno@clisp.org>
65464         Fix getdtablesize() on mingw.
65465         * lib/getdtablesize.c (getdtablesize): Implement differently.
65466         * lib/unistd.in.h (getdtablesize): Improve comment.
65468 2009-08-23  Bruno Haible  <bruno@clisp.org>
65470         New module 'mkostemp'.
65471         Based on Ulrich Drepper's 2007-08-10 change in glibc.
65472         * lib/stdlib.in.h (mksotemp): New declaration.
65473         * lib/mkostemp.c: New file, from glibc with modifications.
65474         * lib/tempname.h (GT_FILE): Remove outdated comment.
65475         (gen_tempname): Add flags argument.
65476         * lib/tempname.c (__GT_BIGFILE): Remove macro.
65477         (__GT_FILE): Map to 1.
65478         (small_open, large_open): Remove macros.
65479         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
65480         * lib/mkstemp.c (mkstemp): Update.
65481         * lib/mkdtemp.c (mkdtemp): Likewise.
65482         * m4/mkostemp.m4: New file.
65483         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
65484         HAVE_MKOSTEMP.
65485         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
65486         HAVE_MKOSTEMP.
65487         * modules/mkostemp: New file, based on modules/mkstemp.
65488         * doc/glibc-functions/mkostemp.texi: Mention the new module.
65489         * NEWS: Mention the change.
65491 2009-08-23  Bruno Haible  <bruno@clisp.org>
65493         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
65494         Reported by Eric Blake.
65496 2009-08-23  Bruno Haible  <bruno@clisp.org>
65498         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
65499         Reported by Eric Blake.
65501 2009-08-23  Bruno Haible  <bruno@clisp.org>
65503         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
65504         * modules/pipe2 (Depends-on): Likewise.
65506 2009-08-23  Eric Blake  <ebb9@byu.net>
65508         fcntl-h: add O_TTY_INIT support
65509         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
65510         * tests/test-fcntl-h.c (o): Test it.
65511         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
65513         fcntl-h: rename from fcntl, in preparation for fcntl(2)
65514         * modules/fcntl: Move <fcntl.h> header replacement...
65515         * modules/fcntl-h: ...to new name, so as not to collide with
65516         like-named function.
65517         * tests/test-fcntl.c: Rename...
65518         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
65519         * modules/fcntl-tests: Rename...
65520         * modules/fcntl-h-tests: ...to this.  Update test file name.
65521         * modules/chdir-long (Depends-on): Update clients.
65522         * modules/chdir-safer (Depends-on): Likewise.
65523         * modules/fcntl-safer (Depends-on): Likewise.
65524         * modules/fts (Depends-on): Likewise.
65525         * modules/mkancesdirs (Depends-on): Likewise.
65526         * modules/mkdir-p (Depends-on): Likewise.
65527         * modules/open (Depends-on): Likewise.
65528         * modules/savewd (Depends-on): Likewise.
65529         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
65530         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
65532 2009-08-22  Bruno Haible  <bruno@clisp.org>
65534         * modules/binary-io (License): Relicense under LGPL.
65535         * modules/pipe2 (License): Likewise.
65537 2009-08-22  Bruno Haible  <bruno@clisp.org>
65539         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
65540         return value.
65541         * lib/pipe-filter-gi.c (filter_init): Likewise.
65542         Reported by Eric Blake.
65544 2009-08-22  Bruno Haible  <bruno@clisp.org>
65546         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
65547         * modules/pipe (Depends-on): Add pipe2.
65549 2009-08-22  Bruno Haible  <bruno@clisp.org>
65551         Tests for module 'pipe2'.
65552         * modules/pipe2-tests: New file.
65553         * tests/test-pipe2.c: New file.
65555         New module 'pipe2'.
65556         * lib/unistd.in.h (pipe2): New declaration.
65557         * lib/pipe2.c: New file.
65558         * m4/pipe2.m4: New file.
65559         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
65560         HAVE_PIPE2.
65561         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
65562         * modules/pipe2: New file.
65563         * doc/glibc-functions/pipe2.texi: Mention the new module.
65565 2009-08-22  Bruno Haible  <bruno@clisp.org>
65567         Reference some new glibc functions.
65568         * doc/glibc-functions/accept4.texi: New file.
65569         * doc/glibc-functions/dup3.texi: New file.
65570         * doc/glibc-functions/mkostemp.texi: New file.
65571         * doc/glibc-functions/pipe2.texi: New file.
65572         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
65573         (Glibc sys/socket.h): Refer to accept4.
65574         (Glibc unistd.h): Refer to dup3, pipe2.
65575         Reported by Eric Blake.
65577 2009-08-22  Jim Meyering  <meyering@redhat.com>
65578             Bruno Haible  <bruno@clisp.org>
65580         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
65581         This makes it so packages using automake-1.11's silent-rules option
65582         can print e.g., a single "GEN    configmake.h" line, rather than
65583         the 30+ statements that perform the job.  If you want to see the
65584         actual commands, you can still run "make V=1".
65585         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
65586         so that make output is abbreviated when those variables are defined
65587         appropriately.
65588         * modules/argz: Likewise.
65589         * modules/arpa_inet: Likewise.
65590         * modules/byteswap: Likewise.
65591         * modules/configmake: Likewise.
65592         * modules/dirent: Likewise.
65593         * modules/errno: Likewise.
65594         * modules/fcntl: Likewise.
65595         * modules/float: Likewise.
65596         * modules/fnmatch: Likewise.
65597         * modules/getopt-posix: Likewise.
65598         * modules/glob: Likewise.
65599         * modules/iconv_open: Likewise.
65600         * modules/inttypes: Likewise.
65601         * modules/localcharset: Likewise.
65602         * modules/locale: Likewise.
65603         * modules/math: Likewise.
65604         * modules/netdb: Likewise.
65605         * modules/netinet_in: Likewise.
65606         * modules/poll: Likewise.
65607         * modules/posix_spawnp-tests: Likewise.
65608         * modules/sched: Likewise.
65609         * modules/search: Likewise.
65610         * modules/selinux-h: Likewise.
65611         * modules/signal: Likewise.
65612         * modules/spawn: Likewise.
65613         * modules/stdarg: Likewise.
65614         * modules/stdbool: Likewise.
65615         * modules/stddef: Likewise.
65616         * modules/stdint: Likewise.
65617         * modules/stdio: Likewise.
65618         * modules/stdlib: Likewise.
65619         * modules/string: Likewise.
65620         * modules/strings: Likewise.
65621         * modules/sys_file: Likewise.
65622         * modules/sys_ioctl: Likewise.
65623         * modules/sys_select: Likewise.
65624         * modules/sys_socket: Likewise.
65625         * modules/sys_stat: Likewise.
65626         * modules/sys_time: Likewise.
65627         * modules/sys_times: Likewise.
65628         * modules/sys_utsname: Likewise.
65629         * modules/sys_wait: Likewise.
65630         * modules/sysexits: Likewise.
65631         * modules/time: Likewise.
65632         * modules/unistd: Likewise.
65633         * modules/wchar: Likewise.
65634         * modules/wctype: Likewise.
65636 2009-08-22  Jim Meyering  <meyering@redhat.com>
65638         announce-gen: detect write failure
65639         * build-aux/announce-gen: Add Coda at end.
65640         Remove equivalent-but-more-verbose block at top.
65642 2009-08-19  Akim Demaille  <demaille@gostai.com>
65644         bootstrap: --help to stdout.
65645         * bootstrap (usage): Don't send --help to stderr.
65646         Use a here doc instead of a long string.
65648 2009-08-21  Eric Blake  <ebb9@byu.net>
65650         test-popen-safer: split from test-popen
65651         * tests/test-popen.c (main): Move...
65652         * tests/test-popen.h: ...into new file.
65653         * tests/test-popen-safer2.c: New file.
65654         * modules/popen-tests (Files): Add test-popen.h.
65655         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
65656         Suggested by Bruno Haible.
65658         test-fcntl-safer: split from test-open
65659         * tests/test-open.c (main): Move...
65660         * tests/test-open.h: ...into new file.
65661         * tests/test-fcntl-safer.c: New file.
65662         * modules/open-tests (Files): Add test-open.h.
65663         * modules/fcntl-safer-tests: New file.
65664         Suggested by Bruno Haible.
65666         test-fopen-safer: split from test-fopen
65667         * tests/test-fopen.c (main): Move...
65668         * tests/test-fopen.h: ...into new file.
65669         * tests/test-fopen-safer.c: New file.
65670         * modules/fopen-tests (Files): Add test-fopen.h.
65671         * modules/fopen-safer-tests: New file.
65672         Suggested by Bruno Haible.
65674 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
65676         popen-safer: test O_CLOEXEC at run-time.
65677         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
65679 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
65681         fcntl: move more flags to the header
65682         * lib/cloexec.c: Do not define FD_CLOEXEC here.
65683         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
65684         * lib/fcntl.in.h: Do both things here.
65686 2009-08-21  Jim Meyering  <meyering@redhat.com>
65688         consistently remove $@-t before redirecting to it
65689         * modules/argz: Remove $@-t and $@ before redirecting to the former.
65690         * modules/alloca-opt: Likewise.
65691         * modules/byteswap: Likewise.
65692         * modules/fnmatch: Likewise.
65693         * modules/getopt-posix: Likewise.
65694         * modules/glob: Likewise.
65695         * modules/poll: Likewise.
65696         * modules/posix_spawnp-tests: Likewise.
65697         * modules/sys_socket: Likewise.
65698         * modules/sysexits: Likewise.
65700 2009-08-21  Eric Blake  <ebb9@byu.net>
65702         popen: simplify access to original popen
65703         * lib/popen.c (rpl_popen): No need to worry about popen being a
65704         macro.
65705         Reported by Bruno Haible.
65707 2009-08-20  Eric Blake  <ebb9@byu.net>
65709         build: avoid some compiler warnings
65710         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
65711         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
65712         type.
65713         (new_exclude_segment, excluded_file_pattern_p)
65714         (excluded_file_name_p): Reduce scope.
65715         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
65716         old-style declaration.
65718 2009-08-20  Simon Josefsson  <simon@josefsson.org>
65720         * tests/test-exclude1.sh: Handle Windows EOL.
65721         * tests/test-exclude2.sh: Likewise.
65722         * tests/test-exclude3.sh: Likewise.
65723         * tests/test-exclude4.sh: Likewise.
65724         * tests/test-exclude5.sh: Likewise.
65725         * tests/test-exclude6.sh: Likewise.
65726         * tests/test-exclude7.sh: Likewise.
65728 2009-08-19  Akim Demaille  <demaille@gostai.com>
65730         bootstrap: find sha1sum when named gsha1sum.
65731         * bootstrap (find_tool): New.
65732         ($SHA1SUM): New.
65733         Use it.
65735 2009-08-20  Jim Meyering  <meyering@redhat.com>
65737         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
65738         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
65739         expression that converts "." in a file name to "\." in the resulting
65740         regexp.  Start with a dummy statement, so that prior shell variable
65741         definitions are expanded portably.  Reported by Simon Josefsson.
65743 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
65745         Fix polling for writeability of a screen buffer.
65746         * lib/poll.c: Distinguish input and screen buffers for the
65747         Win32 implementation.
65748         * lib/select.c: Likewise.
65750 2009-08-19  Eric Blake  <ebb9@byu.net>
65752         popen-safer: prevent popen from clobbering std descriptors
65753         * modules/popen-safer: New file.
65754         * lib/popen-safer.c: Likewise.
65755         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
65756         * lib/stdio--.h (popen): Provide override.
65757         * lib/stdio-safer.h (popen_safer): Provide declaration.
65758         * tests/test-popen.c (includes): Partially test this.
65759         * modules/popen-safer-tests: New file, for more tests.
65760         * tests/test-popen-safer.c: Likewise.
65761         * MODULES.html.sh (file stream based Input/Output): Mention it.
65763         tests: test some of the *-safer modules
65764         * modules/fopen-safer (Depends-on): Add fopen.
65765         * modules/fcntl-safer (Depends-on): Add fcntl.
65766         * modules/stdlib-safer (Depends-on): Add stdlib.
65767         (configure.ac): Set indicator.
65768         * modules/unistd-safer (configure.ac): Likewise.
65769         * modules/tmpfile-safer (configure.ac): Likewise.
65770         (Depends-on): Add tmpfile.
65771         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
65772         active.
65773         * tests/test-fopen.c (includes): Test safer versions when they are
65774         in use.
65775         * tests/test-open.c (includes): Likewise.
65777         popen: fix cygwin 1.5 bug when stdin closed
65778         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
65779         * modules/popen: New file.
65780         * modules/popen-tests: Likewise.
65781         * tests/test-popen.c: Likewise.
65782         * m4/popen.m4: Likewise.
65783         * lib/popen.c: Likewise.
65784         * lib/stdio.in.h (popen): New declaration.
65785         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
65786         * modules/stdio (Makefile.am): Likewise.
65787         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
65789 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
65791         maint.mk: give full control over update-copyright exclusions
65792         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
65793         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
65794         (update-copyright): Don't force inclusion of top-level
65795         ChangeLog.  Don't force exclusion of all COPYING files, but make
65796         them the default exclusion instead.
65798 2009-08-16  Bruno Haible  <bruno@clisp.org>
65800         Fix test failures on Solaris 10.
65801         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
65802         tests when Solaris iconv() is used.
65803         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
65804         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
65805         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
65806         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
65807         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
65809 2009-08-16  Bruno Haible  <bruno@clisp.org>
65811         Fix test failures on Solaris 10.
65812         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
65813         'tr' program and pass it as first argument.
65814         * tests/test-pipe-filter-gi1.sh: Likewise.
65815         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
65816         program as first argument.
65817         * tests/test-pipe-filter-gi1.c (main): Likewise.
65819 2009-08-16  Eric Blake  <ebb9@byu.net>
65821         fpurge: fix previous commits
65822         * modules/fpurge (Makefile.am): Make replacement conditional,
65823         partially reverting 2007-04-29 change; missed in previous
65824         attempt.
65825         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
65826         is missing.
65828 2009-08-16  Bruno Haible  <bruno@clisp.org>
65830         Clarify fpurge's effect on the file position.
65831         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
65832         * tests/test-fpurge.c (main): Make a second pass for checking the file
65833         position.
65835 2009-08-16  Bruno Haible  <bruno@clisp.org>
65837         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
65838         declaration of fpurge is missing.
65839         * tests/test-fpurge.c (main): Check that the file has not more contents
65840         than expected. Close the file before removing it.
65842 2009-08-15  Eric Blake  <ebb9@byu.net>
65844         fpurge: don't wrap working cygwin implementation
65845         * lib/fpurge.c (fpurge): Fix comment typo.
65846         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
65847         1.7 to avoid replacement.
65848         * tests/test-fpurge.c (main): Enhance test.
65850 2009-08-15  Eric Blake  <ebb9@byu.net>
65851         and Jim Meyering  <meyering@redhat.com>
65853         test-update-copyright: skip if perl is insufficient
65854         * tests/test-update-copyright.sh: Failure to run maintainer tool
65855         should not cause testsuite failure on cygwin 1.5.
65857 2009-08-14  Eric Blake  <ebb9@byu.net>
65859         doc: mention more functions added in cygwin 1.7.0
65860         * doc/posix-headers/limits.texi (limits.h): Update for recent
65861         cygwin additions.
65862         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
65863         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
65864         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
65865         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
65866         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
65868 2009-08-14  Eric Blake  <ebb9@byu.net>
65870         maint.mk: simplify update-copyright rule
65871         * top/maint.mk (update-copyright-local): Delete, and document how
65872         to do it in cfg.mk instead.
65873         (update-copyright-exclude-regexp): Delete, and document how to do
65874         it in .x-update-copyright instead.
65875         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
65876         exclude ChangeLog.
65878 2009-08-14  Bruno Haible  <bruno@clisp.org>
65880         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
65882 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
65884         maint.mk: support update-copyright-env
65885         * top/maint.mk (update-copyright-env): Define place-holder.
65886         (update-copyright): Expand $(update-copyright-env) before
65887         invoking update-copyright.
65889 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
65891         update-copyright: implement forced reformatting
65892         * build-aux/update-copyright: Implement and document
65893         UPDATE_COPYRIGHT_FORCE.
65894         * tests/test-update-copyright.sh: Test it.
65896 2009-08-14  Eric Blake  <ebb9@byu.net>
65897         and Bruno Haible  <bruno@clisp.org>
65899         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
65900         * tests/test-locale.c: Revert previous patch related to NULL.
65901         * tests/test-stdio.c: Likewise.
65902         * tests/test-stdlib.c: Likewise.
65903         * tests/test-string.c: Likewise.
65904         * tests/test-unistd.c: Likewise.
65905         * modules/time-tests (Depends-on): Add verify.
65906         * modules/wchar-tests (Depends-on): Likewise.
65907         * tests/test-time.c: Test for NULL compliance.
65908         * tests/test-wchar.c: Likewise.
65909         * modules/locale (Depends-on): Add stddef.
65910         * modules/stdio (Depends-on): Likewise.
65911         * modules/stdlib (Depends-on): Likewise.
65912         * modules/string (Depends-on): Likewise.
65913         * modules/time (Depends-on): Likewise.
65914         * modules/unistd (Depends-on): Likewise.
65915         * modules/wchar (Depends-on): Likewise.
65916         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
65917         * lib/stdlib.in.h (includes): Likewise.
65918         * lib/string.in.h (includes): Likewise.
65919         * lib/time.in.h (includes): Likewise.
65920         * lib/unistd.in.h (includes): Likewise.
65921         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
65922         replaced.
65923         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
65924         * m4/stddef_h.m4: New file.
65925         * modules/stddef: Likewise.
65926         * lib/stddef.in.h: Likewise.
65927         * modules/stddef-tests: Likewise.
65928         * tests/test-stddef.c: Likewise.
65929         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
65930         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
65931         * doc/posix-headers/locale.texi (locale.h): Likewise.
65932         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
65933         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
65934         * doc/posix-headers/string.texi (string.h): Likewise.
65935         * doc/posix-headers/time.texi (time.h): Likewise.
65936         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
65937         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
65939 2009-08-14  Eric Blake  <ebb9@byu.net>
65941         doc: improve git diff of texinfo files
65942         * .gitattributes: Add rule for *.texi files, with hint on how to
65943         use it.
65944         Copied from m4, and based on a report by Bruno Haible.
65946 2009-08-14  Bruno Haible  <bruno@clisp.org>
65948         Disable multithread support by default on Cygwin 1.5.x for real.
65949         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
65951 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
65953         update-copyright: much ado about intervals
65954         * build-aux/update-copyright: Implement and document
65955         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
65956         of copyright year intervals.
65957         Also, document UPDATE_COPYRIGHT_YEAR.
65958         * tests/test-update-copyright.sh: Test it.
65960         update-copyright: convert 2-digit to 4-digit years
65961         * build-aux/update-copyright: Implement and document.
65962         * tests/test-update-copyright.sh: Update.
65964 2009-08-14  Jim Meyering  <meyering@redhat.com>
65966         test-exclude: avoid coreutils "make check" failure
65967         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
65968         just as in test-argmatch.c.
65970 2009-08-13  Eric Blake  <ebb9@byu.net>
65972         test-dup2: fix bad assumption
65973         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
65974         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
65976         test-version-etc: fix CRLF portability issue
65977         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
65978         recognize \r.
65979         * tests/test-argp-version-etc-1.sh: Likewise.
65981         getopt: update client modules
65982         * modules/argp (Depends-on): Use getopt-gnu.
65983         * modules/git-merge-changelog (Depends-on): Likewise.
65984         * modules/long-options (Depends-on): Likewise.
65985         * modules/xstrtol (Depends-on): Likewise.
65987 2009-08-13  Simon Josefsson  <simon@josefsson.org>
65989         * tests/test-version-etc.sh: Don't fail on different
65990         project/version.  Don't fail on CRLF differences.  Rewrite to use
65991         multiple -e instead of multiple sed forks, suggested by Eric Blake
65992         <ebb9@byu.net>.
65993         * tests/test-argp-version-etc-1.sh: Likewise.
65995 2009-08-13  Simon Josefsson  <simon@josefsson.org>
65997         * tests/test-version-etc.sh: Don't fail on different
65998         project/version.
66000 2009-08-12  Bruno Haible  <bruno@clisp.org>
66002         Tests for modules 'getopt-posix', 'getopt-gnu'.
66003         * modules/getopt-posix-tests: New file.
66004         * tests/test-getopt.c: New file.
66005         * tests/test-getopt.h: New file.
66006         * tests/test-getopt_long.h: New file.
66008         New modules 'getopt-posix', 'getopt-gnu'.
66009         * modules/getopt-gnu: New file, renamed from modules/getopt.
66010         * modules/getopt-posix: New file.
66011         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
66012         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
66013         (gl_GETOPT): Remove macro.
66014         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
66015         Disable the test against BSD systems that declare optreset. Test
66016         against mingw bug. Test against lack of support of optional arguments
66017         on many platforms.
66018         * doc/glibc-headers/getopt.texi: Update module name and list of
66019         relevant platforms.
66020         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
66021         'getopt-gnu' and more portability problems.
66022         * NEWS: Mention the changes.
66024 2009-08-12  Bruno Haible  <bruno@clisp.org>
66026         Ensure that optarg etc. get declared by <unistd.h>.
66027         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
66028         AC_USE_SYSTEM_EXTENSIONS.
66029         * modules/getopt (Depends-on): Add 'extensions'.
66031 2009-08-12  Bruno Haible  <bruno@clisp.org>
66033         Avoid test link errors.
66034         * modules/pipe-filter-ii-tests (Makefile.am): Define
66035         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
66036         * modules/pipe-filter-gi-tests (Makefile.am): Define
66037         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
66038         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
66040 2009-08-12  Bruno Haible  <bruno@clisp.org>
66042         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
66043         gl_GETOPT_SUBSTITUTE before.
66044         (gl_GETOPT): Use it.
66045         * m4/argp.m4 (gl_ARGP): Update.
66046         Reported by Sergey Poznyakoff.
66048         * m4/getopt.m4: Reorder macros.
66049         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
66050         (gl_GETOPT_SUBSTITUTE): Remove macro.
66052 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
66054         Minor improvement in gitlog-to-changelog
66056         * build-aux/gitlog-to-changelog: New option `--format' makes
66057         output format string configurable.
66059 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
66061         Optimize exclude: use hash tables for non-wildcard patterns.
66063         * lib/exclude.c: Include hash.h and mbuiter.h
66064         (struct exclude_pattern, exclude_segment): New data types.
66065         (struct exclude): Rewrite.
66066         (fnmatch_pattern_has_wildcards): New function.
66067         (new_exclude_segment, free_exclude_segment): New functions.
66068         (excluded_file_pattern_p, excluded_file_name_p): New functions.
66069         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
66070         * lib/exclude.h (is_fnmatch_pattern): New prototype.
66071         * modules/exclude: Depend on hash and mbuiter.
66073         * modules/exclude-tests: New file.
66074         * tests/test-exclude.c: New file.
66075         * tests/test-exclude1.sh: New file.
66076         * tests/test-exclude2.sh: New file.
66077         * tests/test-exclude3.sh: New file.
66078         * tests/test-exclude4.sh: New file.
66079         * tests/test-exclude5.sh: New file.
66080         * tests/test-exclude6.sh: New file.
66081         * tests/test-exclude7.sh: New file.
66083 2009-08-12  Bruno Haible  <bruno@clisp.org>
66085         Ensure that getopt() gets declared by <unistd.h>.
66086         * lib/unistd.in.h: Conditionally include getopt.h.
66087         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
66088         Set GNULIB_UNISTD_H_GETOPT.
66089         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
66090         GNULIB_UNISTD_H_GETOPT.
66091         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
66093 2009-08-12  Bruno Haible  <bruno@clisp.org>
66095         Clarify logic.
66096         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
66097         gl_replace_getopt instead of GETOPT_H.
66099 2009-08-12  Bruno Haible  <bruno@clisp.org>
66101         * m4/getopt.m4: Add comments.
66103 2009-08-12  Bruno Haible  <bruno@clisp.org>
66105         Disable multithread support by default on Cygwin 1.5.x.
66106         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
66107         set gl_use_threads=no if not specified otherwise.
66109 2009-08-11  Bruno Haible  <bruno@clisp.org>
66111         Avoid compilation error on NetBSD 5.0.
66112         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
66113         * tests/test-stdio.c: Likewise.
66114         * tests/test-stdlib.c: Likewise.
66115         * tests/test-string.c: Likewise.
66116         * tests/test-unistd.c: Likewise.
66117         Reported by Greg Troxel <gdt@ir.bbn.com>
66118         at <https://savannah.gnu.org/support/?106973>.
66120 2009-08-11  Bruno Haible  <bruno@clisp.org>
66122         * modules/dup2-tests (Depends-on): Remove close.
66124         Undo 2009-07-19 commit.
66125         * modules/acl-tests (Depends-on): Remove close.
66126         * modules/binary-io-tests (Depends-on): Likewise.
66127         * modules/closein-tests (Depends-on): Likewise.
66128         * modules/flock-tests (Depends-on): Likewise.
66129         * modules/fsync-tests (Depends-on): Likewise.
66130         * modules/lseek-tests (Depends-on): Likewise.
66131         * modules/pipe-tests (Depends-on): Likewise.
66132         * modules/posix_spawn-tests (Depends-on): Likewise.
66133         * modules/posix_spawnp-tests (Depends-on): Likewise.
66134         * modules/stat-time-tests (Depends-on): Likewise.
66135         * modules/yesno-tests (Depends-on): Likewise.
66137 2009-08-10  Bruno Haible  <bruno@clisp.org>
66139         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
66141 2009-08-10  Bruno Haible  <bruno@clisp.org>
66143         Fix a gcc warning.
66144         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
66146 2009-08-10  Bruno Haible  <bruno@clisp.org>
66148         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
66149         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
66150         not only the first time.
66151         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
66152         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
66153         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
66154         is 1, not only the first time.
66156 2009-08-10  Bruno Haible  <bruno@clisp.org>
66158         Make it possible to use module 'gethostname' without module 'close'.
66159         * lib/unistd.in.h (close): Evoke a link error only if
66160         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
66161         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
66162         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
66163         * modules/unistd (Makefile.am): Substitute
66164         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
66165         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
66166         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
66167         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
66168         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
66169         * modules/sys_ioctl (Makefile.am): Substitute
66170         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
66171         * modules/socket (configure.ac): On native Windows, set
66172         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
66173         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
66174         Reported by Sam Steingold <sds@gnu.org>.
66176 2009-08-10  Bruno Haible  <bruno@clisp.org>
66178         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
66179         * modules/ioctl (configure.ac): Likewise.
66181 2009-08-10  Bruno Haible  <bruno@clisp.org>
66183         Avoid collision between gnulib wrapper and libintl wrapper.
66184         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
66185         already defined in intl/printf.c.
66186         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
66187         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
66189 2009-08-09  Bruno Haible  <bruno@clisp.org>
66191         Make <sys/select.h> really self-contained, also on Solaris 10.
66192         * lib/sys_select.in.h: Include <string.h>.
66193         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
66194         Solaris 10 problem.
66195         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
66196         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
66197         Reported by Jim Meyering.
66199 2009-08-09  Bruno Haible  <bruno@clisp.org>
66201         Avoid warnings from 'aclocal' that are due to a use of macro name
66202         AM_XGETTEXT_OPTION that is not defined in automake.
66203         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
66204         automake.
66205         * modules/error (configure.ac): Likewise.
66206         * modules/propername (configure.ac): Likewise.
66207         * modules/vasprintf (configure.ac): Likewise.
66208         * modules/verror (configure.ac): Likewise.
66209         * modules/xprintf (configure.ac): Likewise.
66210         * modules/xvasprintf (configure.ac): Likewise.
66212 2009-08-08  Bruno Haible  <bruno@clisp.org>
66214         Avoid compilation error in C++ mode.
66215         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
66216         Reported by Sam Steingold <sds@gnu.org>.
66218 2009-08-08  Bruno Haible  <bruno@clisp.org>
66220         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
66221         for the various Unix platforms.
66222         * doc/posix-headers/limits.texi: Update platforms list regarding
66223         HOST_NAME_MAX.
66224         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
66226 2009-08-07  Jim Meyering  <meyering@redhat.com>
66228         selinux-at: fix typo in a comment
66229         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
66230         Spotted by Paolo Bonzini.
66232         selinux-at: remove redundant m4 code, add documentation
66233         * modules/selinux-at (configure.ac): Remove redundant code.
66234         LIB_SELINUX is already set via the dependent module, selinux-h.
66235         (Include): Add quotes around selinux-at.h.
66236         * lib/selinux-at.h: Add documentation.
66237         Reported by Bruno Haible in
66238         http://marc.info/?l=gnulib-bug&m=124958988300749
66240 2009-08-07  Bruno Haible  <bruno@clisp.org>
66242         Avoid link error on MacOS X 10.3 and 10.4.
66243         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
66244         on non-ELF systems.
66245         * lib/argp-pv.c (argp_program_version): Likewise.
66246         Reported by Simon Josefsson.
66248 2009-08-07  Simon Josefsson  <simon@josefsson.org>
66250         * tests/test-version-etc.sh: Use $EXEEXT.
66252 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
66254         update-copyright: update documentation to point to maint.mk
66255         * build-aux/update-copyright: Here.
66257 2009-08-06  Jim Meyering  <meyering@redhat.com>
66259         maint.mk: support update-copyright-local
66260         * top/maint.mk (update-copyright-local): Define place-holder.
66261         (update-copyright): Depend on $(update-copyright-local).
66263 2009-08-06  Jim Meyering  <meyering@redhat.com>
66265         selinux-at: new module
66266         Initially written for coreutils, this module will soon be
66267         used by findutils, too.
66268         * MODULES.html.sh [Misc]: Add selinux-at.
66269         * lib/selinux-at.h: New file, from coreutils.
66270         * lib/selinux-at.c: Likewise.
66271         * modules/selinux-at: Likewise.
66272         (License): Change from LGPL to GPL, since it depends
66273         on the GPL'd openat module.
66275         doc: update README
66276         * README: Remove references to cogito.
66277         Remove cvs-repo-updating instructions from 2007.
66278         Don't imply that CVS is better if you have limited disk space.
66280 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
66282         update-copyright: support C-style comments
66283         * build-aux/update-copyright: Implement and document.
66284         * tests/test-update-copyright.sh: Test.
66286 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
66288         update-copyright: support omitted "(C)"
66289         * build-aux/update-copyright: Implement and document.  Also,
66290         allow variable whitespace before "(C)".
66291         * tests/test-update-copyright.sh: Test.
66293 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
66295         update-copyright: don't trip on non-FSF copyright statements
66296         * build-aux/update-copyright: Fix so that the first correctly
66297         formatted FSF copyright statement is recognized no matter what
66298         appears before it.  Update documentation.
66299         * tests/test-update-copyright.sh: Test that.
66301 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
66303         update-copyright: clean up code a little
66304         * build-aux/update-copyright: Append "_re" to the name of any
66305         variable holding a regular expression.
66306         Replace "old" and "new" with "stmt" in variable names.
66307         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
66308         handled correctly.
66309         Format code more consistently.
66311 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
66313         update-copyright-tests: improve portability
66314         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
66315         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
66317 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
66319         update-copyright: support @copyright{} and &copy;
66320         * build-aux/update-copyright: Implement and document.
66321         * tests/test-update-copyright.sh: Test.
66323 2009-08-04  Jim Meyering  <meyering@redhat.com>
66325         update-copyright-tests: correctly test EOL=\r\n handling
66326         * tests/test-update-copyright.sh: Put \r at the end of some lines
66327         for the dos-eol tests.  Based on a patch by Joel E. Denny.
66329         maint.mk: make update-copyright exclusion list more configurable
66330         * top/maint.mk (update-copyright): Default to excluding COPYING,
66331         but allow an override, in case someone does want to update that file.
66333         maint.mk: don't update copyright date in COPYING
66334         * top/maint.mk (update-copyright): Exclude COPYING.
66336         maint.mk: add a copyright-updating rule
66337         * top/maint.mk (update-copyright): New rule.
66338         Derived from coreutils/Makefile.am.
66340         update-copyright: rename some variables
66341         * build-aux/update-copyright: Rename a few variables for clarity.
66342         Tweak syntax.  List Joel E. Denny as coauthor.
66344 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
66346         update-copyright: fix bug for 2-digit last year and add tests
66347         * build-aux/update-copyright: Fix bug.
66348         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
66349         specified.
66350         * modules/update-copyright-tests: New
66351         * tests/test-update-copyright.sh: New.
66353 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
66355         update-copyright: handle leading tabs in line prefix
66356         * build-aux/update-copyright: Count leading tabs as 8 spaces
66357         when computing margin.  This helps with the formatting of
66358         ChangeLogs, for example.
66359         Fix documentation a little.
66361 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
66363         update-copyright: support EOL=\r\n
66364         * build-aux/update-copyright: Implement that.
66366 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
66368         update-copyright: automatically format copyright statements
66369         * build-aux/update-copyright: Implement that.
66370         Also, be a little more predictable and safer by always failing
66371         when the full copyright format is not perfectly recognized as an
66372         unbroken whole.  Discussed at
66373         <http://lists.gnu.org/r/bug-gnulib/2009-07/msg00131.html>.
66374         Rewrite documentation.
66376 2009-08-03  Bruno Haible  <bruno@clisp.org>
66378         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
66380 2009-08-02  Bruno Haible  <bruno@clisp.org>
66382         Tests for module 'uname'.
66383         * modules/uname-tests: New file.
66384         * tests/test-uname.c: New file.
66386         New module 'uname'.
66387         * lib/uname.c: New file.
66388         * m4/uname.m4: New file.
66389         * modules/uname: New file.
66390         * doc/posix-functions/uname.texi: Mention the new module.
66392 2009-08-02  Bruno Haible  <bruno@clisp.org>
66394         Tests for module 'sys_utsname'.
66395         * modules/sys_utsname-tests: New file.
66396         * tests/test-sys_utsname.c: New file.
66398         New module 'sys_utsname'.
66399         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
66400         * m4/sys_utsname_h.m4: New file.
66401         * modules/sys_utsname: New file.
66402         * doc/posix-headers/sys_utsname.texi: Mention the new module.
66404 2009-08-02  Bruno Haible  <bruno@clisp.org>
66406         Implicitly initialize the sockets library.
66407         * lib/gethostname.c: Include sockets.h.
66408         (rpl_gethostname): Invoke gl_sockets_startup.
66409         * lib/socket.c: Include sockets.h.
66410         (rpl_socket): Invoke gl_sockets_startup.
66411         * modules/gethostname (Depends-on): Add sockets.
66412         * modules/socket (Depends-on): Likewise.
66413         * tests/test-poll.c: Don't include sockets.h.
66414         (main): Don't invoke gl_sockets_startup.
66415         * tests/test-select.c: Don't include sockets.h.
66416         (main): Don't invoke gl_sockets_startup.
66418 2009-08-02  Bruno Haible  <bruno@clisp.org>
66420         Allow multiple calls to gl_sockets_startup.
66421         * lib/sockets.c (initialized_sockets_version): New variable.
66422         (gl_sockets_startup): Do nothing if already called for this or a higher
66423         version.
66424         (gl_sockets_cleanup): Reset initialized_sockets_version.
66426 2009-08-03  Simon Josefsson  <simon@josefsson.org>
66428         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
66429         different project/version.
66431 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
66432             Bruno Haible  <bruno@clisp.org>
66434         Tests for module 'pipe-filter-gi'.
66435         * modules/pipe-filter-gi-tests: New file.
66436         * tests/test-pipe-filter-gi1.sh: New file.
66437         * tests/test-pipe-filter-gi1.c: New file.
66438         * tests/test-pipe-filter-gi2.sh: New file.
66439         * tests/test-pipe-filter-gi2-main.c: New file.
66440         * tests/test-pipe-filter-gi2-child.c: New file.
66442         New module 'pipe-filter-gi'.
66443         * lib/pipe-filter-gi.c: New file.
66444         * modules/pipe-filter-gi: New file.
66446 2009-08-02  Bruno Haible  <bruno@clisp.org>
66447             Paolo Bonzini  <bonzini@gnu.org>
66449         Tests for module 'pipe-filter-ii'.
66450         * modules/pipe-filter-ii-tests: New file.
66451         * tests/test-pipe-filter-ii1.sh: New file.
66452         * tests/test-pipe-filter-ii1.c: New file.
66453         * tests/test-pipe-filter-ii2.sh: New file.
66454         * tests/test-pipe-filter-ii2-main.c: New file.
66455         * tests/test-pipe-filter-ii2-child.c: New file.
66457         New module 'pipe-filter-ii'.
66458         * lib/pipe-filter.h: New file.
66459         * lib/pipe-filter-ii.c: New file.
66460         * lib/pipe-filter-aux.h: New file.
66461         * modules/pipe-filter-ii: New file.
66463 2009-08-02  Simon Josefsson  <simon@josefsson.org>
66465         * lib/gc-libgcrypt.c: Change copyright to FSF.
66466         * lib/gc-gnulib.c: Likewise.
66468 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
66470         * lib/gethostname.c: Include limits.h.
66472 2009-08-02  Simon Josefsson  <simon@josefsson.org>
66473             Bruno Haible  <bruno@clisp.org>
66475         Ensure HOST_NAME_MAX as part of the gethostname module.
66476         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
66477         define also HOST_NAME_MAX.
66478         * tests/test-gethostname.c: Include <limits.h>.
66479         (main): Check also HOST_NAME_MAX.
66480         * doc/posix-headers/limits.texi: Document the mingw problem.
66482 2009-08-02  Bruno Haible  <bruno@clisp.org>
66484         * lib/gethostname.c (gethostname): Fix handling of large len argument.
66485         Add comments.
66487 2009-03-31  Simon Josefsson  <simon@josefsson.org>
66489         * lib/gethostname.c: Add Windows wrapper.
66490         * m4/gethostname.m4: Look for gethostname in -lws2_32.
66491         * modules/gethostname: Depend on sys_socket & errno, for also
66492         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
66493         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
66495 2009-07-31  Jim Meyering  <meyering@redhat.com>
66497         getloadavg: fix symbol name in comment
66498         * lib/getloadavg.c: Correct a typo I introduced when adding
66499         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
66500         Matt Kraai spotted the problem.
66502 2009-07-29  Matt Kraai  <mkraai@beckman.com>
66504         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
66505         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
66506         code also if ! defined N_NAME_POINTER.
66507         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
66508         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
66509         but the n_name member is a 12-byte array.
66511 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
66513         update-copyright: generalize comment handling
66514         * build-aux/update-copyright: Handle copyright statements
66515         within more comment styles.
66516         Document usage.
66517         Report any file with an external copyright holder or parse failure.
66519 2009-07-29  Jim Meyering  <meyering@redhat.com>
66521         mktime: correct setting of REPLACE_MKTIME
66522         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
66524         update-copyright: new module
66525         * modules/update-copyright: New file.
66526         * build-aux/update-copyright: New file.
66527         * MODULES.html.sh (maint+release support): Add update-copyright.
66529 2009-07-27  Bruno Haible  <bruno@clisp.org>
66531         Fix compilation error when <ctime> is used and mktime is replaced.
66532         * lib/time.in.h (mktime): New declaration.
66533         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
66534         REPLACE_MKTIME instead of defining mktime in config.h.
66535         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
66536         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
66537         Reported by Ross McFarland <rwmcfa1@neces.com>.
66539 2009-07-27  Bruno Haible  <bruno@clisp.org>
66541         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
66542         Reported by Matt Kraai <mkraai@beckman.com>.
66544 2009-07-25  Jim Meyering  <meyering@redhat.com>
66546         maint.mk: avoid warnings about missing files
66547         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
66548         diagnostic when .prev-version does not exist.
66549         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
66550         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
66551         nonexistent cfg.mk.
66552         Suggestions from Simon Josefsson.
66554 2009-07-25  Bruno Haible  <bruno@clisp.org>
66556         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
66557         defined as macros. Needed on QNX 6.4.1.
66558         Reported by Matt Kraai <mkraai@beckman.com>.
66560 2009-07-23  Jim Meyering  <meyering@redhat.com>
66562         maint.mk: invoke "make dist" with a working value of XZ_OPT
66563         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
66565 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
66567         Make fseeko.c compile on QNX.
66568         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
66570 2009-07-22  Peter Simons  <simons@cryp.to>
66572         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
66573         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
66574         * lib/md4.h: Likewise.
66575         * lib/md5.h: Likewise.
66576         * lib/sha1.h: Likewise.
66577         * lib/sha256.h: Likewise.
66578         * lib/sha512.h: Likewise.
66580         tests-sha1: don't assign literal string to 'char *' variable
66581         * tests/test-sha1.c (main): Declare locals with "const" to match
66582         attributes of the right hand side.
66584 2009-07-21  Eric Blake  <ebb9@byu.net>
66586         dup2: fix more mingw problems
66587         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
66588         fd to itself.
66589         * doc/posix-functions/dup2.texi (dup2): Document the bug.
66590         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
66591         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
66592         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
66593         care of mingw bugs.
66595 2009-07-21  Jim Meyering  <meyering@redhat.com>
66597         vc-list-files: avoid failure when /bin/sh is dash
66598         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
66599         On some Debian based systems, /bin/sh is a symlink to dash, and running
66600         this command would omit the "/" following each 'tests' prefix:
66601           dash -x build-aux/vc-list-files -C . tests
66602         That is because bash and dash work differently:
66603           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
66604           bash ok
66605           dash odd
66607 2009-07-21  Eric Blake  <ebb9@byu.net>
66609         dup2-tests: test previous patch
66610         * modules/dup2-tests: New file.
66611         * tests/test-dup2.c: Likewise.
66612         * tests/test-open.c (main): Avoid unspecified behavior.
66613         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
66614         test.
66616         dup2: work around mingw and cygwin 1.5 bug
66617         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
66618         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
66619         * modules/unistd (Makefile.am): Substitute it.
66620         * lib/unistd.in.h (dup2): Declare the replacement.
66621         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
66622         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
66623         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
66624         * modules/execute (Depends-on): Add dup2.
66625         * modules/fseterr (Depends-on): Likewise.
66626         * modules/pipe (Depends-on): Likewise.
66627         * modules/posix_spawn-internal (Depends-on): Likewise.
66629 2009-07-21  Bruno Haible  <bruno@clisp.org>
66631         * modules/.gitattributes: New file.
66633 2009-07-20  Bruno Haible  <bruno@clisp.org>
66635         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
66636         (main): Use it.
66638 2009-07-20  Eric Blake  <ebb9@byu.net>
66640         test-pipe: make a bit more robust.
66641         * tests/test-pipe.c (myerr): Allow error messages regardless of
66642         what we do to stderr.
66643         (test_pipe): Rearrange to avoid deadlock.
66644         (child_main): Try a larger read, to ensure we avoided deadlock.
66645         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
66646         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
66647         if misused.
66649 2009-07-19  Jim Meyering  <meyering@redhat.com>
66651         fts: avoid false-positive cycle-detection
66652         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
66653         for each new command line argument.
66655 2009-07-19  Bruno Haible  <bruno@clisp.org>
66657         Fix build error on mingw with the modules sys_select and unistd.
66658         * modules/acl-tests (Depends-on): Add close.
66659         * modules/binary-io-tests (Depends-on): Likewise.
66660         * modules/closein-tests (Depends-on): Likewise.
66661         * modules/flock-tests (Depends-on): Likewise.
66662         * modules/fsync-tests (Depends-on): Likewise.
66663         * modules/lseek-tests (Depends-on): Likewise.
66664         * modules/pipe-tests (Depends-on): Likewise.
66665         * modules/posix_spawn-tests (Depends-on): Likewise.
66666         * modules/posix_spawnp-tests (Depends-on): Likewise.
66667         * modules/stat-time-tests (Depends-on): Likewise.
66668         * modules/yesno-tests (Depends-on): Likewise.
66670 2009-07-19  Bruno Haible  <bruno@clisp.org>
66672         Unify conditionals.
66673         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
66674         macros, not at the compiler macros.
66675         * lib/pipe.c: Likewise.
66676         * lib/execute.c: Likewise.
66677         * lib/spawni.c: Likewise.
66679 2009-07-19  Bruno Haible  <bruno@clisp.org>
66681         Fix handling of closed stdin/stdout/stderr on mingw.
66682         * lib/w32spawn.h: Include unistd.h.
66683         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
66684         file descriptor with O_NOINHERIT flag.
66685         (fd_safer_noinherit): New function, based on fd-safer.c.
66686         (dup_safer_noinherit): New function, based on dup-safer.c.
66687         (undup_safer_noinherit): New function.
66688         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
66689         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
66690         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
66691         instead of fd_safer.
66692         * tests/test-pipe.c: Include <windows.h>.
66693         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
66694         result.
66696         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
66697         from main.
66698         (test_pipe): Pass an extra argument for disambiguation.
66699         (main): Invoke parent_main or child_main.
66701         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
66702         consistently.
66704 2009-07-18  Eric Blake  <ebb9@byu.net>
66706         test-pipe: fix mingw build
66707         * tests/test-pipe.c (main): Avoid fcntl on mingw.
66709 2009-07-18  Bruno Haible  <bruno@clisp.org>
66711         * modules/pipe-tests (Makefile.am): Fix typo.
66713 2009-07-18  Eric Blake  <ebb9@byu.net>
66715         error: fix mingw build
66716         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
66717         Reported by Bruno Haible.
66719         error: avoid undefined use of stdout
66720         * lib/error.c (error, error_at_line): Check that fd 1 is open
66721         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
66722         is handling faults and the close_stdout module wants to report the
66723         detection of closed stdout as an error.
66725 2009-07-17  Eric Blake  <ebb9@byu.net>
66727         pipe: be robust in face of closed fds
66728         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
66729         should cause child to misbehave.
66730         * modules/pipe-tests: New module.
66731         * tests/test-pipe.c: New file.
66732         * tests/test-pipe.sh: New file.
66733         Reported by Akim Demaille.
66735 2009-07-14  Bruno Haible  <bruno@clisp.org>
66737         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
66738         Reported by anonymous kc.
66740 2009-07-07  Jim Meyering  <meyering@redhat.com>
66742         maint.mk: don't look for translatable strings in *.m4 or *.mk
66743         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
66744         when searching for translatable strings.
66746 2009-07-05  Jim Meyering  <meyering@redhat.com>
66748         remove superfluous parentheses in STREQ definition
66749         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
66750         * lib/getugroups.c (STREQ): Likewise.
66751         * lib/fnmatch.c (STREQ): Likewise.
66752         Spotted by Bruno Haible.
66754 2009-07-04  Jim Meyering  <meyering@redhat.com>
66756         argv-iter: new module
66757         * MODULES.html.sh: Add argv-iter.
66758         * lib/argv-iter.c, lib/argv-iter.h: New files.
66759         * modules/argv-iter: New file.
66760         * modules/argv-iter-tests: New file.
66761         * tests/test-argv-iter.c: Test it.
66763 2009-07-04  Bruno Haible  <bruno@clisp.org>
66765         Fix assertion.
66766         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
66767         contains more exact copies of a given entry than file2, leave the extra
66768         copies unpaired rather than aborting.
66769         Reported by Eric Blake.
66771 2009-07-02  Bruno Haible  <bruno@clisp.org>
66773         Speedup git-merge-changelog for git cherry-pick.
66774         * lib/git-merge-changelog.c (struct entries_mapping): New type.
66775         (entries_mapping_get): New function, extracted from compute_mapping.
66776         (entries_mapping_reverse_get): New function.
66777         (compute_mapping): Add a 'full' argument. Return the result in a
66778         'struct entries_mapping'.
66779         (main): Update. Access the mappings through entries_mapping_get.
66780         Reported by Eric Blake.
66782 2009-07-02  Bruno Haible  <bruno@clisp.org>
66784         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
66785         best_i.
66787 2009-07-02  Bruno Haible  <bruno@clisp.org>
66789         Speed up approximate search for matching ChangeLog entries.
66790         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
66791         argument. Call fstrcmp_bounded instead of fstrcmp.
66792         (compute_mapping, try_split_merged_entry, main): Update callers.
66794 2009-07-02  Bruno Haible  <bruno@clisp.org>
66796         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
66798 2009-06-30  Bruno Haible  <bruno@clisp.org>
66800         Reduce the number of uc_is_cased calls.
66801         * lib/unicase.h (casing_suffix_context_t): Add
66802         'first_char_except_ignorable' field.
66803         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
66804         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
66805         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
66806         Update initializer.
66807         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
66808         case-ignorable characters.
66809         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
66810         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
66811         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
66812         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
66813         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
66815 2009-06-30  Bruno Haible  <bruno@clisp.org>
66817         Tests for module 'unicase/ignorable'.
66818         * modules/unicase/ignorable-tests: New file.
66819         * tests/unicase/test-ignorable.c: New file, generated by
66820         gen-uni-tables.
66822         Tests for module 'unicase/cased'.
66823         * modules/unicase/cased-tests: New file.
66824         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
66825         * tests/unicase/test-predicate-part1.h: New file, derived from
66826         tests/unictype/test-predicate-part1.h.
66827         * tests/unicase/test-predicate-part2.h: New file, same as
66828         tests/unictype/test-predicate-part2.h.
66830         Fix evaluation of "Before C" condition of FINAL_SIGMA.
66831         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
66832         (output_casing_properties): New function.
66833         (main): Call it.
66834         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
66835         * lib/unicase/cased.c: Include unictype/bitmap.h.
66836         (uc_is_cased): Define through a bitmap lookup.
66837         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
66838         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
66839         (uc_is_case_ignorable): Define through a bitmap lookup.
66840         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
66841         lib/unictype/bitmap.h.
66842         (Depends-on): Add inline. Clean up.
66843         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
66844         lib/unictype/bitmap.h.
66845         (Depends-on): Add inline. Clean up.
66846         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
66847         recognition.
66848         * tests/unicase/test-u16-tolower.c (main): Likewise.
66849         * tests/unicase/test-u32-tolower.c (main): Likewise.
66851 2009-06-30  Bruno Haible  <bruno@clisp.org>
66853         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
66854         * lib/unicase/u16-casemap.c: Likewise.
66855         * lib/unicase/u32-casemap.c: Likewise.
66857 2009-06-29  Bruno Haible  <bruno@clisp.org>
66859         Define u32_casefold as a wrapper around u32_ct_casefold.
66860         * lib/unicase/u32-casefold.c: Update.
66861         * modules/unicase/u32-casefold (Depends-on): Add
66862         unicase/u32-ct-casefold, unicase/empty-prefix-context,
66863         unicase/empty-suffix-context. Clean up.
66865         Define u16_casefold as a wrapper around u16_ct_casefold.
66866         * lib/unicase/u16-casefold.c: Update.
66867         * modules/unicase/u16-casefold (Depends-on): Add
66868         unicase/u16-ct-casefold, unicase/empty-prefix-context,
66869         unicase/empty-suffix-context. Clean up.
66871         Define u8_casefold as a wrapper around u8_ct_casefold.
66872         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
66873         * lib/unicase/u8-casefold.c: Update.
66874         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
66875         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
66877         Define u32_totitle as a wrapper around u32_ct_totitle.
66878         * lib/unicase/u32-totitle.c: Update.
66879         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
66880         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
66882         Define u16_totitle as a wrapper around u16_ct_totitle.
66883         * lib/unicase/u16-totitle.c: Update.
66884         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
66885         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
66887         Define u8_totitle as a wrapper around u8_ct_totitle.
66888         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
66889         functions.
66890         (FUNC): Delegate to U_CT_TOTITLE.
66891         * lib/unicase/u8-totitle.c: Update.
66892         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
66893         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
66895         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
66896         invocation.
66897         * modules/unicase/u32-tolower (Depends-on): Add
66898         unicase/empty-prefix-context, unicase/empty-suffix-context.
66900         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
66901         invocation.
66902         * modules/unicase/u16-tolower (Depends-on): Add
66903         unicase/empty-prefix-context, unicase/empty-suffix-context.
66905         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
66906         * modules/unicase/u8-tolower (Depends-on): Add
66907         unicase/empty-prefix-context, unicase/empty-suffix-context.
66909         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
66910         invocation.
66911         * modules/unicase/u32-toupper (Depends-on): Add
66912         unicase/empty-prefix-context, unicase/empty-suffix-context.
66914         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
66915         invocation.
66916         * modules/unicase/u16-toupper (Depends-on): Add
66917         unicase/empty-prefix-context, unicase/empty-suffix-context.
66919         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
66920         * modules/unicase/u8-toupper (Depends-on): Add
66921         unicase/empty-prefix-context, unicase/empty-suffix-context.
66923         New module 'unicase/u32-ct-casefold'.
66924         * lib/unicase/u32-ct-casefold.c: New file.
66925         * modules/unicase/u32-ct-casefold: New file.
66927         New module 'unicase/u16-ct-casefold'.
66928         * lib/unicase/u16-ct-casefold.c: New file.
66929         * modules/unicase/u16-ct-casefold: New file.
66931         New module 'unicase/u8-ct-casefold'.
66932         * lib/unicase/u8-ct-casefold.c: New file.
66933         * lib/unicase/u-ct-casefold.h: New file, derived from
66934         lib/unicase/u-casefold.h.
66935         * modules/unicase/u8-ct-casefold: New file.
66937         New module 'unicase/u32-ct-totitle'.
66938         * lib/unicase/u32-ct-totitle.c: New file.
66939         * modules/unicase/u32-ct-totitle: New file.
66941         New module 'unicase/u16-ct-totitle'.
66942         * lib/unicase/u16-ct-totitle.c: New file.
66943         * modules/unicase/u16-ct-totitle: New file.
66945         New module 'unicase/u8-ct-totitle'.
66946         * lib/unicase/u8-ct-totitle.c: New file.
66947         * lib/unicase/u-ct-totitle.h: New file, derived from
66948         lib/unicase/u-totitle.h.
66949         * modules/unicase/u8-ct-totitle: New file.
66951         New module 'unicase/u32-ct-tolower'.
66952         * lib/unicase/u32-ct-tolower.c: New file.
66953         * modules/unicase/u32-ct-tolower: New file.
66955         New module 'unicase/u16-ct-tolower'.
66956         * lib/unicase/u16-ct-tolower.c: New file.
66957         * modules/unicase/u16-ct-tolower: New file.
66959         New module 'unicase/u8-ct-tolower'.
66960         * lib/unicase/u8-ct-tolower.c: New file.
66961         * modules/unicase/u8-ct-tolower: New file.
66963         New module 'unicase/u32-ct-toupper'.
66964         * lib/unicase/u32-ct-toupper.c: New file.
66965         * modules/unicase/u32-ct-toupper: New file.
66967         New module 'unicase/u16-ct-toupper'.
66968         * lib/unicase/u16-ct-toupper.c: New file.
66969         * modules/unicase/u16-ct-toupper: New file.
66971         New module 'unicase/u8-ct-toupper'.
66972         * lib/unicase/u8-ct-toupper.c: New file.
66973         * modules/unicase/u8-ct-toupper: New file.
66975         Add context arguments to u*_casemap functions.
66976         * lib/unicase/unicasemap.h: Include unicase.h.
66977         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
66978         suffix_context arguments.
66979         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
66980         functions.
66981         (FUNC): Add prefix_context and suffix_context arguments. Use
66982         uc_is_cased and uc_is_case_ignorable.
66983         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
66984         * lib/unicase/u16-casemap.c: Likewise.
66985         * lib/unicase/u32-casemap.c: Likewise.
66986         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
66987         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
66988         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
66989         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
66990         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
66991         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
66993         New module 'unicase/u32-suffix-context'.
66994         * lib/unicase/u32-suffix-context.c: New file.
66995         * modules/unicase/u32-suffix-context: New file.
66997         New module 'unicase/u16-suffix-context'.
66998         * lib/unicase/u16-suffix-context.c: New file.
66999         * modules/unicase/u16-suffix-context: New file.
67001         New module 'unicase/u8-suffix-context'.
67002         * lib/unicase/u8-suffix-context.c: New file.
67003         * lib/unicase/u-suffix-context.h: New file.
67004         * modules/unicase/u8-suffix-context: New file.
67006         New module 'unicase/empty-suffix-context'.
67007         * lib/unicase/empty-suffix-context.c: New file.
67008         * modules/unicase/empty-suffix-context: New file.
67010         New module 'unicase/u32-prefix-context'.
67011         * lib/unicase/u32-prefix-context.c: New file.
67012         * modules/unicase/u32-prefix-context: New file.
67014         New module 'unicase/u16-prefix-context'.
67015         * lib/unicase/u16-prefix-context.c: New file.
67016         * modules/unicase/u16-prefix-context: New file.
67018         New module 'unicase/u8-prefix-context'.
67019         * lib/unicase/u8-prefix-context.c: New file.
67020         * lib/unicase/u-prefix-context.h: New file.
67021         * lib/unicase/context.h: New file.
67022         * modules/unicase/u8-prefix-context: New file.
67024         New module 'unicase/empty-prefix-context'.
67025         * lib/unicase/empty-prefix-context.c: New file.
67026         * modules/unicase/empty-prefix-context: New file.
67028         New module 'unicase/ignorable'.
67029         * lib/unicase/ignorable.c: New file.
67030         * modules/unicase/ignorable: New file.
67032         New module 'unicase/cased'.
67033         * lib/unicase/caseprop.h: New file.
67034         * lib/unicase/cased.c: New file.
67035         * modules/unicase/cased: New file.
67037         New functions for case mapping of substrings.
67038         * lib/unicase.h (casing_prefix_context_t): New type.
67039         (unicase_empty_prefix_context): New variable.
67040         (u8_casing_prefix_context, u16_casing_prefix_context,
67041         u32_casing_prefix_context, u8_casing_prefixes_context,
67042         u16_casing_prefixes_context, u32_casing_prefixes_context): New
67043         declarations.
67044         (casing_suffix_context_t): New type.
67045         (unicase_empty_suffix_context): New variable.
67046         (u8_casing_suffix_context, u16_casing_suffix_context,
67047         u32_casing_suffix_context, u8_casing_suffixes_context,
67048         u16_casing_suffixes_context, u32_casing_suffixes_context,
67049         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
67050         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
67051         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
67052         declarations.
67054 2009-06-28  Jim Meyering  <meyering@redhat.com>
67056         boostrap: indent only with spaces
67057         * build-aux/bootstrap: Indent only with spaces, never TABs.
67059         bootstrap: split long lines
67060         * build-aux/bootstrap: Keep line length < 80.
67062         bootstrap: sync from coreutils
67063         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
67064         just as autoreconf does.  Verify a list of prerequisite
67065         package-name,version-number pairs if defined in bootstrap.conf.
67066         Refer to README-prereq, if prerequisites are not satisfied.
67068 2009-06-27  Eric Blake  <ebb9@byu.net>
67070         tests: add test for bogus NULL definition
67071         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
67072         * tests/test-stdlib.c: Likewise.
67073         * tests/test-string.c: Likewise.
67074         * tests/test-locale.c: Likewise.
67075         * tests/test-unistd.c: Likewise.
67076         * modules/stdio-tests (Depends-on): Add verify.
67077         * modules/stdlib-tests (Depends-on): Likewise.
67078         * modules/string-tests (Depends-on): Likewise.
67079         * modules/locale-tests (Depends-on): Likewise.
67080         * modules/unistd-tests (Depends-on): Likewise.
67082 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
67084         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
67085         self-explaining comment.
67086         * m4/selinux-selinux-h: Update serial.
67087         (gl_LIBSELINUX): New macro, adding a warning for missing development
67088         packages to code extracted from...
67089         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
67090         Add warning for missing development packages here, too.
67092 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
67094         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
67096 2009-06-25  Eric Blake  <ebb9@byu.net>
67098         version-etc: fix regression
67099         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
67100         gcc.
67101         (version_etc): Use it, to catch bugs with trailing NULL.
67102         * lib/version-etc.c (version_etc_arn): Delete unused argument.
67103         (version_etc_va): Fix logic bug.
67104         * modules/version-etc-tests: Add test.
67105         * tests/test-version-etc.c: New file.
67106         * tests/test-version-etc.sh: Likewise.
67108 2009-06-25  Sam Steingold  <sds@gnu.org>
67110         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
67111         mbtowc declaration.
67113 2009-06-25  Eric Blake  <ebb9@byu.net>
67115         fpurge: migrate into <stdio.h>
67116         * lib/fpurge.h: Delete...
67117         * lib/stdio.in.h (fpurge): ...and declare here, instead.
67118         * lib/fpurge.c (fpurge): Change declaring header.
67119         * modules/fpurge (Files): Drop deleted file.
67120         (Depends-on): Add stdio.
67121         (configure.ac): Set witness.
67122         * modules/stdio (Makefile.am): Support fpurge macros.
67123         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
67124         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
67125         * lib/fflush.c: Update client.
67126         * tests/test-fpurge.c: Likewise.
67127         * NEWS: Mention the change.
67129 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
67131         * lib/argp-version-etc.c (program_authors): Add const
67132         qualifier.
67133         * lib/version-etc.c: Fix typos in the comments.
67134         * modules/argp-version-etc: Depends on version-etc.
67136 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
67138         argp-version-etc: new module.
67140         * lib/argp-version-etc.c: New file.
67141         * lib/argp-version-etc.h: New file.
67142         * modules/argp-version-etc: New file.
67143         * modules/argp-version-etc-tests: New file.
67144         * tests/test-argp-version-etc.c: New test.
67145         * tests/test-argp-version-etc-1.sh: New test.
67147 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
67149         Provide additional interfaces and documentation for version-etc
67150         module.
67152         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
67153         interfaces.
67154         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
67155         prototypes.
67157 2009-06-24  Bruno Haible  <bruno@clisp.org>
67159         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
67160         HAVE_LIB${NAME} macro.
67161         Reported by Sam Steingold <sds@gnu.org>.
67163 2009-06-23  Simon Josefsson  <simon@josefsson.org>
67165         * modules/hash-tests (test_hash_LDADD): Link to libintl when
67166         needed.
67168 2009-06-21  Bruno Haible  <bruno@clisp.org>
67170         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
67171         work.
67172         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
67173         together with LIB${NAME}, LTLIB${NAME}.
67174         Reported by Sam Steingold <sds@gnu.org>.
67176 2009-06-20  Jim Meyering  <meyering@redhat.com>
67178         tests: make sc_require_test_exit_idiom more generic
67179         * top/maint.mk (Exit_witness_file): New overridable variable.
67180         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
67181         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
67183 2009-06-19  Jim Meyering  <meyering@redhat.com>
67185         hash: reverse order of src/dst parameters in an internal interface
67186         * lib/hash.c (transfer_entries): Reverse order of parameters to
67187         put DST before SRC.  Adjust callers.
67189         tests: test-hash: avoid wholesale duplication
67190         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
67191         Instead, use a loop and add a single conditional.
67193         tests: test-hash: allow seed selection via a command line argument
67194         * tests/test-hash.c (get_seed): New function.
67195         (main): Use it.
67197 2009-06-19  Eric Blake  <ebb9@byu.net>
67199         hash: avoid memory leak on allocation failure
67200         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
67201         failure.  Factor repeated algorithm...
67202         (transfer_entries): ...into new helper routine.
67203         (hash_delete): React to hash_rehash return value.
67205         hash: reduce memory pressure in hash_rehash no-op case
67206         * lib/hash.c (next_prime): Avoid overflow.
67207         (hash_initialize): Factor bucket size computation...
67208         (compute_bucket_size): ...into new helper function.
67209         (hash_rehash): Use new function and open coding to reduce memory
67210         pressure, and avoid a memory leak in USE_OBSTACK code.
67211         Reported by Jim Meyering.
67213 2009-06-18  Eric Blake  <ebb9@byu.net>
67215         hash: make rotation more obvious
67216         * modules/hash (Depends-on): Add bitrotate and stdint.
67217         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
67218         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
67219         (SIZE_MAX): Rely on headers for definition.
67220         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
67221         (raw_hasher): Use rotr_sz.
67222         Suggested by Jim Meyering.
67224         hash: fix memory leak in last patch
67225         * lib/hash.c (hash_rehash): Avoid memory leak.
67227         hash: avoid no-op rehashing
67228         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
67230         hash: provide default callback functions
67231         * lib/hash.c (raw_hasher, raw_comparator): New functions.
67232         (hash_initialize): Use them as defaults.
67233         * tests/test-hash.c (main): Test this.
67235         hash: minor optimization
67236         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
67237         when possible.
67238         (hash_initialize): Document this promise.
67239         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
67240         * tests/test-hash.c (hash_compare_strings): Test this.
67242 2009-06-18  Bruno Haible  <bruno@clisp.org>
67244         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
67245         going to be replaced anyway.
67247 2009-06-18  Bruno Haible  <bruno@clisp.org>
67249         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
67250         in one place.
67251         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
67252         be replaced anyway.
67254 2009-06-18  Eric Blake  <ebb9@byu.net>
67256         hash: check for resize before insertion
67257         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
67258         threshold before insertion, so that a pathological hash_rehash
67259         that fills every bucket can still trigger another rehash.
67261 2009-06-18  Jim Meyering  <meyering@redhat.com>
67263         hash-tests: add a loop around the small tests
67264         * tests/test-hash.c (main): Repeat small tests with selected
67265         small initial table sizes.
67267 2009-06-17  Eric Blake  <ebb9@byu.net>
67269         hash: minor cleanups
67270         * lib/hash.h (hash_entry): Make opaque, by moving...
67271         * lib/hash.c (hash_entry): ...here.
67272         (hash_insert): Clarify restrictions on what can be inserted.
67273         (hash_get_next): Clarify when it is safe to remove an element
67274         during traversal.
67275         (check_tuning): Skip verification when tuning is known safe.
67276         (hash_initialize): Clarify restrictions on tuning.
67278 2009-06-17  Jim Meyering  <jim@meyering.net>
67279         and Eric Blake  <ebb9@byu.net>
67281         hash-tests: new module
67282         * modules/hash-tests: New file.
67283         * tests/test-hash.c: New file.
67285 2009-06-17  Eric Blake  <ebb9@byu.net>
67287         strstr-simple: document new module
67288         * MODULES.html.sh: Document new module.
67290         strstr, strcasestr: replace on platforms with broken memchr
67291         * modules/strstr: Split into...
67292         * modules/strstr-simple: ...new module that does not care about
67293         performance, but does care about glibc bug.
67294         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
67295         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
67296         if platform memchr is broken, per Debian bug 521737.
67297         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
67298         memchr.
67299         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
67300         * doc/posix-functions/strstr.texi (strstr): Document the fix.
67301         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
67302         * modules/mountlist (Depends-on): Add strstr-simple.
67303         * modules/gen-uni-tables (Depends-on): Likewise.
67304         * modules/argz (Depends-on): Add strstr.
67306 2009-06-17  Bruno Haible  <bruno@clisp.org>
67308         * modules/posix_spawn-internal (Depends-on): Add errno.
67310 2009-06-17  Bruno Haible  <bruno@clisp.org>
67312         Define missing ESTALE on Interix 3.5.
67313         * lib/errno.in.h (ESTALE): Assign a value if missing.
67314         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
67315         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
67316         missing.
67317         * doc/posix-headers/errno.texi: Mention the Interix bug.
67318         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
67320 2009-06-15  Eric Blake  <ebb9@byu.net>
67322         memchr, memchr2: add valgrind exception
67323         * lib/memchr.valgrind: New file.
67324         * lib/memchr2.valgrind: New file.
67325         * modules/memchr (Files): Distribute valgrind file.
67326         * modules/memchr2 (Files): Likewise.
67328         docs: memchr is no longer obsolete
67329         * MODULES.html.sh: Move memchr from obsolete to string.h section.
67330         * lib/string.in.h (memchr): Simplify logic.
67332 2009-06-14  Jim Meyering  <meyering@redhat.com>
67334         link-follow: fix the "checking..." message to not mention trailing slash
67335         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
67336         never considered trailing slashes.
67338 2009-06-14  Bruno Haible  <bruno@clisp.org>
67340         * m4/memchr.m4: Mention also the bug on IA-64.
67341         * doc/posix-functions/memchr.texi: Likewise.
67343 2009-06-12  Eric Blake  <ebb9@byu.net>
67345         memchr: detect broken x86_64 and alpha implementations
67346         * modules/memchr-tests (Depends-on): Move mmap detection...
67347         * modules/memchr (Depends-on): ...here.
67348         (configure.ac): Set indicator.
67349         * lib/string.in.h (memchr): Declare replacement.
67350         * modules/string (Makefile.am): Trigger replacement.
67351         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
67352         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
67353         bugs.
67354         * doc/posix-functions/memchr.texi (memchr): Document the bug.
67355         * modules/getpagesize (License): Relax license.
67357 2009-06-11  Bruno Haible  <bruno@clisp.org>
67359         * lib/idpriv.h: Add more references.
67361 2009-06-08  Bruno Haible  <bruno@clisp.org>
67363         Tests for module 'idpriv-droptemp'.
67364         * modules/idpriv-droptemp-tests: New file.
67365         * tests/test-idpriv-droptemp.sh: New file.
67366         * tests/test-idpriv-droptemp.su.sh: New file.
67367         * tests/test-idpriv-droptemp.c: New file.
67369         New module 'idpriv-droptemp'.
67370         * lib/idpriv-droptemp.c: New file.
67371         * modules/idpriv-droptemp: New file.
67373 2009-06-08  Bruno Haible  <bruno@clisp.org>
67375         Tests for module 'idpriv-drop'.
67376         * modules/idpriv-drop-tests: New file.
67377         * tests/test-idpriv-drop.sh: New file.
67378         * tests/test-idpriv-drop.su.sh: New file.
67379         * tests/test-idpriv-drop.c: New file.
67381         New module 'idpriv-drop'.
67382         * lib/idpriv.h: New file.
67383         * lib-idpriv-drop.c: New file.
67384         * m4/idpriv.m4: New file.
67385         * modules/idpriv-drop: New file.
67387 2009-06-08  Bruno Haible  <bruno@clisp.org>
67389         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
67390         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
67391         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
67392         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
67393         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
67394         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
67395         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
67397 2009-06-08  Eric Blake  <ebb9@byu.net>
67399         test-strstr: use memory fence, when possible
67400         * tests/test-strstr.c (main): Use memory fence, in order to be
67401         more likely to trigger Debian bug 521737.
67402         * modules/strstr-tests (Files): Pull in additional files.
67404         memchr: no longer obsolete, for wider field testing
67405         * modules/memchr (Status, Notice): Delete, this module is no
67406         longer obsolete.
67407         * modules/vasnprintf (Depends-on): Add memchr.
67409 2009-06-07  Jim Meyering  <meyering@redhat.com>
67411         hash: declare some functions with the warn_unused_result attribute
67412         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
67414 2009-06-07  Bruno Haible  <bruno@clisp.org>
67416         * tests/test-alignof.c: Don't test int64_t if it does not exist.
67417         Reported by Eric Blake.
67419 2009-06-06  Eric Blake  <ebb9@byu.net>
67421         test-alignof: fix typo with long double
67422         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
67423         compiler error.
67425 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
67427         Escape non-texinfo { and }s.
67428         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
67429         markup error.
67431 2009-06-04  Jim Meyering  <meyering@redhat.com>
67433         gitlog-to-changelog: don't infloop on an empty commit log
67434         * build-aux/gitlog-to-changelog: Warn about an empty log message.
67435         Reported by Boris Petersen <transacid@centerim.org>.
67437 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
67439         version-etc: extend for packagers
67440         Add three new configure options, intended for packagers:
67441           --with-packager="packager name"
67442           --with-packager-version="packager-specific version"
67443           --with-packager-bug-reports="packager bug reporting"
67444         An example with coreutils:
67445           $ ./configure \
67446             --with-packager=Gentoo \
67447             --with-packager-bug-report=http://bugs.gentoo.org/ \
67448             --with-packager-version="patchset 1.6"
67449           $ ./src/ls --version | head -n2
67450           ls (GNU coreutils) 7.1-dirty
67451           Packaged by Gentoo (patchset 1.6)
67452         Note that the bug reporting info via --help doesn't show up because
67453         coreutils uses its own custom emit_bug_reporting_address() implementation
67454         in src/system.h.  If it didn't, it'd look like:
67455           $ ./src/ls --help | tail -n4
67456           Report bugs to <bug-coreutils@gnu.org>.
67457           Report Gentoo bugs to <http://bugs.gentoo.org/>.
67458           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
67459           General help using GNU software: <http://www.gnu.org/gethelp/>.
67460         * lib/version-etc.c: Print new information, if provided.
67461         * m4/version-etc.m4: New file.
67462         * modules/version-etc (Files): Add m4/version-etc.m4.
67463         (configure.ac): Add gl_VERSION_ETC.
67465 2009-05-31  Bruno Haible  <bruno@clisp.org>
67467         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
67468         and 'int64_t'.
67469         * modules/alignof-tests (Dependencies): Add stdint.
67470         Reported by Eric Blake.
67472 2009-05-31  Bruno Haible  <bruno@clisp.org>
67474         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
67475         restriction due to compiler bugs.
67476         Reported by Eric Blake.
67478 2009-05-31  Simon Josefsson  <simon@josefsson.org>
67479             Bruno Haible  <bruno@clisp.org>
67481         Fix test-alignof failure.
67482         * lib/alignof.h (alignof_slot): New macro.
67483         (alignof_type): New macro, with the same semantics as the previous
67484         'alignof'.
67485         (alignof): Alias to alignof_slot.
67486         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
67487         check that the results are usable as constant expressions.
67489 2009-05-31  Bruno Haible  <bruno@clisp.org>
67491         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
67492         * tests/test-memchr.c (main): Check that memchr does not read past the
67493         first occurrence of the byte.
67494         * tests/test-strstr.c (main): Update comment.
67495         Suggested by Eric Blake.
67497 2009-05-30  Bruno Haible  <bruno@clisp.org>
67499         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
67500         detail how to use dumpbin.
67501         Reported by David Byron <dbyron@dbyron.com>.
67503 2009-06-02  Simon Josefsson  <simon@josefsson.org>
67505         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
67507 2009-06-02  Simon Josefsson  <simon@josefsson.org>
67509         * m4/manywarnings.m4: Add GCC 4.4 warnings.
67511 2009-05-28  Bruno Haible  <bruno@clisp.org>
67513         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
67514         build-aux/ files.
67516 2009-05-28  Simon Josefsson  <simon@josefsson.org>
67518         * gnulib-tool (func_import): Transform license on build-aux/ files too.
67520 2009-05-27  Simon Josefsson  <simon@josefsson.org>
67522         * gnulib-tool (sed_transform_main_lib_file)
67523         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
67524         regexps.
67526 2009-05-26  Simon Josefsson  <simon@josefsson.org>
67528         * tests/test-strstr.c: Add another self-test.
67529         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
67530         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
67532 2009-05-23  Bruno Haible  <bruno@clisp.org>
67534         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
67535         change.
67537 2009-05-21  Bruno Haible  <bruno@clisp.org>
67539         Simplify use of mode_t varargs.
67540         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
67541         uses 'mode_t' or 'int'.
67542         * lib/openat.c (openat): Likewise.
67543         * lib/open-safer.c (open_safer): Likewise.
67544         * m4/mode_t.m4: New file.
67545         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
67546         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
67547         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
67548         * modules/open (Files): Add m4/mode_t.m4.
67549         * modules/openat (Files): Likewise.
67550         * modules/fcntl-safer (Files): Likewise.
67551         Suggested by Eric Blake.
67553 2009-05-21  Pádraig Brady  <P@draigbrady.com>
67555         * doc/glibc-functions/fallocate.texi: New file.
67556         * doc/gnulib.texi: Include it.
67558 2009-05-21  Eric Blake  <ebb9@byu.net>
67559             Bruno Haible  <bruno@clisp.org>
67561         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
67562         invocations.
67563         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
67565 2009-05-21  Eric Blake  <ebb9@byu.net>
67566             Bruno Haible  <bruno@clisp.org>
67568         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
67569         include_next. Fix of 2008-11-20 commit.
67570         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
67571         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
67572         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
67573         NEXT_MATH_H.
67574         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
67575         instead of NEXT_MATH_H.
67577 2009-05-21  Bruno Haible  <bruno@clisp.org>
67579         Avoid redefinition warnings for SIZE_MAX.
67580         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
67581         Reported by Simon Josefsson.
67583 2009-05-21  Bruno Haible  <bruno@clisp.org>
67585         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
67586         AC_CACHE_VAL.
67588 2009-05-20  Bruno Haible  <bruno@clisp.org>
67590         Make zeroptr.h work on mingw.
67591         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
67592         mprotect.
67593         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
67594         * modules/memchr2-tests (configure.ac): Likewise.
67595         * modules/memcmp-tests (configure.ac): Likewise.
67596         * modules/memmem-tests (configure.ac): Likewise.
67597         * modules/memrchr-tests (configure.ac): Likewise.
67598         Reported by Simon Josefsson.
67600 2009-05-20  Simon Josefsson  <simon@josefsson.org>
67602         * tests/test-glob.c: Include string.h for strcmp prototype.
67604 2009-05-20  Simon Josefsson  <simon@josefsson.org>
67606         * modules/getdelim (Depends-on): Add explicit stdint, although it
67607         was implicitly already pulled in via realloc-posix.
67608         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
67610 2009-05-20  Simon Josefsson  <simon@josefsson.org>
67612         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
67613         G. Christensen" <tgc@jupiterrise.com>.
67614         * m4/sys_socket_h.m4: Check for sa_family_t.
67615         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
67616         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
67617         * tests/test-sys_socket.c: Check that sa_family_t works.
67619 2009-05-18  Eric Blake  <ebb9@byu.net>
67621         maint.mk: allow gnulib_dir in VPATH build
67622         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
67624 2009-05-15  Jim Meyering  <meyering@redhat.com>
67626         maint.mk: Give gnulib_dir a default definition.
67627         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
67628         Thus, most packages no longer need to specify this variable in cfg.mk
67630 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
67632         rename.m4: fix typos that would make non-mingw cross-configure fail
67633         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
67635 2009-05-13  Eric Blake  <ebb9@byu.net>
67637         mmap-anon: avoid out-of-order autoconf expansion
67638         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
67639         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
67640         * modules/memchr-tests (Depends-on): Add extensions.
67641         * modules/memchr2-tests (Depends-on): Add extensions.
67642         * modules/memcmp-tests (Depends-on): Add extensions.
67643         * modules/memmem-tests (Depends-on): Add extensions.
67644         * modules/memrchr-tests (Depends-on): Add extensions.
67646 2009-05-13  Bruno Haible  <bruno@clisp.org>
67648         Make some tests ISO C 99 compliant.
67649         * tests/zerosize-ptr.h: New file.
67650         * tests/test-memchr.c: Include zerosize-ptr.h.
67651         (main): Use a zero-size object pointer instead of NULL.
67652         * tests/test-memchr2.c: Include zerosize-ptr.h.
67653         (main): Use a zero-size object pointer instead of NULL.
67654         * tests/test-memcmp.c: Include zerosize-ptr.h.
67655         (main): Use a zero-size object pointer instead of NULL.
67656         * tests/test-memmem.c: Include zerosize-ptr.h.
67657         (main): Use a zero-size object pointer instead of NULL.
67658         * tests/test-memrchr.c: Include zerosize-ptr.h.
67659         (main): Use a zero-size object pointer instead of NULL.
67660         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
67661         m4/mmap-anon.m4.
67662         (Depends-on): Add getpagesize.
67663         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
67664         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
67665         m4/mmap-anon.m4.
67666         (Depends-on): Add getpagesize.
67667         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
67668         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
67669         m4/mmap-anon.m4.
67670         (Depends-on): Add getpagesize.
67671         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
67672         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
67673         m4/mmap-anon.m4.
67674         (Depends-on): Add getpagesize.
67675         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
67676         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
67677         m4/mmap-anon.m4.
67678         (Depends-on): Add getpagesize.
67679         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
67681 2009-05-12  Bruno Haible  <bruno@clisp.org>
67683         Tests for module 'alignof'.
67684         * modules/alignof-tests: New file.
67685         * tests/test-alignof.c: New file.
67687 2009-05-12  Bruno Haible  <bruno@clisp.org>
67689         Fix alignof macro.
67690         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
67691         vendor compilers that are always correct.
67693 2009-05-12  Bruno Haible  <bruno@clisp.org>
67695         Make the MAP_ANONYMOUS detection work on HP-UX 11.
67696         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
67697         not whether its fully works.
67699 2009-05-12  Bruno Haible  <bruno@clisp.org>
67701         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
67703 2009-05-12  Jim Meyering  <meyering@redhat.com>
67705         * top/maint.mk: Adjust backslash alignment.
67707 2009-05-11  Simon Josefsson  <simon@josefsson.org>
67709         * top/maint.mk: Make $(srcdir)/build-aux configurable.
67711 2009-05-11  Eric Blake  <ebb9@byu.net>
67713         argp: avoid undefined behavior
67714         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
67715         macros.
67717 2009-05-08  Simon Josefsson  <simon@josefsson.org>
67719         * tests/test-vc-list-files-git.sh: Do git config of user.email and
67720         user.name to prevent git commit from complaining.
67722 2009-05-10  Bruno Haible  <bruno@clisp.org>
67724         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
67725         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
67726         it rewrites every file name only once.
67727         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
67729 2009-05-08  Bruno Haible  <bruno@clisp.org>
67731         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
67732         instead of 'max'.
67734 2009-05-08  Simon Josefsson  <simon@josefsson.org>
67736         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
67737         sockaddr_storage test.
67739 2009-05-07  Simon Josefsson  <simon@josefsson.org>
67741         * modules/sys_socket (Makefile.am): Substitute
67742         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
67743         * m4/sys_socket_h.m4: Check for sockaddr_storage.
67744         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
67745         * tests/test-sys_socket.c: Check sockaddr_storage.
67747 2009-05-08  Bruno Haible  <bruno@clisp.org>
67749         New module 'alignof'.
67750         * lib/alignof.h: New file.
67751         * modules/alignof: New file.
67753 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
67754             Bruno Haible  <bruno@clisp.org>
67756         Fix test-file-has-acl on FreeBSD.
67757         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
67758         mask is implicitly added.
67759         * tests/test-file-has-acl.c: Include <signal.h>.
67760         (main): Terminate the test after 5 seconds.
67761         * modules/acl-tests (configure.ac): Check for alarm function.
67763 2009-05-04  Bruno Haible  <bruno@clisp.org>
67765         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
67766         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
67767         * modules/errno (configure.ac): Drop AC_REQUIRE.
67768         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
67769         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
67771 2009-05-04  Simon Josefsson  <simon@josefsson.org>
67773         * modules/glob-tests: New module.
67774         * tests/test-glob.c: Add.
67776 2009-05-04  Simon Josefsson  <simon@josefsson.org>
67778         * modules/fnmatch-tests: New module.
67779         * tests/test-fnmatch.c: Add.
67781 2009-05-04  Eric Blake  <ebb9@byu.net>
67783         maint: make the new no-submodule-changes rule VPATH-safe
67784         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
67786 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
67787             Bruno Haible  <bruno@clisp.org>
67789         acl: Fix infinite loop on FreeBSD.
67790         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
67791         of return value from acl_get_entry.
67792         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
67793         Likewise.
67795 2009-05-03  Bruno Haible  <bruno@clisp.org>
67797         * lib/acl-internal.h (acl_entries): Clarify return value.
67798         * lib/acl_entries.c (acl_entries): Likewise.
67800 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
67802         Bug fix in acl module.
67803         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
67805 2009-05-03  Bruno Haible  <bruno@clisp.org>
67807         Create gperf-generated file in the source dir, not in the build dir.
67808         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
67809         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
67810         * modules/unicase/locale-language (unicase/locale-languages.h):
67811         Likewise.
67812         * modules/unicase/special-casing (unicase/special-casing-table.h):
67813         Likewise.
67814         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
67815         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
67816         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
67817         Reported by Ralf Wildenhues.
67819 2009-05-03  Bruno Haible  <bruno@clisp.org>
67821         * modules/fnmatch (Description, configure.ac): Taken from
67822         fnmatch-posix.
67823         * modules/fnmatch-posix: Turn into a symbolic reference to the
67824         'fnmatch' module, and deprecate.
67825         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
67827 2009-05-03  Bruno Haible  <bruno@clisp.org>
67829         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
67830         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
67831         Reported by Ralf Wildenhues.
67833 2009-05-04  Simon Josefsson  <simon@josefsson.org>
67835         * m4/fnmatch.m4: Fix fnmatch re-define.
67837 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
67839         priv-set: new module and tests; adapt write-any-file
67840         * lib/priv-set.c: New file.
67841         * lib/priv-set.h: New file.
67842         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
67843         * lib/write-any-file.c: Simplify by using priv-set module.
67844         * m4/priv-set.m4: New file.
67845         * modules/priv-set: New file.
67846         * modules/unlinkdir: Add dependency on priv-set module.
67847         * modules/write-any-file: Likewise.
67849         Tests for module 'priv-set'.
67850         * modules/priv-set-tests: New file.
67851         * tests/test-priv-set.c: New file.
67853 2009-05-03  Jim Meyering  <meyering@redhat.com>
67854             Bruno Haible  <bruno@clisp.org>
67856         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
67857         use the converted UTF-8 variant of the name instead.
67859 2009-05-03  Jim Meyering  <meyering@redhat.com>
67861         tests: tighten some getdate tests
67862         * tests/test-getdate.c (main): Tighten tests: require equality,
67863         not just greater than.  Set TZ envvar to UTC0.
67865 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
67867         getdate: correctly interpret "next monday" when run on a Monday
67868         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
67869         that e.g., "next tues" (when run on a tuesday) results in a date
67870         that is one week in the future, and not today's date.
67871         I.e., add a week when the wday is the same as the current one.
67872         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
67873         and earlier by Martin Bernreuther and Jan Minář.
67874         * tests/test-getdate.c (main): Check that "next DAY" is always in
67875         the future and that "last DAY" is always in the past.
67877 2009-05-02  Jim Meyering  <meyering@redhat.com>
67879         build: ensure that a release build fails when a submodule is unclean
67880         * top/maint.mk (no-submodule-changes): New rule.
67881         (alpha beta major): Depend on it.
67883 2009-05-02  Bruno Haible  <bruno@clisp.org>
67885         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
67886         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
67887         shell variable gl_fnmatch_required to detect which variant is
67888         requested.
67889         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
67890         gl_FUNC_FNMATCH_POSIX.
67891         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
67892         exclude fnmatch-posix.
67894 2009-05-02  Bruno Haible  <bruno@clisp.org>
67896         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
67897         * modules/mbsrtowcs (License): Change to LGPLv2+.
67898         * modules/strnlen1 (License): Likewise.
67899         Reported by Simon Josefsson.
67901 2009-05-02  Bruno Haible  <bruno@clisp.org>
67903         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
67904         "cross".
67905         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
67906         gnulib-tool was called with option --source-base=lib.
67908 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67910         Use automake *-local hooks without commands, for extensibility.
67911         * modules/localcharset (Makefile.am): Rename install-exec-local
67912         rule to install-exec-localcharset, and make it a prerequisite of
67913         install-exec-local.  Likewise, rename the uninstall-local rule to
67914         uninstall-localcharset, and make it a prerequisite of the former.
67916 2009-05-01  Bruno Haible  <bruno@clisp.org>
67918         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
67919         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
67920         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
67921         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
67922         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
67923         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
67924         m4/locale-zh.m4, m4/codeset.m4.
67926         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
67927         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
67928         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
67929         m4/locale-zh.m4.
67931         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
67932         REPLACE_WCRTOMB if mbstate_t must be replaced.
67933         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
67934         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
67936 2009-05-01  Bruno Haible  <bruno@clisp.org>
67938         Avoid compiler warnings when redefining macros defined by <libintl.h>.
67939         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
67940         dngettext, dcngettext, textdomain, bindtextdomain,
67941         bind_textdomain_codeset): Undefine before redefining.
67943 2009-04-30  Bruno Haible  <bruno@clisp.org>
67945         Fix bug introduced on 2009-04-25.
67946         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
67947         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
67948         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
67949         is defined.
67950         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
67951         is defined.
67952         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
67953         is defined.
67954         Reported by Elbert_Pol <elbert.pol@gmail.com>.
67956 2009-04-28  Bruno Haible  <bruno@clisp.org>
67958         Comment tweaks.
67959         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
67960         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
67961         * lib/unicase.h (u*_casexfrm): Likewise.
67962         Reported by Paolo Bonzini.
67964 2009-04-28  Bruno Haible  <bruno@clisp.org>
67966         Fix a compilation error.
67967         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
67968         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
67969         Reported by Jim Meyering.
67971 2009-04-27  Bruno Haible  <bruno@clisp.org>
67973         New module 'libunistring'.
67974         * modules/libunistring: New file.
67975         * m4/libunistring.m4: New file.
67976         * MODULES.html.sh (Unicode string functions): Add it.
67978 2009-04-27  Eric Blake  <ebb9@byu.net>
67980         maint.mk: allow package-specific header to provide <config.h>
67981         * top/maint.mk (sc_require_config_h): New variable.
67982         (sc_require_config_h, sc_require_config_h_first): Use it.
67984 2009-04-27  Simon Josefsson  <simon@josefsson.org>
67986         * top/maint.mk (sc_avoid_if_before_free): Except
67987         useless-if-before-free script.
67989 2009-04-27  Eric Blake  <ebb9@byu.net>
67991         maintainer-makefile: depend on all required helper scripts
67992         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
67993         useless-if-before-free.
67994         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
67995         version, rather than assuming gnulib checkout is available.
67996         Reported by Simen Josefsson.
67998 2009-04-26  Bruno Haible  <bruno@clisp.org>
68000         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
68001         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
68002         "../" or "..".
68004 2009-04-26  Bruno Haible  <bruno@clisp.org>
68006         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
68007         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
68008         AC_LIB_HAVE_LINKFLAGS.
68010 2009-04-26  Bruno Haible  <bruno@clisp.org>
68012         Simplify calling convention of u*_conv_from_encoding.
68013         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
68014         u32_conv_from_encoding): Expect a resultbuf argument and return the
68015         result directly as a pointer.
68016         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
68017         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
68018         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
68019         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
68020         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
68021         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
68022         Update.
68023         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
68024         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
68025         * lib/vasnprintf.c (VASNPRINTF): Update.
68026         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
68027         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
68028         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
68029         * NEWS: Mention the change.
68031 2009-04-26  Bruno Haible  <bruno@clisp.org>
68033         Simplify calling convention of u*_conv_to_encoding.
68034         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
68035         u32_conv_to_encoding): Expect a resultbuf argument and return the
68036         result directly as a pointer.
68037         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
68038         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
68039         freeing scaled_offsets if mem_iconveha failed.
68040         * lib/unicase/u-casexfrm.h (FUNC): Update.
68041         * lib/uninorm/u-normxfrm.h (FUNC): Update.
68042         * lib/vasnprintf.c (VASNPRINTF): Update.
68043         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
68044         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
68045         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
68046         * NEWS: Mention the change.
68048 2009-04-26  Bruno Haible  <bruno@clisp.org>
68050         Avoid test failures on AIX and OSF/1.
68051         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
68052         malloc(0).
68053         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
68054         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
68055         Likewise.
68056         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
68057         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
68058         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
68059         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
68060         * doc/posix-functions/malloc.texi: Document the portability problem
68061         related to malloc(0).
68063 2009-04-26  Bruno Haible  <bruno@clisp.org>
68065         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
68066         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
68067         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
68069 2009-04-25  Bruno Haible  <bruno@clisp.org>
68071         Avoid link error when creating a namespace clean library.
68072         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
68073         as macro with arguments if already defined as an alias.
68074         * lib/signbitf.c (gl_signbitf): Don't undefine.
68075         * lib/signbitd.c (gl_signbitd): Don't undefine.
68076         * lib/signbitl.c (gl_signbitl): Don't undefine.
68078 2009-04-25  Jim Meyering  <meyering@redhat.com>
68080         vc-list-files: fix another quoting bug
68081         * build-aux/vc-list-files: Avoid sed backslash expansion
68082         of pathological directory names.
68084 2009-04-25  Eric Blake  <ebb9@byu.net>
68086         vc-list-files: fix shell quoting error
68087         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
68088         timestamp.
68090 2009-04-25  Jim Meyering  <meyering@redhat.com>
68092         vc-list-files: restore lost functionality with subdir argument
68093         * build-aux/vc-list-files: When given a non-"." sub-directory
68094         argument, substitute the $dir/ prefix back onto each resulting name.
68095         Otherwise, coreutils' root_tests check would fail.
68097 2009-04-24  Eric Blake  <ebb9@byu.net>
68099         vc-list-files: ignore git symlinks
68100         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
68101         than ls-files, to ignore git symlinks.
68103         maint.mk: import improvements from m4
68104         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
68105         (move_if_change): Delete unused macro.
68106         (news-date-check, vc-diff-check): Support VPATH builds.
68107         (announcement): Likewise.  Split --bootstrap-tools list...
68108         (boostrap-tools): ...into separate list, which can be overridden
68109         in cfg.mk.
68110         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
68111         requiring dependency on useless-if-before-free module.
68112         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
68113         Support VPATH builds.
68115 2009-04-24  Jim Meyering  <meyering@redhat.com>
68117         maint.mk: remove coreutils-specific rules and variables
68118         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
68119         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
68120         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
68122         maint.mk: remove obsolete rule
68123         * top/maint.mk (rel-check): Remove rule.
68124         (WGET, WGETFLAGS): Remove now-unused variables.
68126 2009-04-24  Simon Josefsson  <simon@josefsson.org>
68128         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
68129         consistency.
68131         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
68132         '$(PATH_SEPARATOR)' instead of ':'.
68134 2009-04-24  Simon Josefsson  <simon@josefsson.org>
68136         * lib/getopt1.c (main): Use 'const' for static array.
68138 2009-04-24  Simon Josefsson  <simon@josefsson.org>
68140         * top/maint.mk: Sync with coreutils.
68141         * NEWS: Explain incompatibilities.
68143 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
68144             Bruno Haible  <bruno@clisp.org>
68146         Fix cross-compilation results.
68147         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
68148         statement, as third argument of AC_TRY_RUN.
68149         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
68150         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
68151         Likewise.
68152         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
68153         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
68154         Likewise.
68155         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
68156         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
68157         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
68159 2009-04-20  Bruno Haible  <bruno@clisp.org>
68161         Avoid test failure on mingw.
68162         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
68164 2009-04-20  Bruno Haible  <bruno@clisp.org>
68166         Avoid compilation error on mingw.
68167         * modules/localename-tests (Depends-on): Add locale.
68169 2009-04-19  Bruno Haible  <bruno@clisp.org>
68171         Support for building a shared library on Windows platforms.
68172         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
68173         (main): Test the presence of UNINORM_NFC here.
68174         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
68175         (main): Test the presence of UNINORM_NFD here.
68176         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
68177         (main): Test the presence of UNINORM_NFKC here.
68178         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
68179         (main): Test the presence of UNINORM_NFKD here.
68181 2009-04-19  Bruno Haible  <bruno@clisp.org>
68183         Avoid a compiler warning.
68184         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
68185         Change type of variable 'sequence'.
68187 2009-04-19  Bruno Haible  <bruno@clisp.org>
68189         * modules/configmake (Makefile.am): When the contents of configmake.h
68190         does not change, arrange to preserve its modification time.
68192 2009-04-17  Simon Josefsson  <simon@josefsson.org>
68194         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
68195         gettext domain.
68197 2009-04-16  Jim Meyering  <meyering@redhat.com>
68199         useless-if-before-free: improve conversion code
68200         * build-aux/useless-if-before-free: Adjust code-in-comment to match
68201         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
68203 2009-04-14  Bruno Haible  <bruno@clisp.org>
68205         * modules/fcntl (Depends-on): Add extensions.
68206         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
68208 2009-04-12  Ben Pfaff  <blp@gnu.org>
68210         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
68211         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
68213 2009-03-20  Ben Pfaff  <blp@gnu.org>
68215         Make rename replace existing destinations on Windows.
68216         * m4/rename.m4: Add test for Mingw.
68217         * lib/rename.c: Add rename replacement that uses MoveFileEx with
68218         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
68219         * doc/posix-functions/rename.texi: Document.
68221 2009-04-10  Bruno Haible  <bruno@clisp.org>
68223         New include file "iconveh.h".
68224         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
68225         * lib/striconveh.h: Include it.
68226         (enum iconv_ilseq_handler): Remove definition.
68227         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
68228         striconveh.h.
68229         * lib/striconveha.c: Include striconveh.h.
68230         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
68231         * modules/striconveh (Files): Add lib/iconveh.h.
68232         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
68233         lib/striconveh.h.
68235 2009-04-10  Bruno Haible  <bruno@clisp.org>
68237         * lib/uniconv.h: Update comment.
68239 2009-04-10  Bruno Haible  <bruno@clisp.org>
68241         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
68242         always.
68243         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
68244         * lib/unistr/u16-mbtouc-aux.c: Likewise.
68245         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
68246         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
68247         "unistring-notinline.h", so that the function gets defined always.
68248         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
68249         * lib/unistr/u8-uctomb.c: Likewise.
68250         * lib/unistr/u16-mbtouc.c: Likewise.
68251         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
68252         * lib/unistr/u16-uctomb.c: Likewise.
68253         * lib/unistr/u32-mbtouc.c: Likewise.
68254         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
68255         * lib/unistr/u32-uctomb.c: Likewise.
68257 2009-04-10  Bruno Haible  <bruno@clisp.org>
68259         Mark 'utime' obsolete.
68260         * modules/utime (Status, Notice): New sections.
68261         Suggested by Jim Meyering.
68263         Fix cross-compile guess for utime test.
68264         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
68265         autoconf.
68266         * doc/posix-functions/utime.texi: Give more precisions.
68267         Reported by Jan <ipif@ymail.com>.
68269 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
68271         filevercmp: correct today's change
68272         * lib/filevercmp.c: Also handle coreutils' test inputs.
68273         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
68275         Fix regression in 'filevercmp' module. Thanks Sven Joachim
68276         for reporting it.
68277         * lib/filevercmp.c: Special handle for "", "." and "..".
68278         * tests/test-filevercmp.c: Enlarge the set suite.
68280 2009-04-07  Jim Meyering  <meyering@redhat.com>
68282         useless-if-before-free: show how to remove braced useless free, too
68283         * build-aux/useless-if-before-free: still only in a comment, though.
68285 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
68287         maint.mk: import changes to syntax-check macros from coreutils
68288         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
68289         Use them in the relevant macros.
68291 2009-04-06  Bruno Haible  <bruno@clisp.org>
68293         Fix unportable use of bit-fields.
68294         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
68295         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
68296         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
68298 2009-04-06  Bruno Haible  <bruno@clisp.org>
68300         Avoid test failures on AIX and OSF/1.
68301         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
68302         that malloc(0) = NULL.
68303         * tests/unicase/test-u8-tolower.c (check): Likewise.
68304         * tests/unicase/test-u8-totitle.c (check): Likewise.
68305         * tests/unicase/test-u8-toupper.c (check): Likewise.
68306         * tests/unicase/test-u16-casefold.c (check): Likewise.
68307         * tests/unicase/test-u16-tolower.c (check): Likewise.
68308         * tests/unicase/test-u16-totitle.c (check): Likewise.
68309         * tests/unicase/test-u16-toupper.c (check): Likewise.
68310         * tests/unicase/test-u32-casefold.c (check): Likewise.
68311         * tests/unicase/test-u32-tolower.c (check): Likewise.
68312         * tests/unicase/test-u32-totitle.c (check): Likewise.
68313         * tests/unicase/test-u32-toupper.c (check): Likewise.
68314         * tests/uninorm/test-u8-nfc.c (check): Likewise.
68315         * tests/uninorm/test-u8-nfd.c (check): Likewise.
68316         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
68317         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
68318         * tests/uninorm/test-u16-nfc.c (check): Likewise.
68319         * tests/uninorm/test-u16-nfd.c (check): Likewise.
68320         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
68321         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
68322         * tests/uninorm/test-u32-nfc.c (check): Likewise.
68323         * tests/uninorm/test-u32-nfd.c (check): Likewise.
68324         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
68325         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
68327 2009-04-05  Bruno Haible  <bruno@clisp.org>
68329         Work around an autoconf limitation.
68330         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
68331         comment line if it would be longer than 3 KB.
68333 2009-04-05  Bruno Haible  <bruno@clisp.org>
68335         Avoid test failure with libiconv-1.13.
68336         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
68337         of the expected test results.
68339 2009-04-05  Bruno Haible  <bruno@clisp.org>
68341         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
68342         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
68343         that it should be installed.
68345 2009-04-05  Bruno Haible  <bruno@clisp.org>
68347         * gnulib-tool: New option --copy-file.
68348         (func_usage): Document it.
68349         (func_dest_tmpfilename): Moved out of func_import.
68350         (func_add_file, func_update_file): New functions, extracted from
68351         func_import.
68352         (func_import): Update.
68354 2009-04-05  Karl Berry  <karl@gnu.org>
68356         * README: prominently mention gnulib-tool.
68357         Rearrange sections so getting the code is near the top.
68359 2009-04-05  Bruno Haible  <bruno@clisp.org>
68361         * lib/unicase.h: Mention u*_cmp2.
68362         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
68363         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
68364         * lib/unicase/ulc-casecmp.c: Likewise.
68365         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
68366         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
68367         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
68368         unistr/u8-cmp.
68369         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
68370         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
68371         unistr/u16-cmp.
68372         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
68373         unistr/u32-cmp.
68375         * lib/uninorm.h: Mention u*_cmp2.
68376         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
68377         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
68378         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
68379         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
68380         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
68381         unistr/u8-cmp.
68382         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
68383         unistr/u16-cmp.
68384         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
68385         unistr/u32-cmp.
68387         New module 'unistr/u32-cmp2'.
68388         * lib/unistr/u32-cmp2.c: New file.
68389         * modules/unistr/u32-cmp2: New file.
68391         New module 'unistr/u16-cmp2'.
68392         * lib/unistr/u16-cmp2.c: New file.
68393         * modules/unistr/u16-cmp2: New file.
68395         New module 'unistr/u8-cmp2'.
68396         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
68397         * lib/unistr/u8-cmp2.c: New file.
68398         * lib/unistr/u-cmp2.h: New file.
68399         * modules/unistr/u8-cmp2: New file.
68401 2009-04-05  Bruno Haible  <bruno@clisp.org>
68403         * lib/unictype.h (uc_property_is_valid): New macro.
68404         * tests/unictype/test-pr_byname.c (main): Use it.
68406         * lib/unistr.h: Doc fixes.
68407         * lib/uniconv.h: Doc fixes.
68408         * lib/unictype.h: Doc fixes.
68410 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
68412         Port coreutils 7.2 to Solaris 8.
68414         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
68415         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
68416         for Solaris 8.  This is a bit of a hack, as it means it's the
68417         caller's responsibility to add -lnsl if needed, but most likely it
68418         won't be needed since only getaddrinfo uses this and getaddrinfo
68419         isn't needed on Solaris 8.
68421         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
68422         problem to Solaris 8 encountered with coreutils 7.2, which
68423         resulted in a message "fnmatch.c:292: warning: passing argument 4
68424         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
68425         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
68427 2009-04-03  Simon Josefsson  <simon@josefsson.org>
68429         * m4/ld-version-script.m4: Add FIXME comment.
68431 2009-04-02  Simon Josefsson  <simon@josefsson.org>
68433         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
68434         SOVERSION variable.
68436 2009-04-02  Bruno Haible  <bruno@clisp.org>
68438         * Makefile (info, html, dvi, pdf): Combine the rules.
68439         Suggested by Jim Meyering.
68441 2009-04-01  Bruno Haible  <bruno@clisp.org>
68443         * Makefile (info, html, dvi, pdf): New targets.
68444         Reported by Reuben Thomas <rrt@sc3d.org>.
68446 2009-04-01  Bruno Haible  <bruno@clisp.org>
68448         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
68449         can be put into PATH.
68450         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
68452 2009-04-01  Bruno Haible  <bruno@clisp.org>
68454         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
68456 2009-04-01  Bruno Haible  <bruno@clisp.org>
68458         Rename module 'visibility'.
68459         * modules/lib-symbol-visibility: Renamed from modules/visibility.
68460         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
68461         * doc/gnulib.texi: Update.
68462         * MODULES.html.sh (Misc): Update.
68463         * NEWS: Mention the change.
68465 2009-04-01  Simon Josefsson  <simon@josefsson.org>
68467         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
68468         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
68469         Eric Blake <ebb9@byu.net> for review.
68470         * MODULES.html.sh: Add lib-msvc-compat.
68471         * doc/gnulib.texi: Link to new section.
68472         * m4/ld-output-def.m4: New file.
68473         * doc/ld-output-def.texi: New file.
68475 2009-04-01  Simon Josefsson  <simon@josefsson.org>
68477         Rename ld-version-script to lib-symbol-versions.  Suggested by
68478         Bruno Haible <bruno@clisp.org>.
68479         * modules/ld-version-script: Renamed to lib-symbol-versions.
68480         * doc/ld-version-script.texi: Fix module name.
68481         * MODULES.html.sh: Add lib-symbol-versions.
68483 2009-03-31  Simon Josefsson  <simon@josefsson.org>
68485         * modules/u64-tests: New file.
68486         * tests/test-u64.c: New file.
68488 2009-03-04  Simon Josefsson  <simon@josefsson.org>
68490         * MODULES.html.sh: Mention u64.
68491         * modules/u64: New module.
68492         * modules/crypto/sha512: Depend on u64 module instead of providing
68493         u64.h.
68495 2009-03-27  Eric Blake  <ebb9@byu.net>
68497         test-strerror: make debugging EAI_SYSTEM easier
68498         * modules/getaddrinfo-tests (Depends-on): Add strerror.
68499         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
68500         failure was EAI_SYSTEM.
68502 2009-03-25  Bruno Haible  <bruno@clisp.org>
68504         Fix a problem with --enable-relocatable on Solaris 7.
68505         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
68506         since 2008-02-24.
68508 2009-03-25  Eric Blake  <ebb9@byu.net>
68510         test-sockets: avoid gcc warning
68511         * tests/test-sockets.c (main): Silence compiler warning.
68513 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
68515         New modules nproc, pthread, contributed by Glen Lenker.
68517         * MODULES.html.sh: Add pthread, nproc.
68518         * lib/nproc.c: New file.
68519         * lib/nproc.h: New file.
68520         * lib/pthread.in.h: New file.
68521         * m4/pthread.m4: New file.
68522         * modules/nproc: New file.
68523         * modules/pthread: New file.
68525 2009-03-24  Simon Josefsson  <simon@josefsson.org>
68527         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
68528         New variable.
68530 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
68532         filevercmp: handle simple~ and numbered.~3~ backup suffixes
68533         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
68534         * tests/test-filevercmp.c: Add tests for backup suffixes.
68536 2009-03-24  Simon Josefsson  <simon@josefsson.org>
68538         * modules/stdlib (Depends-on): Add stdint, needed when defining
68539         struct random_data on, for example, HP-UX 10.20.  Reported by
68540         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
68542 2009-03-24  Simon Josefsson  <simon@josefsson.org>
68544         * lib/readline.c (readline): Call fflush on stdout after printing
68545         prompt.
68547 2009-03-20  Bruno Haible  <bruno@clisp.org>
68549         Remove dependency from 'close' module to -lws2_32 on native Windows.
68550         * lib/close-hook.h: New file.
68551         * lib/close-hook.c: New file.
68552         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
68553         w32sock.h.
68554         (_gl_close_fd_maybe_socket): Remove function.
68555         (rpl_close): Invoke execute_all_close_hooks instead of
68556         _gl_close_fd_maybe_socket.
68557         * lib/sockets.c: Include close-hook.h, w32sock.h.
68558         (close_fd_maybe_socket): New function, essentially from lib/close.c.
68559         (close_sockets_hook): New variable.
68560         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
68561         (gl_sockets_cleanup): Unregister it.
68562         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
68563         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
68564         * modules/close-hook: New file.
68565         * modules/close (Files): Remove lib/w32sock.h.
68566         (Depends-on): Add close-hook.
68567         (Link): Remove section.
68568         * modules/sockets (Files): Add lib/w32sock.h.
68569         (Depends-on): Add close-hook.
68570         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
68571         invocation.
68572         * NEWS: Mention that LIB_CLOSE is gone.
68574 2009-03-23  Eric Blake  <ebb9@byu.net>
68576         signal-tests: test previous patch
68577         * tests/test-signal.c: New file.
68578         * modules/signal-tests: Likewise.
68580         signal.h: always support 'volatile sig_atomic_t'
68581         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
68582         (gl_SIGNAL_H_DEFAULTS): Add a default.
68583         * modules/signal (Makefile.am): Substitute if needed.
68584         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
68585         users can blindly add volatile.
68586         * doc/posix-headers/signal.texi (signal.h): Document it.
68587         Reported by Matthew Woehlke.
68589 2009-03-23  Jim Meyering  <meyering@redhat.com>
68591         pathmax: PATH_MAX: use pathconf only when available
68592         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
68593         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
68594         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
68595         This avoids a link failure in a PSP cross-compilation environment
68596         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
68598         * lib/vasnprintf.c (divide): Fix typo in comment.
68600 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68602         * gnulib-tool (func_filter_filelist): Fix comment.
68604 2009-03-20  Bruno Haible  <bruno@clisp.org>
68606         Make sockets.h self-contained.
68607         * lib/sockets.c: Include sockets.h first.
68608         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
68610 2009-03-19  Eric Blake  <ebb9@byu.net>
68612         doc: mention more functions added in cygwin 1.7.0
68613         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
68614         addition.
68615         * doc/posix-functions/log2f.texi: Likewise.
68617 2009-03-19  Jim Meyering  <meyering@redhat.com>
68619         fsusage: avoid syntax error due to statement-before-declaration
68620         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
68621         after all declarations.  Reported by Matthew Woehlke in
68622         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
68624 2009-03-18  Eric Blake  <ebb9@byu.net>
68626         build-aux/compile: sync from automake
68627         * build-aux/compile: New file, from automake.
68628         * config/srclist.txt: Mention build-aux/compile.
68630 2009-03-17  Bruno Haible  <bruno@clisp.org>
68632         * lib/git-merge-changelog.c: Fix typo in comment.
68633         Reported by Reuben Thomas <rrt@sc3d.org>.
68635 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
68637         * m4/regex.m4: update and improve help for
68638         --without-included-regex.
68640 2009-03-17  Simon Josefsson  <simon@josefsson.org>
68642         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
68643         failure on missing include files.
68645 2009-03-17  Eric Blake  <ebb9@byu.net>
68647         doc: mention more functions added in cygwin 1.7.0
68648         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
68649         addition.
68650         * doc/posix-functions/fwscanf.texi: Likewise.
68651         * doc/posix-functions/swprintf.texi: Likewise.
68652         * doc/posix-functions/swscanf.texi: Likewise.
68653         * doc/posix-functions/vfwprintf.texi: Likewise.
68654         * doc/posix-functions/vfwscanf.texi: Likewise.
68655         * doc/posix-functions/vswprintf.texi: Likewise.
68656         * doc/posix-functions/vswscanf.texi: Likewise.
68657         * doc/posix-functions/vwprintf.texi: Likewise.
68658         * doc/posix-functions/vwscanf.texi: Likewise.
68659         * doc/posix-functions/wcscasecmp.texi: Likewise.
68660         * doc/posix-functions/wcsdup.texi: Likewise.
68661         * doc/posix-functions/wcsftime.texi: Likewise.
68662         * doc/posix-functions/wcsncasecmp.texi: Likewise.
68663         * doc/posix-functions/wprintf.texi: Likewise.
68664         * doc/posix-functions/wscanf.texi: Likewise.
68665         * doc/glibc-functions/gethostbyname2.texi: Likewise.
68667 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68669         maint.mk: really add $(AM_MAKEFLAGS)
68670         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
68671         was inadvertently omitted in the last commit.
68672         Spotted by Bruno Haible.
68674         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
68675         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
68676         $(AM_MAKEFLAGS)' rather than plain `make'.
68678         gnulib-tool: execute $MAKE not make
68679         * gnulib-tool: Default $MAKE to 'make'.
68680         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
68681         than make.  Initialize $MAKE in the do-autobuild script.
68683         gnulib-tool: use $MAKE not make in generated files
68684         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
68685         make, in generated files.  Initialize $MAKE in the do-autobuild
68686         script.
68688         * top/GNUmakefile (_have-git-version-gen): Fix typo.
68690         GNUmakefile: disable parallelism only for multiple, recursive targets
68691         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
68692         additions in the Makefile.
68693         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
68694         by Automake.
68695         (.NOTPARALLEL): Only disable parallel builds if multiple targets
68696         are listed on the command line and at least one of them is
68697         listed in $(ALL_RECURSIVE_TARGETS).
68699 2009-03-14  Bruno Haible  <bruno@clisp.org>
68701         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
68702         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
68703         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
68704         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
68705         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
68706         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
68707         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
68708         unistr/u8-uctomb.
68709         * modules/unistr/u8-strchr (Depends-on): Likewise.
68710         * modules/unistr/u8-strrchr (Depends-on): Likewise.
68711         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
68712         unistr/u16-uctomb.
68713         * modules/unistr/u16-strchr (Depends-on): Likewise.
68714         * modules/unistr/u16-strrchr (Depends-on): Likewise.
68716 2009-03-12  Bruno Haible  <bruno@clisp.org>
68718         Work around select() bug on Interix 3.5.
68719         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
68720         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
68721         * m4/select.m4: New file.
68722         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
68723         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
68724         * modules/select (Files): Add m4/select.m4.
68725         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
68726         * modules/nanosleep (Depends-on): Add select.
68727         * modules/poll (Depends-on): Likewise.
68728         * doc/posix-functions/select.texi: Mention the Interix bug.
68729         Reported by Markus Duft <mduft@gentoo.org>.
68731         * lib/select.c: Renamed from lib/winsock-select.c.
68732         * modules/select (Files): Add lib/select.c, remove
68733         lib/winsock-select.c.
68734         (configure.ac): Update.
68736 2009-03-12  Jim Meyering  <meyering@redhat.com>
68738         avoid gcc warnings about unused macro definitions
68739         * lib/readtokens.c (STREQ): Remove unused definition.
68740         * lib/xmalloc.c (SIZE_MAX): Likewise.
68741         * lib/openat-die.c (N_): Likewise.
68742         * lib/mountlist.c (SIZE_MAX): Remove definition.
68743         Instead, include <stdint.h>.
68744         * lib/readutmp.c: Likewise.
68745         * modules/readutmp (Depends-on): Add stdint.
68746         * modules/mountlist (Depends-on): Add stdint.
68747         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
68749 2009-03-10  Bruno Haible  <bruno@clisp.org>
68751         Tests for module 'mbmemcasecoll'.
68752         * modules/mbmemcasecoll-tests: New file.
68753         * tests/test-mbmemcasecoll1.sh: New file.
68754         * tests/test-mbmemcasecoll2.sh: New file.
68755         * tests/test-mbmemcasecoll3.sh: New file.
68756         * tests/test-mbmemcasecoll.c: New file.
68758         New module 'mbmemcasecoll'.
68759         * lib/mbmemcasecoll.h: New file.
68760         * lib/mbmemcasecoll.c: New file.
68761         * modules/mbmemcasecoll: New file.
68763         * tests/test-mbmemcasecmp.h: New file, extracted from
68764         tests/test-mbmemcasecmp.c.
68765         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
68766         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
68767         (main): Update.
68768         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
68770 2009-03-09  Bruno Haible  <bruno@clisp.org>
68772         Tests for module 'mbmemcasecmp'.
68773         * modules/mbmemcasecmp-tests: New file.
68774         * tests/test-mbmemcasecmp1.sh: New file.
68775         * tests/test-mbmemcasecmp2.sh: New file.
68776         * tests/test-mbmemcasecmp3.sh: New file.
68777         * tests/test-mbmemcasecmp.c: New file.
68779         New module 'mbmemcasecmp'.
68780         * lib/mbmemcasecmp.h: New file.
68781         * lib/mbmemcasecmp.c: New file.
68782         * modules/mbmemcasecmp: New file.
68784 2009-03-09  Bruno Haible  <bruno@clisp.org>
68786         Tests for module 'unicase/ulc-casecoll'.
68787         * modules/unicase/ulc-casecoll-tests: New file.
68788         * tests/unicase/test-ulc-casecoll1.sh: New file.
68789         * tests/unicase/test-ulc-casecoll2.sh: New file.
68790         * tests/unicase/test-ulc-casecoll.c: New file.
68792         New module 'unicase/ulc-casecoll'.
68793         * lib/unicase.h (ulc_casecoll): New declaration.
68794         * lib/unicase/ulc-casecoll.c: New file.
68795         * modules/unicase/ulc-casecoll: New file.
68797         New module 'unicase/ulc-casexfrm'.
68798         * lib/unicase.h (ulc_casexfrm): New declaration.
68799         * lib/unicase/ulc-casexfrm.c: New file.
68800         * modules/unicase/ulc-casexfrm: New file.
68802 2009-03-09  Bruno Haible  <bruno@clisp.org>
68804         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
68805         invocations.
68807         * m4/mbscasecmp.m4: Remove file.
68808         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
68809         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
68811         * m4/mbscasestr.m4: Remove file.
68812         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
68813         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
68815         * m4/mbschr.m4: Remove file.
68816         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
68817         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
68819         * m4/mbscspn.m4: Remove file.
68820         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
68821         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
68823         * m4/mbslen.m4: Remove file.
68824         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
68825         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
68827         * m4/mbsncasecmp.m4: Remove file.
68828         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
68829         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
68831         * m4/mbsnlen.m4: Remove file.
68832         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
68833         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
68835         * m4/mbspbrk.m4: Remove file.
68836         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
68837         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
68839         * m4/mbspcasecmp.m4: Remove file.
68840         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
68841         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
68843         * m4/mbsrchr.m4: Remove file.
68844         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
68845         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
68847         * m4/mbssep.m4: Remove file.
68848         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
68849         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
68851         * m4/mbsspn.m4: Remove file.
68852         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
68853         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
68855         * m4/mbsstr.m4: Remove file.
68856         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
68857         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
68859         * m4/mbstok_r.m4: Remove file.
68860         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
68861         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
68863         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
68865         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
68866         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
68868         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
68870 2009-03-08  Bruno Haible  <bruno@clisp.org>
68872         Tests for module 'unicase/ulc-casecmp'.
68873         * modules/unicase/ulc-casecmp-tests: New file.
68874         * tests/unicase/test-ulc-casecmp1.sh: New file.
68875         * tests/unicase/test-ulc-casecmp2.sh: New file.
68876         * tests/unicase/test-ulc-casecmp.c: New file.
68878         New module 'unicase/ulc-casecmp'.
68879         * lib/unicase.h (ulc_casecmp): New declaration.
68880         * lib/unicase/ulc-casecmp.c: New file.
68881         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
68882         'const SRC_UNIT *'.
68883         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
68884         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
68885         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
68886         * modules/unicase/ulc-casecmp: New file.
68888         Tests for module 'unicase/u32-is-cased'.
68889         * modules/unicase/u32-is-cased-tests: New file.
68890         * tests/unicase/test-u32-is-cased.c: New file.
68892         Tests for module 'unicase/u16-is-cased'.
68893         * modules/unicase/u16-is-cased-tests: New file.
68894         * tests/unicase/test-u16-is-cased.c: New file.
68896         Tests for module 'unicase/u8-is-cased'.
68897         * modules/unicase/u8-is-cased-tests: New file.
68898         * tests/unicase/test-u8-is-cased.c: New file.
68899         * tests/unicase/test-is-cased.h: New file.
68901         New module 'unicase/u32-is-cased'.
68902         * lib/unicase/u32-is-cased.c: New file.
68903         * modules/unicase/u32-is-cased: New file.
68905         New module 'unicase/u16-is-cased'.
68906         * lib/unicase/u16-is-cased.c: New file.
68907         * modules/unicase/u16-is-cased: New file.
68909         New module 'unicase/u8-is-cased'.
68910         * lib/unicase/u8-is-cased.c: New file.
68911         * lib/unicase/u-is-cased.h: New file.
68912         * modules/unicase/u8-is-cased: New file.
68914         Tests for module 'unicase/u32-is-casefolded'.
68915         * modules/unicase/u32-is-casefolded-tests: New file.
68916         * tests/unicase/test-u32-is-casefolded.c: New file.
68918         Tests for module 'unicase/u16-is-casefolded'.
68919         * modules/unicase/u16-is-casefolded-tests: New file.
68920         * tests/unicase/test-u16-is-casefolded.c: New file.
68922         Tests for module 'unicase/u8-is-casefolded'.
68923         * modules/unicase/u8-is-casefolded-tests: New file.
68924         * tests/unicase/test-u8-is-casefolded.c: New file.
68925         * tests/unicase/test-is-casefolded.h: New file.
68927         New module 'unicase/u32-is-casefolded'.
68928         * lib/unicase/u32-is-casefolded.c: New file.
68929         * modules/unicase/u32-is-casefolded: New file.
68931         New module 'unicase/u16-is-casefolded'.
68932         * lib/unicase/u16-is-casefolded.c: New file.
68933         * modules/unicase/u16-is-casefolded: New file.
68935         New module 'unicase/u8-is-casefolded'.
68936         * lib/unicase/u8-is-casefolded.c: New file.
68937         * modules/unicase/u8-is-casefolded: New file.
68939         Tests for module 'unicase/u32-is-titlecase'.
68940         * modules/unicase/u32-is-titlecase-tests: New file.
68941         * tests/unicase/test-u32-is-titlecase.c: New file.
68943         Tests for module 'unicase/u16-is-titlecase'.
68944         * modules/unicase/u16-is-titlecase-tests: New file.
68945         * tests/unicase/test-u16-is-titlecase.c: New file.
68947         Tests for module 'unicase/u8-is-titlecase'.
68948         * modules/unicase/u8-is-titlecase-tests: New file.
68949         * tests/unicase/test-u8-is-titlecase.c: New file.
68950         * tests/unicase/test-is-titlecase.h: New file.
68952         New module 'unicase/u32-is-titlecase'.
68953         * lib/unicase/u32-is-titlecase.c: New file.
68954         * modules/unicase/u32-is-titlecase: New file.
68956         New module 'unicase/u16-is-titlecase'.
68957         * lib/unicase/u16-is-titlecase.c: New file.
68958         * modules/unicase/u16-is-titlecase: New file.
68960         New module 'unicase/u8-is-titlecase'.
68961         * lib/unicase/u8-is-titlecase.c: New file.
68962         * modules/unicase/u8-is-titlecase: New file.
68964         Tests for module 'unicase/u32-is-lowercase'.
68965         * modules/unicase/u32-is-lowercase-tests: New file.
68966         * tests/unicase/test-u32-is-lowercase.c: New file.
68968         Tests for module 'unicase/u16-is-lowercase'.
68969         * modules/unicase/u16-is-lowercase-tests: New file.
68970         * tests/unicase/test-u16-is-lowercase.c: New file.
68972         Tests for module 'unicase/u8-is-lowercase'.
68973         * modules/unicase/u8-is-lowercase-tests: New file.
68974         * tests/unicase/test-u8-is-lowercase.c: New file.
68975         * tests/unicase/test-is-lowercase.h: New file.
68977         New module 'unicase/u32-is-lowercase'.
68978         * lib/unicase/u32-is-lowercase.c: New file.
68979         * modules/unicase/u32-is-lowercase: New file.
68981         New module 'unicase/u16-is-lowercase'.
68982         * lib/unicase/u16-is-lowercase.c: New file.
68983         * modules/unicase/u16-is-lowercase: New file.
68985         New module 'unicase/u8-is-lowercase'.
68986         * lib/unicase/u8-is-lowercase.c: New file.
68987         * modules/unicase/u8-is-lowercase: New file.
68989         Tests for module 'unicase/u32-is-uppercase'.
68990         * modules/unicase/u32-is-uppercase-tests: New file.
68991         * tests/unicase/test-u32-is-uppercase.c: New file.
68993         Tests for module 'unicase/u16-is-uppercase'.
68994         * modules/unicase/u16-is-uppercase-tests: New file.
68995         * tests/unicase/test-u16-is-uppercase.c: New file.
68997         Tests for module 'unicase/u8-is-uppercase'.
68998         * modules/unicase/u8-is-uppercase-tests: New file.
68999         * tests/unicase/test-u8-is-uppercase.c: New file.
69000         * tests/unicase/test-is-uppercase.h: New file.
69002         New module 'unicase/u32-is-uppercase'.
69003         * lib/unicase/u32-is-uppercase.c: New file.
69004         * modules/unicase/u32-is-uppercase: New file.
69006         New module 'unicase/u16-is-uppercase'.
69007         * lib/unicase/u16-is-uppercase.c: New file.
69008         * modules/unicase/u16-is-uppercase: New file.
69010         New module 'unicase/u8-is-uppercase'.
69011         * lib/unicase/u8-is-uppercase.c: New file.
69012         * modules/unicase/u8-is-uppercase: New file.
69014         New module 'unicase/u32-is-invariant'.
69015         * lib/unicase/u32-is-invariant.c: New file.
69016         * modules/unicase/u32-is-invariant: New file.
69018         New module 'unicase/u16-is-invariant'.
69019         * lib/unicase/u16-is-invariant.c: New file.
69020         * modules/unicase/u16-is-invariant: New file.
69022         New module 'unicase/u8-is-invariant'.
69023         * lib/unicase/u8-is-invariant.c: New file.
69024         * lib/unicase/invariant.h: New file.
69025         * lib/unicase/u-is-invariant.h: New file.
69026         * modules/unicase/u8-is-invariant: New file.
69028         Tests for module 'unicase/u32-casecoll'.
69029         * modules/unicase/u32-casecoll-tests: New file.
69030         * tests/unicase/test-u32-casecoll.c: New file.
69032         Tests for module 'unicase/u16-casecoll'.
69033         * modules/unicase/u16-casecoll-tests: New file.
69034         * tests/unicase/test-u16-casecoll.c: New file.
69036         Tests for module 'unicase/u8-casecoll'.
69037         * modules/unicase/u8-casecoll-tests: New file.
69038         * tests/unicase/test-u8-casecoll.c: New file.
69040         New module 'unicase/u32-casecoll'.
69041         * lib/unicase/u32-casecoll.c: New file.
69042         * modules/unicase/u32-casecoll: New file.
69044         New module 'unicase/u16-casecoll'.
69045         * lib/unicase/u16-casecoll.c: New file.
69046         * modules/unicase/u16-casecoll: New file.
69048         New module 'unicase/u8-casecoll'.
69049         * lib/unicase/u8-casecoll.c: New file.
69050         * lib/unicase/u-casecoll.h: New file.
69051         * modules/unicase/u8-casecoll: New file.
69053         New module 'unicase/u32-casexfrm'.
69054         * lib/unicase/u32-casexfrm.c: New file.
69055         * modules/unicase/u32-casexfrm: New file.
69057         New module 'unicase/u16-casexfrm'.
69058         * lib/unicase/u16-casexfrm.c: New file.
69059         * modules/unicase/u16-casexfrm: New file.
69061         New module 'unicase/u8-casexfrm'.
69062         * lib/unicase/u8-casexfrm.c: New file.
69063         * lib/unicase/u-casexfrm.h: New file.
69064         * modules/unicase/u8-casexfrm: New file.
69066         Tests for module 'unicase/u32-casecmp'.
69067         * modules/unicase/u32-casecmp-tests: New file.
69068         * tests/unicase/test-u32-casecmp.c: New file.
69070         Tests for module 'unicase/u16-casecmp'.
69071         * modules/unicase/u16-casecmp-tests: New file.
69072         * tests/unicase/test-u16-casecmp.c: New file.
69074         Tests for module 'unicase/u8-casecmp'.
69075         * modules/unicase/u8-casecmp-tests: New file.
69076         * tests/unicase/test-u8-casecmp.c: New file.
69077         * tests/unicase/test-casecmp.h: New file.
69079         New module 'unicase/u32-casecmp'.
69080         * lib/unicase/u32-casecmp.c: New file.
69081         * modules/unicase/u32-casecmp: New file.
69083         New module 'unicase/u16-casecmp'.
69084         * lib/unicase/u16-casecmp.c: New file.
69085         * modules/unicase/u16-casecmp: New file.
69087         New module 'unicase/u8-casecmp'.
69088         * lib/unicase/u8-casecmp.c: New file.
69089         * lib/unicase/u-casecmp.h: New file.
69090         * modules/unicase/u8-casecmp: New file.
69092         Tests for module 'unicase/u32-casefold'.
69093         * modules/unicase/u32-casefold-tests: New file.
69094         * tests/unicase/test-u32-casefold.c: New file.
69096         Tests for module 'unicase/u16-casefold'.
69097         * modules/unicase/u16-casefold-tests: New file.
69098         * tests/unicase/test-u16-casefold.c: New file.
69100         Tests for module 'unicase/u8-casefold'.
69101         * modules/unicase/u8-casefold-tests: New file.
69102         * tests/unicase/test-u8-casefold.c: New file.
69104         New module 'unicase/u32-casefold'.
69105         * lib/unicase/u32-casefold.c: New file.
69106         * modules/unicase/u32-casefold: New file.
69108         New module 'unicase/u16-casefold'.
69109         * lib/unicase/u16-casefold.c: New file.
69110         * modules/unicase/u16-casefold: New file.
69112         New module 'unicase/u8-casefold'.
69113         * lib/unicase/u8-casefold.c: New file.
69114         * lib/unicase/u-casefold.h: New file.
69115         * modules/unicase/u8-casefold: New file.
69117         New module 'unicase/tocasefold'.
69118         * lib/unicase/casefold.h: New file.
69119         * lib/unicase/tocasefold.c: New file.
69120         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
69121         * modules/unicase/tocasefold: New file.
69123         Tests for module 'unicase/u32-totitle'.
69124         * modules/unicase/u32-totitle-tests: New file.
69125         * tests/unicase/test-u32-totitle.c: New file.
69127         Tests for module 'unicase/u16-totitle'.
69128         * modules/unicase/u16-totitle-tests: New file.
69129         * tests/unicase/test-u16-totitle.c: New file.
69131         Tests for module 'unicase/u8-totitle'.
69132         * modules/unicase/u8-totitle-tests: New file.
69133         * tests/unicase/test-u8-totitle.c: New file.
69135         New module 'unicase/u32-totitle'.
69136         * lib/unicase/u32-totitle.c: New file.
69137         * modules/unicase/u32-totitle: New file.
69139         New module 'unicase/u16-totitle'.
69140         * lib/unicase/u16-totitle.c: New file.
69141         * modules/unicase/u16-totitle: New file.
69143         New module 'unicase/u8-totitle'.
69144         * lib/unicase/u8-totitle.c: New file.
69145         * lib/unicase/u-totitle.h: New file.
69146         * modules/unicase/u8-totitle: New file.
69148         Tests for module 'unicase/u32-tolower'.
69149         * modules/unicase/u32-tolower-tests: New file.
69150         * tests/unicase/test-u32-tolower.c: New file.
69152         Tests for module 'unicase/u16-tolower'.
69153         * modules/unicase/u16-tolower-tests: New file.
69154         * tests/unicase/test-u16-tolower.c: New file.
69156         Tests for module 'unicase/u8-tolower'.
69157         * modules/unicase/u8-tolower-tests: New file.
69158         * tests/unicase/test-u8-tolower.c: New file.
69160         New module 'unicase/u32-tolower'.
69161         * lib/unicase/u32-tolower.c: New file.
69162         * modules/unicase/u32-tolower: New file.
69164         New module 'unicase/u16-tolower'.
69165         * lib/unicase/u16-tolower.c: New file.
69166         * modules/unicase/u16-tolower: New file.
69168         New module 'unicase/u8-tolower'.
69169         * lib/unicase/u8-tolower.c: New file.
69170         * modules/unicase/u8-tolower: New file.
69172         Tests for module 'unicase/u32-toupper'.
69173         * modules/unicase/u32-toupper-tests: New file.
69174         * tests/unicase/test-u32-toupper.c: New file.
69176         Tests for module 'unicase/u16-toupper'.
69177         * modules/unicase/u16-toupper-tests: New file.
69178         * tests/unicase/test-u16-toupper.c: New file.
69180         Tests for module 'unicase/u8-toupper'.
69181         * modules/unicase/u8-toupper-tests: New file.
69182         * tests/unicase/test-u8-toupper.c: New file.
69184         New module 'unicase/u32-toupper'.
69185         * lib/unicase/u32-toupper.c: New file.
69186         * modules/unicase/u32-toupper: New file.
69188         New module 'unicase/u16-toupper'.
69189         * lib/unicase/u16-toupper.c: New file.
69190         * modules/unicase/u16-toupper: New file.
69192         New module 'unicase/u8-toupper'.
69193         * lib/unicase/u8-toupper.c: New file.
69194         * modules/unicase/u8-toupper: New file.
69196         New module 'unicase/u32-casemap'.
69197         * lib/unicase/u32-casemap.c: New file.
69198         * modules/unicase/u32-casemap: New file.
69200         New module 'unicase/u16-casemap'.
69201         * lib/unicase/u16-casemap.c: New file.
69202         * modules/unicase/u16-casemap: New file.
69204         New module 'unicase/u8-casemap'.
69205         * lib/unicase/unicasemap.h: New file.
69206         * lib/unicase/u8-casemap.c: New file.
69207         * lib/unicase/u-casemap.h: New file.
69208         * modules/unicase/u8-casemap: New file.
69210         New module 'unicase/special-casing'.
69211         * lib/unicase/special-casing.h: New file.
69212         * lib/unicase/special-casing.c: New file.
69213         * lib/unicase/special-casing-table.gperf: New file, generated by
69214         gen-uni-tables.c.
69215         * modules/unicase/special-casing: New file.
69217         Tests for module 'unicase/locale-language'.
69218         * modules/unicase/locale-language-tests: New file.
69219         * tests/unicase/test-locale-language.sh: New file.
69220         * tests/unicase/test-locale-language.c: New file.
69222         New module 'unicase/locale-language'.
69223         * lib/unicase/locale-language.c: New file.
69224         * lib/unicase/locale-languages.gperf: New file.
69225         * modules/unicase/locale-language: New file.
69227         Generate more tables for case conversion and case folding.
69228         * lib/gen-uni-tables.c (SCC_*): New enum items.
69229         (struct special_casing_rule): New type.
69230         (casing_rules, num_casing_rules, allocated_casing_rules): New
69231         variables.
69232         (add_casing_rule, fill_casing_rules): New functions.
69233         (struct casefold_rule): New type.
69234         (casefolding_rules, num_casefolding_rules,
69235         allocated_casefolding_rules): New variables.
69236         (fill_casefolding_rules): New function.
69237         (unicode_casefold): New variable.
69238         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
69239         sort_casing_rules, output_casing_rules): New functions.
69240         (main): Accept to more arguments: SpecialCasing.txt and
69241         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
69242         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
69243         Output mapping for casefolding.
69245         * lib/unicase.h: Include stdbool.h, uninorm.h.
69246         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
69247         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
69248         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
69249         arguments.
69250         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
69251         resultp arguments.
69252         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
69253         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
69254         resultp arguments.
69255         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
69256         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
69257         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
69258         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
69259         declarations.
69260         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
69262 2009-03-08  Bruno Haible  <bruno@clisp.org>
69264         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
69265         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
69266         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
69267         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
69269 2009-03-07  Bruno Haible  <bruno@clisp.org>
69271         Adjust u*_normcmp, u*_normcoll API.
69272         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
69273         u16_normcoll, u32_normcoll): Change failure conventions.
69274         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
69275         errno and return -1.
69276         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
69278 2009-03-07  Bruno Haible  <bruno@clisp.org>
69280         Tests for module 'uninorm/u32-normcoll'.
69281         * modules/uninorm/u32-normcoll-tests: New file.
69282         * tests/uninorm/test-u32-normcoll.c: New file.
69284         Tests for module 'uninorm/u16-normcoll'.
69285         * modules/uninorm/u16-normcoll-tests: New file.
69286         * tests/uninorm/test-u16-normcoll.c: New file.
69288         Tests for module 'uninorm/u8-normcoll'.
69289         * modules/uninorm/u8-normcoll-tests: New file.
69290         * tests/uninorm/test-u8-normcoll.c: New file.
69292 2009-03-07  Bruno Haible  <bruno@clisp.org>
69294         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
69295         tests/uninorm/test-u32-normcmp.c.
69296         * tests/uninorm/test-u32-normcmp.c: Include it.
69297         (test_nonascii): New function, extracted from main. Add some more
69298         tests.
69299         (main): Invoke test_ascii and test_nonascii.
69300         * modules/uninorm/u32-normcmp-tests (Files): Add
69301         tests/uninorm/test-u32-normcmp.h.
69302         (Depends-on): Remove uninorm/u32-normcmp.
69304         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
69305         tests/uninorm/test-u16-normcmp.c.
69306         * tests/uninorm/test-u16-normcmp.c: Include it.
69307         (test_nonascii): New function, extracted from main. Add some more
69308         tests.
69309         (main): Invoke test_ascii and test_nonascii.
69310         * modules/uninorm/u16-normcmp-tests (Files): Add
69311         tests/uninorm/test-u16-normcmp.h.
69312         (Depends-on): Remove uninorm/u16-normcmp.
69314         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
69315         tests/uninorm/test-u8-normcmp.c.
69316         * tests/uninorm/test-u8-normcmp.c: Include it.
69317         (test_nonascii): New function, extracted from main. Add some more
69318         tests.
69319         (main): Invoke test_ascii and test_nonascii.
69320         * modules/uninorm/u8-normcmp-tests (Files): Add
69321         tests/uninorm/test-u8-normcmp.h.
69322         (Depends-on): Remove uninorm/u8-normcmp.
69324 2009-03-07  Bruno Haible  <bruno@clisp.org>
69326         New module 'uninorm/u32-normcoll'.
69327         * lib/uninorm/u32-normcoll.c: New file.
69328         * modules/uninorm/u32-normcoll: New file.
69330         New module 'uninorm/u16-normcoll'.
69331         * lib/uninorm/u16-normcoll.c: New file.
69332         * modules/uninorm/u16-normcoll: New file.
69334         New module 'uninorm/u8-normcoll'.
69335         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
69336         declarations.
69337         * lib/uninorm/u8-normcoll.c: New file.
69338         * lib/uninorm/u-normcoll.h: New file.
69339         * modules/uninorm/u8-normcoll: New file.
69341         New module 'uninorm/u32-normxfrm'.
69342         * lib/uninorm/u32-normxfrm.c: New file.
69343         * modules/uninorm/u32-normxfrm: New file.
69345         New module 'uninorm/u16-normxfrm'.
69346         * lib/uninorm/u16-normxfrm.c: New file.
69347         * modules/uninorm/u16-normxfrm: New file.
69349         New module 'uninorm/u8-normxfrm'.
69350         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
69351         declarations.
69352         * lib/uninorm/u8-normxfrm.c: New file.
69353         * lib/uninorm/u-normxfrm.h: New file.
69354         * modules/uninorm/u8-normxfrm: New file.
69356 2009-03-07  Bruno Haible  <bruno@clisp.org>
69358         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
69359         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
69360         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
69362 2009-03-07  Bruno Haible  <bruno@clisp.org>
69364         New module 'memxfrm'.
69365         * lib/memxfrm.h: New file.
69366         * lib/memxfrm.c: New file.
69367         * modules/memxfrm: New file.
69369 2009-03-07  Bruno Haible  <bruno@clisp.org>
69371         New module 'memcmp2'.
69372         * lib/memcmp2.h: New file.
69373         * lib/memcmp2.c: New file.
69374         * modules/memcmp2: New file.
69376 2009-03-07  Bruno Haible  <bruno@clisp.org>
69378         Tests for module 'uninorm/decomposing-form'.
69379         * modules/uninorm/decomposing-form-tests: New file.
69380         * tests/uninorm/test-decomposing-form.c: New file.
69382         New module 'uninorm/decomposing-form'.
69383         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
69384         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
69385         Add 'decomposing_variant' field.
69386         * lib/uninorm/decomposing-form.c: New file.
69387         * lib/uninorm/nfc.c (uninorm_nfc): Update.
69388         * lib/uninorm/nfd.c (uninorm_nfd): Update.
69389         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
69390         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
69391         * modules/uninorm/decomposing-form: New file.
69392         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
69393         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
69395 2009-03-07  Bruno Haible  <bruno@clisp.org>
69397         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
69398         strings.
69400 2009-03-06  Bruno Haible  <bruno@clisp.org>
69402         Tests for module 'uninorm/u32-normcmp'.
69403         * tests/uninorm/test-u32-normcmp.c: New file.
69404         * modules/uninorm/u32-normcmp-tests: New file.
69406         Tests for module 'uninorm/u16-normcmp'.
69407         * tests/uninorm/test-u16-normcmp.c: New file.
69408         * modules/uninorm/u16-normcmp-tests: New file.
69410         Tests for module 'uninorm/u8-normcmp'.
69411         * tests/uninorm/test-u8-normcmp.c: New file.
69412         * modules/uninorm/u8-normcmp-tests: New file.
69414         New module 'uninorm/u32-normcmp'.
69415         * lib/uninorm/u32-normcmp.c: New file.
69416         * modules/uninorm/u32-normcmp: New file.
69418         New module 'uninorm/u16-normcmp'.
69419         * lib/uninorm/u16-normcmp.c: New file.
69420         * modules/uninorm/u16-normcmp: New file.
69422         New module 'uninorm/u8-normcmp'.
69423         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
69424         declarations.
69425         * lib/uninorm/u8-normcmp.c: New file.
69426         * lib/uninorm/u-normcmp.h: New file.
69427         * modules/uninorm/u8-normcmp: New file.
69429 2009-03-06  Bruno Haible  <bruno@clisp.org>
69431         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
69432         Reported by Eric Blake.
69434 2009-03-06  Eric Blake  <ebb9@byu.net>
69435             Bruno Haible  <bruno@clisp.org>
69437         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
69438         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
69439         condition.
69440         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
69441         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
69442         condition.
69443         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
69445 2009-03-06  Eric Blake  <ebb9@byu.net>
69447         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
69448         to avoid compiler warnings.
69449         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
69451 2009-03-05  Bruno Haible  <bruno@clisp.org>
69453         * tests/test-ftell.c (main): Disable test beyond end of file on
69454         FreeMiNT.
69455         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
69457 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
69459         * lib/filevercmp.c: Move hidden files up in ordering.
69460         * tests/test-filevercmp.c: Add tests for hidden files.
69462 2009-03-04  Bruno Haible  <bruno@clisp.org>
69464         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
69465         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
69466         AM_CFLAGS.
69467         Reported by Simon Josefsson.
69469 2009-03-03  Bruno Haible  <bruno@clisp.org>
69471         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
69472         Reported by Simon Josefsson.
69474         * doc/ld-version-script.texi: Update node reference.
69476 2009-03-03  Bruno Haible  <bruno@clisp.org>
69478         * modules/visibility (License): Change to 'unlimited'.
69479         Suggested by Simon Josefsson.
69481 2009-03-03  Jim Meyering  <meyering@redhat.com>
69483         unlinkdir: cannot_unlink_dir may modify process state
69484         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
69485         it's neither thread-safe nor appropriate for use in a library.
69487 2009-03-03  Eric Blake  <ebb9@byu.net>
69489         test-closein: silence test under Darwin
69490         * tests/test-closein.sh: Ignore stderr from cat, since we don't
69491         care if it dies from EPIPE or EBADF.
69493 2009-03-03  Bruno Haible  <bruno@clisp.org>
69495         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
69496         earlier.
69497         * doc/visibility.texi: Fix @node and @section.
69499 2009-03-03  Simon Josefsson  <simon@josefsson.org>
69501         * doc/gnulib.texi: Link to sections for ld version script and
69502         visibility.
69503         * doc/visibility.texi: Add @node and @section.
69504         * modules/ld-version-script: New module.
69505         * m4/ld-version-script.m4: New file.
69506         * doc/ld-version-script.texi: New file.
69508 2009-03-02  David Lutterkort  <lutter@redhat.com>
69510         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
69511         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
69513 2009-03-02  Bruno Haible  <bruno@clisp.org>
69515         * doc/visibility.texi: Mention libtool's -export-symbols option.
69517 2009-03-02  Jim Meyering  <meyering@redhat.com>
69519         announce-gen: new option: --no-print-checksums
69520         * build-aux/announce-gen (usage): Describe it.
69521         (print_checksums): Print a newline here, not in the [*] footnote.
69522         (main): Honor it.
69524 2009-03-01  Bruno Haible  <bruno@clisp.org>
69526         Use socklen_t in the native Windows replacements prototypes.
69527         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
69528         instead of 'int'.
69529         * lib/getsockopt.c (rpl_getsockopt): Likewise.
69530         * lib/setsockopt.c (rpl_setsockopt): Likewise.
69531         * modules/getsockopt (Depends-on): Add socklen.
69532         * modules/setsockopt (Depends-on): Add socklen.
69534 2009-03-01  Bruno Haible  <bruno@clisp.org>
69536         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
69537         least 4.2.
69539 2009-03-01  Eric Blake  <ebb9@byu.net>
69540             Bruno Haible  <bruno@clisp.org>
69542         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
69543         error messages.
69544         * lib/wait-process.c (wait_subprocess): Omit error message about
69545         deadly signal sent to the child of termsigp != NULL.
69547 2009-03-01  Eric Blake  <ebb9@byu.net>
69549         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
69551 2009-03-01  Bruno Haible  <bruno@clisp.org>
69553         Avoid a gcc warning.
69554         * tests/test-sched.c (b): Make global.
69555         Reported by Eric Blake.
69557 2009-01-19  Martin Lambers  <marlam@marlam.de>
69559         Provide POSIX semantics for socket timeout options on W32.
69560         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
69561         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
69562         * modules/setsockopt: Depend on sys_time module for struct timeval.
69563         * modules/getsockopt: Depend on sys_time module for struct timeval.
69565 2009-03-01  Simon Josefsson  <simon@josefsson.org>
69567         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
69568         __USE_GNU, for consistency with netdb.in.h.
69569         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
69571 2009-03-01  Bruno Haible  <bruno@clisp.org>
69573         More support for FreeMiNT.
69574         * lib/fseeko.c (rpl_fseeko): Complete last commit.
69575         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
69577 2009-03-01  Bruno Haible  <bruno@clisp.org>
69579         More support for FreeMiNT.
69580         * lib/fpurge.c (fpurge): Correct last commit.
69581         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
69583 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69585         Fix unportable awk script in vc-list-files.
69586         * build-aux/vc-list-files: In the replacement awk script, use
69587         substr with a second argument of 1, not zero.
69588         Report by Simon Josefsson.
69590 2009-02-28  Bruno Haible  <bruno@clisp.org>
69592         More support for FreeMiNT.
69593         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
69594         to FreeMiNT today.
69595         * lib/fwriting.c (fwriting): Likewise.
69596         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
69598 2009-02-28  Bruno Haible  <bruno@clisp.org>
69600         * tests/test-freadseek.c (main): Disable test beyond end of file on
69601         FreeMiNT.
69602         * tests/test-ftello.c (main): Likewise.
69603         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
69605 2009-02-28  Bruno Haible  <bruno@clisp.org>
69607         Add tentative support for FreeMiNT.
69608         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
69609         * lib/fpurge.c (fpurge): Likewise.
69610         * lib/freadable.c (freadable): Likewise.
69611         * lib/freading.c (freading): Likewise.
69612         * lib/freadptr.c (freadptr): Likewise.
69613         * lib/freadseek.c (freadptrinc): Likewise.
69614         * lib/fseeko.c (rpl_fseeko): Likewise.
69615         * lib/fseterr.c (fseterr): Likewise.
69616         * lib/fwritable.c (fwritable): Likewise.
69617         * lib/fwriting.c (fwriting): Likewise.
69618         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
69619         Hourihane.
69620         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
69622 2009-02-28  Bruno Haible  <bruno@clisp.org>
69624         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
69625         SIGCHLD.
69626         Reported by Jim Meyering.
69628 2009-02-28  Bruno Haible  <bruno@clisp.org>
69630         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
69631         Mention the results of these tests on various platforms.
69632         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
69633         order.
69634         * doc/posix-functions/printf.texi: Likewise.
69635         * doc/posix-functions/snprintf.texi: Likewise.
69636         * doc/posix-functions/sprintf.texi: Likewise.
69637         * doc/posix-functions/vfprintf.texi: Likewise.
69638         * doc/posix-functions/vprintf.texi: Likewise.
69639         * doc/posix-functions/vsnprintf.texi: Likewise.
69640         * doc/posix-functions/vsprintf.texi: Likewise.
69641         * doc/glibc-functions/obstack_printf.texi: Likewise.
69642         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
69644 2009-02-28  Bruno Haible  <bruno@clisp.org>
69646         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
69647         Reported by Loïc Minier <lool@dooz.org>.
69649 2009-02-27  Bruno Haible  <bruno@clisp.org>
69651         * gnulib-tool (func_import): Make the sed expression used to create the
69652         sed script for updating the .gitignore file POSIX compliant.
69653         Reported by Eric Blake.
69655 2009-02-27  Bruno Haible  <bruno@clisp.org>
69657         * gnulib-tool (sed): Don't alias as "sed --posix".
69658         Reported by Eric Blake.
69660 2009-02-27  Bruno Haible  <bruno@clisp.org>
69662         Avoid test link errors.
69663         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
69664         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
69665         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
69666         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
69667         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
69669 2009-02-27  Bruno Haible  <bruno@clisp.org>
69671         Avoid spurious "(cached)" in configure output.
69672         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
69673         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
69674         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
69675         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
69676         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
69677         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
69678         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
69679         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
69680         Reported by Eric Blake.
69682 2009-02-27  Eric Blake  <ebb9@byu.net>
69684         printf: fix regression in previous patch
69685         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
69687 2009-02-27  Bruno Haible  <bruno@clisp.org>
69689         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
69690         value.
69691         * lib/stdint.in.h: Likewise.
69692         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
69694 2009-02-27  Eric Blake  <ebb9@byu.net>
69696         doc: mention more functions added in cygwin 1.7.0
69697         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
69698         addition.
69699         * doc/posix-functions/open_wmemstream.texi: Likewise.
69700         * doc/posix-functions/wcsnlen.texi: Likewise.
69701         * doc/posix-functions/wcsnrtombs.texi: Likewise.
69702         * doc/posix-functions/wcstod.texi: Likewise.
69703         * doc/posix-functions/wcstof.texi: Likewise.
69704         * doc/posix-functions/wcstoimax.texi: Likewise.
69705         * doc/posix-functions/wcstok.texi: Likewise.
69706         * doc/posix-functions/wcstoumax.texi: Likewise.
69708         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
69709         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
69710         * doc/posix-functions/fprintf.texi: Update.
69711         * doc/posix-functions/printf.texi: Update.
69712         * doc/posix-functions/snprintf.texi: Update.
69713         * doc/posix-functions/sprintf.texi: Update.
69714         * doc/posix-functions/vfprintf.texi: Update.
69715         * doc/posix-functions/vprintf.texi: Update.
69716         * doc/posix-functions/vsnprintf.texi: Update.
69717         * doc/posix-functions/vsprintf.texi: Update.
69718         * doc/glibc-functions/obstack_printf.texi: Update.
69719         * doc/glibc-functions/obstack_vprintf.texi: Update.
69721 2009-02-26  Eric Blake  <ebb9@byu.net>
69723         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
69724         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
69725         compilation bug by using runtime conversion.
69726         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
69727         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
69728         * modules/ceill-tests (Files): Use nan.h.
69729         * modules/floorl-tests (Files): Likewise.
69730         * modules/frexpl-tests (Files): Likewise.
69731         * modules/isnanl-tests (Files): Likewise.
69732         * modules/ldexpl-tests (Files): Likewise.
69733         * modules/roundl-tests (Files): Likewise.
69734         * modules/truncl-tests (Files): Likewise.
69735         * tests/test-ceill.c (main): Use a working NaN.
69736         * tests/test-floorl.c (main): Likewise.
69737         * tests/test-frexpl.c (main): Likewise.
69738         * tests/test-isnan.c (test_long_double): Likewise.
69739         * tests/test-isnanl.h (main): Likewise.
69740         * tests/test-ldexpl.h (main): Likewise.
69741         * tests/test-roundl.h (main): Likewise.
69742         * tests/test-truncl.h (main): Likewise.
69743         See http://lists.gnu.org/r/bug-gnulib/2009-02/msg00190.html.
69745 2009-02-26  Eric Blake  <ebb9@byu.net>
69746             Bruno Haible  <bruno@clisp.org>
69748         Work around a *printf bug with %ls on Solaris.
69749         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
69750         precision is specified, sprintf stops converting the wide string
69751         argument when the number of bytes that have been produced by this
69752         conversion equals or exceeds the precision.
69753         * doc/posix-functions/fprintf.texi: Update.
69754         * doc/posix-functions/printf.texi: Update.
69755         * doc/posix-functions/snprintf.texi: Update.
69756         * doc/posix-functions/sprintf.texi: Update.
69757         * doc/posix-functions/vfprintf.texi: Update.
69758         * doc/posix-functions/vprintf.texi: Update.
69759         * doc/posix-functions/vsnprintf.texi: Update.
69760         * doc/posix-functions/vsprintf.texi: Update.
69761         * doc/glibc-functions/obstack_printf.texi: Update.
69762         * doc/glibc-functions/obstack_vprintf.texi: Update.
69764 2009-02-26  Eric Blake  <ebb9@byu.net>
69766         stdlib: favor compiler check of random.h
69767         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
69768         to avoid an ObjC random.h installed by Swarm.
69770 2009-02-26  Bruno Haible  <bruno@clisp.org>
69772         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
69773         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
69774         Reported by Gary V. Vaughan <gary@gnu.org>.
69776 2009-02-26  Bruno Haible  <bruno@clisp.org>
69778         Fix *printf behaviour regarding the %ls directive.
69779         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
69780         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
69781         NEED_PRINTF_DIRECTIVE_LS.
69782         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
69783         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
69784         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
69785         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
69786         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
69787         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
69788         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
69789         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
69790         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
69791         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
69792         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
69793         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
69794         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
69795         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
69796         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
69797         * doc/posix-functions/fprintf.texi: Update.
69798         * doc/posix-functions/printf.texi: Update.
69799         * doc/posix-functions/snprintf.texi: Update.
69800         * doc/posix-functions/sprintf.texi: Update.
69801         * doc/posix-functions/vfprintf.texi: Update.
69802         * doc/posix-functions/vprintf.texi: Update.
69803         * doc/posix-functions/vsnprintf.texi: Update.
69804         * doc/posix-functions/vsprintf.texi: Update.
69805         * doc/glibc-functions/obstack_printf.texi: Update.
69806         * doc/glibc-functions/obstack_vprintf.texi: Update.
69807         Reported by Eric Blake.
69809 2009-02-25  Bruno Haible  <bruno@clisp.org>
69811         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
69812         with known value.
69813         Reported by Gary V. Vaughan <gary@gnu.org>.
69815 2009-02-25  Bruno Haible  <bruno@clisp.org>
69817         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
69818         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
69819         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
69820         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
69821         Reported by Gary V. Vaughan <gary@gnu.org>.
69823 2009-02-25  Bruno Haible  <bruno@clisp.org>
69825         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
69826         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
69827         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
69828         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
69829         Reported by Gary V. Vaughan <gary@gnu.org>.
69831 2009-02-25  Eric Blake  <ebb9@byu.net>
69833         tests: skip fseek/ftell tests if ungetc is broken
69834         * m4/ungetc.m4: New file.
69835         * modules/fseek-tests: Split test, so ungetc dependency is
69836         separate from rest of test.
69837         * modules/fseeko-tests: Likewise.
69838         * modules/ftell-tests: Likewise.
69839         * modules/ftello-tests: Likewise.
69840         * tests/test-fseek.c (main): Isolate ungetc dependency.
69841         * tests/test-fseeko.c (main): Likewise.
69842         * tests/test-ftell.c (main): Likewise.
69843         * tests/test-ftello.c (main): Likewise.
69844         * tests/test-fseek2.sh: New file.
69845         * tests/test-fseeko2.sh: Likewise.
69846         * tests/test-ftell2.sh: Likewise.
69847         * tests/test-ftello2.sh: Likewise.
69849 2009-02-25  Ondřej Vašík  <ovasik@redhat.com>
69851         test-getaddrinfo: fix usage of skip return code 77
69852         * tests/test-gettaddrinfo.c: Return skip code 77 only
69853         for first occurrence of skip (4x77 is not 77)
69855 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
69857         strtod: avoid C99 decl-after-statement
69858         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
69860 2009-02-24  Eric Blake  <ebb9@byu.net>
69862         strtod: detect HP-UX 11.31 bug
69863         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
69864         Reported by Gary V. Vaughan.
69866 2009-02-23  Bruno Haible  <bruno@clisp.org>
69868         Fix invalid read past end of memory block.
69869         * lib/vasnprintf.c (DCHAR_SET): Define.
69870         (local_wcslen): Define only when needed.
69871         (local_strnlen, local_wcsnlen): New functions.
69872         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
69873         directives that involve a conversion ourselves.
69874         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
69875         wcsnlen, mbrtowc, wcrtomb.
69876         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
69877         * tests/test-vasprintf-posix.c (test_function): Likewise.
69878         * tests/test-snprintf-posix.h (test_function): Likewise.
69879         * tests/test-sprintf-posix.h (test_function): Likewise.
69880         Reported by Ben Pfaff <blp@cs.stanford.edu>.
69882 2009-02-22  Bruno Haible  <bruno@clisp.org>
69884         Implement new clarified decomposition of Hangul syllables.
69885         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
69886         of type LTV, return only a pairwise decomposition.
69887         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
69888         Likewise.
69889         * tests/uninorm/test-decomposition.c (main): Updated expected result.
69890         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
69891         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
69893 2009-02-22  Bruno Haible  <bruno@clisp.org>
69895         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
69896         zero-length results and shrink excess allocated memory.
69897         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
69898         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
69899         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
69900         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
69901         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
69902         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
69903         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
69904         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
69905         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
69906         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
69907         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
69908         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
69910 2009-02-21  Bruno Haible  <bruno@clisp.org>
69912         * doc/gnulib.texi: Include safe-alloc.texi earlier.
69913         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
69914         spaces after a period. Put a space between a macro name and its
69915         argument list. Trivial rewordings.
69916         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
69917         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
69918         (main): Return 0 explicitly.
69920 2009-02-21  Bruno Haible  <bruno@clisp.org>
69922         Tests for module 'uninorm/filter'.
69923         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
69924         * modules/uninorm/filter-tests: New file.
69926         New module 'uninorm/filter'.
69927         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
69928         uninorm_filter_flush, uninorm_filter_free): New declarations.
69929         * lib/uninorm/uninorm-filter.c: New file.
69930         * modules/uninorm/filter: New file.
69932 2009-02-21  Bruno Haible  <bruno@clisp.org>
69934         Tests for module 'uninorm/nfkc'.
69935         * tests/uninorm/test-nfkc.c: New file.
69936         * tests/uninorm/test-u8-nfkc.c: New file.
69937         * tests/uninorm/test-u16-nfkc.c: New file.
69938         * tests/uninorm/test-u32-nfkc.c: New file.
69939         * tests/uninorm/test-u32-nfkc-big.sh: New file.
69940         * tests/uninorm/test-u32-nfkc-big.c: New file.
69941         * modules/uninorm/nfkc-tests: New file.
69943         New module 'uninorm/nfkc'.
69944         * lib/uninorm/nfkc.c: New file.
69945         * modules/uninorm/nfkc: New file.
69947         Tests for module 'uninorm/nfkd'.
69948         * tests/uninorm/test-nfkd.c: New file.
69949         * tests/uninorm/test-u8-nfkd.c: New file.
69950         * tests/uninorm/test-u16-nfkd.c: New file.
69951         * tests/uninorm/test-u32-nfkd.c: New file.
69952         * tests/uninorm/test-u32-nfkd-big.sh: New file.
69953         * tests/uninorm/test-u32-nfkd-big.c: New file.
69954         * modules/uninorm/nfkd-tests: New file.
69956         New module 'uninorm/nfkd'.
69957         * lib/uninorm/nfkd.c: New file.
69958         * modules/uninorm/nfkd: New file.
69960         Tests for module 'uninorm/nfc'.
69961         * tests/uninorm/test-nfc.c: New file.
69962         * tests/uninorm/test-u8-nfc.c: New file.
69963         * tests/uninorm/test-u16-nfc.c: New file.
69964         * tests/uninorm/test-u32-nfc.c: New file.
69965         * tests/uninorm/test-u32-nfc-big.sh: New file.
69966         * tests/uninorm/test-u32-nfc-big.c: New file.
69967         * modules/uninorm/nfc-tests: New file.
69969         New module 'uninorm/nfc'.
69970         * lib/uninorm/nfc.c: New file.
69971         * modules/uninorm/nfc: New file.
69973         Tests for module 'uninorm/nfd'.
69974         * tests/uninorm/test-nfd.c: New file.
69975         * tests/uninorm/test-u8-nfd.c: New file.
69976         * tests/uninorm/test-u16-nfd.c: New file.
69977         * tests/uninorm/test-u32-nfd.c: New file.
69978         * tests/uninorm/test-u32-nfd-big.sh: New file.
69979         * tests/uninorm/test-u32-nfd-big.c: New file.
69980         * tests/uninorm/test-u32-normalize-big.h: New file.
69981         * tests/uninorm/test-u32-normalize-big.c: New file.
69982         * tests/uninorm/NormalizationTest.txt: New file, created from
69983         Unicode 5.1.0 NormalizationTest.txt.
69984         * modules/uninorm/nfd-tests: New file.
69986         New module 'uninorm/nfd'.
69987         * lib/uninorm/nfd.c: New file.
69988         * modules/uninorm/nfd: New file.
69990         New module 'uninorm/u32-normalize'.
69991         * lib/uninorm/u32-normalize.c: New file.
69992         * modules/uninorm/u32-normalize: New file.
69994         New module 'uninorm/u16-normalize'.
69995         * lib/uninorm/u16-normalize.c: New file.
69996         * modules/uninorm/u16-normalize: New file.
69998         New module 'uninorm/u8-normalize'.
69999         * lib/uninorm/u8-normalize.c: New file.
70000         * lib/uninorm/normalize-internal.h: New file.
70001         * lib/uninorm/u-normalize-internal.h: New file.
70002         * modules/uninorm/u8-normalize: New file.
70004         New module 'uninorm/decompose-internal'.
70005         * lib/uninorm/decompose-internal.c: New file.
70006         * modules/uninorm/decompose-internal: New file.
70008         Tests for module 'uninorm/composition'.
70009         * tests/uninorm/test-composition.c: New file.
70010         * modules/uninorm/composition-tests: New file.
70012         New module 'uninorm/composition'.
70013         * lib/uninorm/composition.c: New file.
70014         * lib/uninorm/composition-table.gperf: New file, generated by
70015         gen-uni-tables.
70016         * modules/uninorm/composition: New file.
70018         Tests for module 'uninorm/compat-decomposition'.
70019         * tests/uninorm/test-compat-decomposition.c: New file.
70020         * modules/uninorm/compat-decomposition-tests: New file.
70022         New module 'uninorm/compat-decomposition'.
70023         * lib/uninorm/decompose-internal.h: New file.
70024         * lib/uninorm/compat-decomposition.c: New file.
70025         * modules/uninorm/compat-decomposition: New file.
70027         Tests for module 'uninorm/canonical-decomposition'.
70028         * tests/uninorm/test-canonical-decomposition.c: New file.
70029         * modules/uninorm/canonical-decomposition-tests: New file.
70031         New module 'uninorm/canonical-decomposition'.
70032         * lib/uninorm/canonical-decomposition.c: New file.
70033         * modules/uninorm/canonical-decomposition: New file.
70035         Tests for module 'uninorm/decomposition'.
70036         * tests/uninorm/test-decomposition.c: New file.
70037         * modules/uninorm/decomposition-tests: New file.
70039         New module 'uninorm/decomposition'.
70040         * lib/uninorm/decomposition.c: New file.
70041         * modules/uninorm/decomposition: New file.
70043         New module 'uninorm/decomposition-table'.
70044         * lib/uninorm/decomposition-table.h: New file.
70045         * lib/uninorm/decomposition-table.c: New file.
70046         * lib/uninorm/decomposition-table1.h: New file, generated by
70047         gen-uni-tables.
70048         * lib/uninorm/decomposition-table2.h: New file, generated by
70049         gen-uni-tables.
70050         * modules/uninorm/decomposition-table: New file.
70052         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
70053         (UC_DECOMP_*): New enumeration items.
70054         (get_decomposition): New function.
70055         (struct decomp_table): New type.
70056         (output_decomposition, output_decomposition_tables): New functions.
70057         (unicode_composition_exclusions): New variable.
70058         (fill_composition_exclusions, debug_output_composition_tables): New
70059         functions.
70060         (main): Accept one more argument. Invoke fill_composition_exclusions.
70061         Output decomposition and composition tables.
70063         New module 'uninorm/base'.
70064         * lib/uninorm.h: New file.
70065         * lib/unictype.h: Update comment.
70066         * modules/uninorm/base: New file.
70068 2009-02-21  David Lutterkort  <lutter@redhat.com>
70070         Tests for module 'safe-alloc'.
70071         * tests/test-safe-alloc.c: New file.
70072         * modules/safe-alloc-tests: New file.
70074         New module 'safe-alloc'.
70075         * lib/safe-alloc.h: New file.
70076         * lib/safe-alloc.c: New file.
70077         * m4/safe-alloc.m4: New file.
70078         * modules/safe-alloc: New file.
70079         * doc/safe-alloc.texi: New file.
70080         * doc/gnulib.texi: Include it.
70081         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
70082         safe-alloc.
70084 2009-02-18  Bruno Haible  <bruno@clisp.org>
70086         Fix link error on non-glibc systems.
70087         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
70088         variable.
70089         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
70091 2009-02-18  Jim Meyering  <meyering@redhat.com>
70093         fts: avoid used-uninitialized error due to recent change
70094         * lib/fts.c (fts_read): Guard uses of the new member,
70095         parent->fts_n_dirs_remaining, since it's not relevant for
70096         the parent of a directory specified on the command-line.
70098 2009-02-17  James Youngman  <jay@gnu.org>
70099             Bruno Haible  <bruno@clisp.org>
70101         * m4/include_next.m4: Reformulate comment.
70103 2009-02-16  Jim Meyering  <meyering@redhat.com>
70105         fts: add #if guards so that the fts_lgpl module still builds
70106         * lib/fts.c: Guard just-added hash-table-using parts with
70107         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
70108         Reported by Simon Josefsson.
70110 2009-02-15  Bruno Haible  <bruno@clisp.org>
70112         * modules/array-mergesort-tests: New file.
70113         * tests/test-array-mergesort.c: New file.
70115         New module 'array-mergesort'.
70116         * modules/array-mergesort: New file.
70117         * lib/array-mergesort.h: New file.
70119 2009-02-15  Bruno Haible  <bruno@clisp.org>
70121         Fix 2009-02-07 commit.
70122         * lib/gen-uni-tables.c (output_predicate, output_category,
70123         output_combclass, output_bidi_category, output_decimal_digit,
70124         output_digit, output_numeric, output_mirror, output_scripts,
70125         output_ident_category, output_simple_mapping): Fix format directives.
70126         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
70128 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
70130         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
70131         fixes are available from IBM.
70133 2009-02-13  Jim Meyering  <meyering@redhat.com>
70135         fts: arrange not to stat non-directories in more cases
70136         This makes GNU find (when it doesn't need to stat each file)
70137         *much* more efficient at traversing reiserfs file systems.
70138         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
70139         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
70140         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
70141         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
70142         (leaf_optimization_applies): New function.
70143         (LCO_hash, LCO_compare): New helper functions.
70144         (link_count_optimize_ok): New function.
70145         (fts_stat): Initialize new member (if dir).
70146         (fts_read): Decrement parent's fts_n_dirs_remaining count if
70147         we've just stat'ed a directory.  Skip the stat call when possible.
70148         ---
70149         Note this AFS-related exchange:
70150         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
70151         and note find's pioctl call in find/fstype.c.
70152         But that is necessary only if you want to enable the
70153         optimization for AFS, and for now, I don't.
70155         fts: move a function definition "up" (no semantic change)
70156         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
70157         "up" to precede upcoming use of a related function.
70159 2009-02-11  Jim Meyering  <meyering@redhat.com>
70161         fts: correct internal computation of nlinks (optimization-related)
70162         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
70163         whether the current entry is a directory, so don't test it.
70165 2009-02-10  Bruno Haible  <bruno@clisp.org>
70167         Tests for module 'uniwbrk/ulc-wordbreaks'.
70168         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
70169         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
70170         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
70172         Tests for module 'uniwbrk/u32-wordbreaks'.
70173         * modules/uniwbrk/u32-wordbreaks-tests: New file.
70174         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
70176         Tests for module 'uniwbrk/u16-wordbreaks'.
70177         * modules/uniwbrk/u16-wordbreaks-tests: New file.
70178         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
70180         Tests for module 'uniwbrk/u8-wordbreaks'.
70181         * modules/uniwbrk/u8-wordbreaks-tests: New file.
70182         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
70184 2009-02-10  Bruno Haible  <bruno@clisp.org>
70186         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
70187         property.
70188         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
70189         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
70190         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
70192 2009-02-10  Simon Josefsson  <simon@josefsson.org>
70194         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
70195         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
70197 2009-02-10  Bruno Haible  <bruno@clisp.org>
70199         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
70200         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
70201         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
70202         * lib/unilbrk/u8-possible-linebreaks.c: Update.
70203         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
70204         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
70206 2009-02-09  Simon Josefsson  <simon@josefsson.org>
70208         * lib/sockets.h (gl_fd_to_handle): New function.
70210         * tests/test-sockets.c: Call gl_fd_to_handle.
70212 2009-02-09  Bruno Haible  <bruno@clisp.org>
70214         * doc/havelib.texi: Document the conventions on bi-arch systems.
70216 2009-02-08  Bruno Haible  <bruno@clisp.org>
70218         Document the AC_LIB_LINKFLAGS macro.
70219         * doc/havelib.texi: New file, mostly written on 2005-05-24.
70220         * doc/gnulib.texi: Include it.
70222 2009-02-08  Bruno Haible  <bruno@clisp.org>
70224         Fix wrong order of sections, compared to TOC.
70225         * doc/gnulib.texi: Include relocatable-maint.texi after the
70226         "Regular expressions" node, not before.
70228 2009-02-08  Bruno Haible  <bruno@clisp.org>
70230         Tests for module 'unicase/totitle'.
70231         * modules/unicase/totitle-tests: New file.
70233         Tests for module 'unicase/tolower'.
70234         * modules/unicase/tolower-tests: New file.
70236         Tests for module 'unicase/toupper'.
70237         * modules/unicase/toupper-tests: New file.
70238         * tests/unicase/test-mapping-part1.h: New file.
70239         * tests/unicase/test-mapping-part2.h: New file.
70241         New module 'unicase/totitle'.
70242         * modules/unicase/totitle: New file.
70243         * lib/unicase/totitle.c: New file.
70245         New module 'unicase/tolower'.
70246         * modules/unicase/tolower: New file.
70247         * lib/unicase/tolower.c: New file.
70249         New module 'unicase/toupper'.
70250         * modules/unicase/toupper: New file.
70251         * lib/unicase/toupper.c: New file.
70252         * lib/unicase/simple-mapping.h: New file.
70254         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
70255         (mapping_table): New structure.
70256         (output_simple_mapping): New function.
70257         (main): Invoke output_simple_mapping_test and output_simple_mapping.
70258         * modules/gen-uni-tables (Description): Update.
70259         * lib/unicase/toupper.h: New file, automatically generated by
70260         gen-uni-tables.
70261         * lib/unicase/tolower.h: New file, automatically generated by
70262         gen-uni-tables.
70263         * lib/unicase/totitle.h: New file, automatically generated by
70264         gen-uni-tables.
70265         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
70266         gen-uni-tables.
70267         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
70268         gen-uni-tables.
70269         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
70270         gen-uni-tables.
70272         New module 'unicase/base'.
70273         * modules/unicase/base: New file.
70274         * lib/unicase.h: New file.
70276 2009-02-08  Bruno Haible  <bruno@clisp.org>
70278         New module 'uniwbrk/ulc-wordbreaks'.
70279         * modules/uniwbrk/ulc-wordbreaks: New file.
70280         * lib/uniwbrk/ulc-wordbreaks.c: New file.
70282         New module 'uniwbrk/u32-wordbreaks'.
70283         * modules/uniwbrk/u32-wordbreaks: New file.
70284         * lib/uniwbrk/u32-wordbreaks.c: New file.
70286         New module 'uniwbrk/u16-wordbreaks'.
70287         * modules/uniwbrk/u16-wordbreaks: New file.
70288         * lib/uniwbrk/u16-wordbreaks.c: New file.
70290         New module 'uniwbrk/u8-wordbreaks'.
70291         * modules/uniwbrk/u8-wordbreaks: New file.
70292         * lib/uniwbrk/u8-wordbreaks.c: New file.
70293         * lib/uniwbrk/u-wordbreaks.h: New file.
70295         New module 'uniwbrk/table'.
70296         * modules/uniwbrk/table: New file.
70297         * lib/uniwbrk/wbrktable.h: New file.
70298         * lib/uniwbrk/wbrktable.c: New file.
70300         New module 'uniwbrk/wordbreak-property'.
70301         * modules/uniwbrk/wordbreak-property: New file.
70302         * lib/uniwbrk/wordbreak-property.c: New file.
70304         * lib/gen-uni-tables.c (WBP_*): New enum items.
70305         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
70306         (unicode_org_wbp): New variable.
70307         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
70308         New functions.
70309         (wbp_table): New structure.
70310         (output_wbp, output_wbrk_tables): New functions.
70311         (main): Accept additional argument. Invoke fill_org_wbp,
70312         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
70313         output_wbrk_tables.
70314         * modules/gen-uni-tables (Description): Update.
70315         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
70316         gen-uni-tables.
70318         New module 'uniwbrk/base'.
70319         * modules/uniwbrk/base: New file.
70320         * lib/uniwbrk.h: New file.
70322 2009-02-08  Bruno Haible  <bruno@clisp.org>
70324         Update to Unicode 5.1.0.
70325         * lib/gen-uni-tables.c (is_property_alphabetic): Include
70326         U+2185..U+2188.
70327         (is_property_default_ignorable_code_point): Don't include characters
70328         of category Cc or Cs and not-a-characters.
70329         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
70330         U+0D79, U+109E, U+109F, U+A60C.
70331         * lib/unictype/bidi_of.h: Regenerated.
70332         * lib/unictype/blocks.h: Regenerated.
70333         * lib/unictype/categ_C.h: Regenerated.
70334         * lib/unictype/categ_Cf.h: Regenerated.
70335         * lib/unictype/categ_Cn.h: Regenerated.
70336         * lib/unictype/categ_L.h: Regenerated.
70337         * lib/unictype/categ_Ll.h: Regenerated.
70338         * lib/unictype/categ_Lm.h: Regenerated.
70339         * lib/unictype/categ_Lo.h: Regenerated.
70340         * lib/unictype/categ_Lu.h: Regenerated.
70341         * lib/unictype/categ_M.h: Regenerated.
70342         * lib/unictype/categ_Mc.h: Regenerated.
70343         * lib/unictype/categ_Me.h: Regenerated.
70344         * lib/unictype/categ_Mn.h: Regenerated.
70345         * lib/unictype/categ_N.h: Regenerated.
70346         * lib/unictype/categ_Nd.h: Regenerated.
70347         * lib/unictype/categ_Nl.h: Regenerated.
70348         * lib/unictype/categ_No.h: Regenerated.
70349         * lib/unictype/categ_P.h: Regenerated.
70350         * lib/unictype/categ_Pd.h: Regenerated.
70351         * lib/unictype/categ_Pe.h: Regenerated.
70352         * lib/unictype/categ_Pf.h: Regenerated.
70353         * lib/unictype/categ_Pi.h: Regenerated.
70354         * lib/unictype/categ_Po.h: Regenerated.
70355         * lib/unictype/categ_Ps.h: Regenerated.
70356         * lib/unictype/categ_S.h: Regenerated.
70357         * lib/unictype/categ_Sk.h: Regenerated.
70358         * lib/unictype/categ_Sm.h: Regenerated.
70359         * lib/unictype/categ_So.h: Regenerated.
70360         * lib/unictype/categ_of.h: Regenerated.
70361         * lib/unictype/combining.h: Regenerated.
70362         * lib/unictype/ctype_alnum.h: Regenerated.
70363         * lib/unictype/ctype_alpha.h: Regenerated.
70364         * lib/unictype/ctype_graph.h: Regenerated.
70365         * lib/unictype/ctype_lower.h: Regenerated.
70366         * lib/unictype/ctype_print.h: Regenerated.
70367         * lib/unictype/ctype_punct.h: Regenerated.
70368         * lib/unictype/ctype_upper.h: Regenerated.
70369         * lib/unictype/decdigit.h: Regenerated.
70370         * lib/unictype/digit.h: Regenerated.
70371         * lib/unictype/mirror.h: Regenerated.
70372         * lib/unictype/numeric.h: Regenerated.
70373         * lib/unictype/pr_alphabetic.h: Regenerated.
70374         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
70375         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
70376         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
70377         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
70378         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
70379         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
70380         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
70381         * lib/unictype/pr_combining.h: Regenerated.
70382         * lib/unictype/pr_dash.h: Regenerated.
70383         * lib/unictype/pr_decimal_digit.h: Regenerated.
70384         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
70385         * lib/unictype/pr_deprecated.h: Regenerated.
70386         * lib/unictype/pr_diacritic.h: Regenerated.
70387         * lib/unictype/pr_extender.h: Regenerated.
70388         * lib/unictype/pr_format_control.h: Regenerated.
70389         * lib/unictype/pr_grapheme_base.h: Regenerated.
70390         * lib/unictype/pr_grapheme_extend.h: Regenerated.
70391         * lib/unictype/pr_grapheme_link.h: Regenerated.
70392         * lib/unictype/pr_id_continue.h: Regenerated.
70393         * lib/unictype/pr_id_start.h: Regenerated.
70394         * lib/unictype/pr_ideographic.h: Regenerated.
70395         * lib/unictype/pr_ignorable_control.h: Regenerated.
70396         * lib/unictype/pr_lowercase.h: Regenerated.
70397         * lib/unictype/pr_math.h: Regenerated.
70398         * lib/unictype/pr_numeric.h: Regenerated.
70399         * lib/unictype/pr_other_alphabetic.h: Regenerated.
70400         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
70401         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
70402         * lib/unictype/pr_other_id_continue.h: Regenerated.
70403         * lib/unictype/pr_other_lowercase.h: Regenerated.
70404         * lib/unictype/pr_other_math.h: Regenerated.
70405         * lib/unictype/pr_punctuation.h: Regenerated.
70406         * lib/unictype/pr_sentence_terminal.h: Regenerated.
70407         * lib/unictype/pr_soft_dotted.h: Regenerated.
70408         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
70409         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
70410         * lib/unictype/pr_unified_ideograph.h: Regenerated.
70411         * lib/unictype/pr_uppercase.h: Regenerated.
70412         * lib/unictype/pr_xid_continue.h: Regenerated.
70413         * lib/unictype/pr_xid_start.h: Regenerated.
70414         * lib/unictype/pr_zero_width.h: Regenerated.
70415         * lib/unictype/scripts.h: Regenerated.
70416         * lib/unictype/scripts_byname.gperf: Regenerated.
70417         * lib/unictype/sy_java_ident.h: Regenerated.
70418         * lib/unilbrk/lbrkprop1.h: Regenerated.
70419         * lib/unilbrk/lbrkprop2.h: Regenerated.
70420         * tests/unictype/test-categ_C.c: Regenerated.
70421         * tests/unictype/test-categ_Cf.c: Regenerated.
70422         * tests/unictype/test-categ_Cn.c: Regenerated.
70423         * tests/unictype/test-categ_L.c: Regenerated.
70424         * tests/unictype/test-categ_Ll.c: Regenerated.
70425         * tests/unictype/test-categ_Lm.c: Regenerated.
70426         * tests/unictype/test-categ_Lo.c: Regenerated.
70427         * tests/unictype/test-categ_Lu.c: Regenerated.
70428         * tests/unictype/test-categ_M.c: Regenerated.
70429         * tests/unictype/test-categ_Mc.c: Regenerated.
70430         * tests/unictype/test-categ_Me.c: Regenerated.
70431         * tests/unictype/test-categ_Mn.c: Regenerated.
70432         * tests/unictype/test-categ_N.c: Regenerated.
70433         * tests/unictype/test-categ_Nd.c: Regenerated.
70434         * tests/unictype/test-categ_Nl.c: Regenerated.
70435         * tests/unictype/test-categ_No.c: Regenerated.
70436         * tests/unictype/test-categ_P.c: Regenerated.
70437         * tests/unictype/test-categ_Pd.c: Regenerated.
70438         * tests/unictype/test-categ_Pe.c: Regenerated.
70439         * tests/unictype/test-categ_Pf.c: Regenerated.
70440         * tests/unictype/test-categ_Pi.c: Regenerated.
70441         * tests/unictype/test-categ_Po.c: Regenerated.
70442         * tests/unictype/test-categ_Ps.c: Regenerated.
70443         * tests/unictype/test-categ_S.c: Regenerated.
70444         * tests/unictype/test-categ_Sk.c: Regenerated.
70445         * tests/unictype/test-categ_Sm.c: Regenerated.
70446         * tests/unictype/test-categ_So.c: Regenerated.
70447         * tests/unictype/test-ctype_alnum.c: Regenerated.
70448         * tests/unictype/test-ctype_alpha.c: Regenerated.
70449         * tests/unictype/test-ctype_graph.c: Regenerated.
70450         * tests/unictype/test-ctype_lower.c: Regenerated.
70451         * tests/unictype/test-ctype_print.c: Regenerated.
70452         * tests/unictype/test-ctype_punct.c: Regenerated.
70453         * tests/unictype/test-ctype_upper.c: Regenerated.
70454         * tests/unictype/test-decdigit.h: Regenerated.
70455         * tests/unictype/test-digit.h: Regenerated.
70456         * tests/unictype/test-numeric.h: Regenerated.
70457         * tests/unictype/test-pr_alphabetic.c: Regenerated.
70458         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
70459         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
70460         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
70461         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
70462         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
70463         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
70464         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
70465         * tests/unictype/test-pr_combining.c: Regenerated.
70466         * tests/unictype/test-pr_dash.c: Regenerated.
70467         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
70468         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
70469         * tests/unictype/test-pr_deprecated.c: Regenerated.
70470         * tests/unictype/test-pr_diacritic.c: Regenerated.
70471         * tests/unictype/test-pr_extender.c: Regenerated.
70472         * tests/unictype/test-pr_format_control.c: Regenerated.
70473         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
70474         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
70475         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
70476         * tests/unictype/test-pr_id_continue.c: Regenerated.
70477         * tests/unictype/test-pr_id_start.c: Regenerated.
70478         * tests/unictype/test-pr_ideographic.c: Regenerated.
70479         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
70480         * tests/unictype/test-pr_lowercase.c: Regenerated.
70481         * tests/unictype/test-pr_math.c: Regenerated.
70482         * tests/unictype/test-pr_numeric.c: Regenerated.
70483         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
70484         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
70485         Regenerated.
70486         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
70487         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
70488         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
70489         * tests/unictype/test-pr_other_math.c: Regenerated.
70490         * tests/unictype/test-pr_punctuation.c: Regenerated.
70491         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
70492         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
70493         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
70494         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
70495         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
70496         * tests/unictype/test-pr_uppercase.c: Regenerated.
70497         * tests/unictype/test-pr_xid_continue.c: Regenerated.
70498         * tests/unictype/test-pr_xid_start.c: Regenerated.
70499         * tests/unictype/test-pr_zero_width.c: Regenerated.
70501         Update to Unicode 5.1.0.
70502         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
70503         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
70504         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
70505         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
70506         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
70507         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
70508         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
70509         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
70510         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
70511         (nonspacing_table_ind): Update.
70512         * tests/uniwidth/test-uc_width2.sh: Update expected result.
70514         Update to Unicode 5.1.0.
70515         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
70516         code transform.
70517         * lib/uniname/uniname.c (unicode_character_name,
70518         unicode_name_character): Add the range 0x1Fxxx to the code transform.
70519         * lib/uniname/uninames.h: Regenerated.
70520         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
70522 2009-02-07  Bruno Haible  <bruno@clisp.org>
70524         Merge gen-ctype and gen-lbrk into a single program.
70525         * lib/gen-uni-tables.c: New file, incorporating
70526         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
70527         Add directory prefixes to the names of the generated files.
70528         * lib/unictype/gen-ctype.c: Remove file.
70529         * lib/unilbrk/gen-lbrk.c: Remove file.
70530         * modules/gen-uni-tables: New file.
70531         * modules/unictype/gen-ctype: Remove file.
70532         * modules/unilbrk/gen-lbrk: Remove file.
70534 2009-02-07  Bruno Haible  <bruno@clisp.org>
70536         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
70538         New module 'unistr/u32-strcoll'.
70539         * modules/unistr/u32-strcoll: New file.
70540         * lib/unistr/u32-strcoll.c: New file.
70542         New module 'unistr/u16-strcoll'.
70543         * modules/unistr/u16-strcoll: New file.
70544         * lib/unistr/u16-strcoll.c: New file.
70546         New module 'unistr/u8-strcoll'.
70547         * modules/unistr/u8-strcoll: New file.
70548         * lib/unistr/u8-strcoll.c: New file.
70549         * lib/unistr/u-strcoll.h: New file.
70551 2009-02-07  Bruno Haible  <bruno@clisp.org>
70553         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
70554         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
70555         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
70556         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
70557         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
70558         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
70560 2009-02-07  Bruno Haible  <bruno@clisp.org>
70562         Make 64-bit clean.
70563         * lib/unictype/gen-ctype.c (output_predicate, output_category,
70564         output_combclass, output_bidi_category, output_decimal_digit,
70565         output_digit, output_numeric, output_mirror, output_scripts,
70566         output_ident_category): Use proper width specifier in format strings.
70568 2009-02-07  Bruno Haible  <bruno@clisp.org>
70570         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
70571         failure behaviour.
70573 2009-02-07  Jim Meyering  <meyering@redhat.com>
70575         regex: avoid compilation failure with upcoming gcc-4.4
70576         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
70577         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
70578         "... error: integer overflow in preprocessor expression".
70580 2009-02-05  Ben Pfaff  <blp@gnu.org>
70582         Fix link errors on Windows when close module is used.
70583         * modules/close: Add $(LIB_CLOSE) to Link section.
70584         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
70585         $(LIB_CLOSE) on Windows.
70587 2009-02-05  Jim Meyering  <meyering@redhat.com>
70589         still avoid unused-parameter warnings, but do it cleanly
70590         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
70591         (get_fs_usage): Cast to void instead.
70592         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
70593         (dev_from_mount_options, read_file_system_list): Cast to void.
70594         Prompted by Bruno Haible.
70596 2009-02-04  Jim Meyering  <meyering@redhat.com>
70598         fsusage.c: correct copyright year
70599         * lib/fsusage.c: Reflect year in which the change is pushed into
70601         avoid misc. warnings
70602         * lib/fsusage.c (UNUSED_PARAM): Define.
70603         (get_fs_usage): Mark parameter "disk" as unused.
70604         * lib/getugroups.c (getgrent): Use "void" in prototype.
70605         * lib/mountlist.c: Mark unused parameters.
70606         (read_file_system_list): Declare a local with "const".
70607         * lib/nanosleep.c (getnow): Declare static.
70608         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
70610         dirfd: set errno upon failure
70611         * lib/dirfd.c: Include <errno.h>.
70612         Set errno to ENOTSUP when returning -1.
70613         * modules/dirfd (Depends-on): Add errno.
70614         Suggested by John Kodis <kodis@comcast.net>.
70616 2009-02-01  Bruno Haible  <bruno@clisp.org>
70618         Don't assume sizeof (long) >= sizeof (void *).
70619         * lib/memcmp.c: Include stdint.h.
70620         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
70621         srcp2 to 'const byte *'.
70622         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
70623         types to uintptr_t.
70624         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
70625         * modules/memcmp (Depends-on): Add stdint.
70626         Reported by Ozkan Sezer <sezeroz@gmail.com>.
70628 2009-01-30  Eric Blake  <ebb9@byu.net>
70630         fix more require-before-expand issues
70631         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
70632         expand, AC_PROG_AWK.
70633         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
70635 2009-01-28  Eric Blake  <ebb9@byu.net>
70637         version-etc: use consistent URL formatting
70638         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
70639         Improve formatting.  Use fputs for string without %.
70641 2009-01-28  Jim Meyering  <meyering@redhat.com>
70643         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
70644         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
70645         "underquoted definition of NAME" from autoconf-2.59.
70647 2009-01-28  Bruno Haible  <bruno@clisp.org>
70649         * doc/gnulib.texi: Add "Obsolete modules" to index.
70651 2009-01-28  Jim Meyering  <meyering@redhat.com>
70653         useless-if-before-free: recognize more variants
70654         * build-aux/useless-if-before-free: Also recognize e.g.,
70655         if (NULL != p) free (p);
70657 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
70659         test-getaddrinfo: skip (don't fail) this test when there's no network
70660         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
70661         on the presumption that it means you lack network access.
70663 2009-01-26  Jim Meyering  <meyering@redhat.com>
70665         fflush: avoid warnings on modern systems
70666         * lib/fflush.c (rpl_fflush): Move declarations of locals,
70667         pos and result, into scopes where they're used.
70669 2009-01-26  Eric Blake  <ebb9@byu.net>
70671         Silence warning reintroduced by recent extensions patch.
70672         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
70673         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
70674         autoconf.
70676         Backport improved autoconf semantics of AC_DEFUN_ONCE.
70677         * m4/00gnulib.m4: New file.
70678         * gnulib-tool (func_get_filelist): Always use it.
70679         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
70680         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
70682 2009-01-25  Bruno Haible  <bruno@clisp.org>
70684         Make test-quotearg work on MacOS X and AIX.
70685         * tests/test-quotearg.sh: New file.
70686         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
70687         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
70688         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
70689         include <libintl.h>.
70690         (fake_locale): Remove variable.
70691         (gettext, dgettext, dcgettext): Remove functions.
70692         (main): Instead of setting a fake locale, set a real locale. Call
70693         textdomain and bindtextdomain.
70694         * modules/quotearg-tests (Files): Add the new files.
70695         (Depends-on): Add gettext, setenv, unsetenv.
70696         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
70697         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
70698         Augment TESTS_ENVIRONMENT.
70700 2009-01-25  Bruno Haible  <bruno@clisp.org>
70702         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
70703         fr_FR.ISO8859-1 locale on MacOS X.
70704         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
70705         ja_JP.eucJP locale on MacOS X.
70706         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
70707         zh_CN.GB18030 locale on MacOS X.
70709 2009-01-25  Bruno Haible  <bruno@clisp.org>
70711         Avoid link errors on MacOS X 10.3.
70712         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
70713         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
70715 2009-01-25  Bruno Haible  <bruno@clisp.org>
70717         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
70718         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
70719         * modules/pipe (Files): Remove m4/posix_spawn.m4.
70720         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
70721         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
70722         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
70723         posix_spawnattr_init, posix_spawnattr_setsigmask,
70724         posix_spawnattr_setflags, posix_spawnattr_destroy.
70726         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
70727         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
70728         * modules/execute (Files): Remove m4/posix_spawn.m4.
70729         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
70730         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
70731         posix_spawnattr_init, posix_spawnattr_setsigmask,
70732         posix_spawnattr_setflags, posix_spawnattr_destroy.
70734 2009-01-25  Bruno Haible  <bruno@clisp.org>
70736         * lib/glthread/threadlib.c: Include <stdlib.h>.
70738 2009-01-25  Bruno Haible  <bruno@clisp.org>
70740         * lib/glthread/threadlib.c (dummy): New declaration.
70742 2009-01-25  Bruno Haible  <bruno@clisp.org>
70744         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
70745         multibyte characters also for the GB18030 encoding. Don't crash when
70746         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
70748 2009-01-25  Bruno Haible  <bruno@clisp.org>
70750         Avoid redefining 'struct random_data' on OSF/1 5.1.
70751         * lib/stdlib.in.h: Include <random.h> if it exists.
70752         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
70753         HAVE_RANDOM_H. Include <random.h> when testing whether
70754         'struct random_data' exists.
70755         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
70757 2009-01-25  Bruno Haible  <bruno@clisp.org>
70759         Don't install charset.alias on MacOS X >= 10.3.
70760         * lib/localcharset.c (DARWIN7): New macro.
70761         (get_charset_aliases): Hardcode the result for Darwin7.
70762         * modules/localcharset (install-exec-local): Don't install
70763         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
70765 2009-01-25  Bruno Haible  <bruno@clisp.org>
70767         Don't install charset.alias on mingw and Cygwin.
70768         * modules/localcharset (install-exec-local): Don't install
70769         charset.alias on mingw and Cygwin, if the file does not yet exist.
70770         The result for these platforms is hardcoded in localcharset.c.
70772 2009-01-25  Bruno Haible  <bruno@clisp.org>
70774         Make it possible again to use AC_GNU_SOURCE together with gnulib.
70775         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
70776         before requiring AC_USE_SYSTEM_EXTENSIONS.
70778 2009-01-25  Jim Meyering  <meyering@redhat.com>
70780         c-strtod: avoid warnings
70781         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
70782         "assignment discards qualifiers from pointer target type" warnings.
70784 2009-01-24  Bruno Haible  <bruno@clisp.org>
70786         Add support for non-UTF-8 locales on MacOS X.
70787         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
70788         canonical encodings. For Darwin 7 and newer, don't map traditional
70789         encodings to UTF-8.
70790         Reported by Vincent Lefevre <vincent@vinc17.org>
70791         at <http://savannah.gnu.org/bugs/?25235>.
70793 2009-01-24  Bruno Haible  <bruno@clisp.org>
70795         * doc/gnulib.texi (Obsolete modules): New section.
70796         Reported by Mike Frysinger <vapier@gentoo.org>.
70798 2009-01-24  Bruno Haible  <bruno@clisp.org>
70800         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
70801         (%.dvi): New rule.
70803 2009-01-24  Bruno Haible  <bruno@clisp.org>
70805         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
70806         Reported by Eric Blake.
70808 2009-01-24  Bruno Haible  <bruno@clisp.org>
70810         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
70811         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
70812         Reported by Gary V. Vaughan <gary@gnu.org>.
70814 2009-01-24  Bruno Haible  <bruno@clisp.org>
70816         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
70818 2009-01-23  Bruno Haible  <bruno@clisp.org>
70820         Make c-strtod, c-strtold usable in libraries.
70821         * lib/c-strtod.c: Include string.h instead of xalloc.h.
70822         (C_STRTOD): Call strdup instead of xstrdup.
70823         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
70824         * modules/c-strtold (Depends-on): Likewise.
70825         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
70826         * NEWS: Mention the change.
70827         Reported by Michael Gold <mgold@ncf.ca>.
70829 2009-01-23  Jim Meyering  <meyering@redhat.com>
70831         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
70832         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
70833         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
70835 2009-01-23  Simon Josefsson  <simon@josefsson.org>
70837         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
70838         GNU CoreUtils.
70839         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
70840         * modules/version-etc (Description): Update.
70842 2009-01-22  Bruno Haible  <bruno@clisp.org>
70844         Cache the C locale object.
70845         * lib/c-strtod.c (c_locale_cache): New variable.
70846         (c_locale): New function.
70847         (C_STRTOD): Use it, and don't call freelocale.
70848         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
70849         Suggested by Paolo Bonzini.
70851 2009-01-21  Bruno Haible  <bruno@clisp.org>
70853         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
70854         conditions other than overflow.
70856 2009-01-21  Bruno Haible  <bruno@clisp.org>
70858         * lib/c-strtod.c: Include errno.h.
70859         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
70860         value from STRTOD_L and STRTOD.
70862 2009-01-21  Bruno Haible  <bruno@clisp.org>
70863         and Jim Meyering  <meyering@redhat.com>
70865         nanosleep: skip configure test (fail it) for apple universal builds
70866         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
70867         universal builds, assume that nanosleep does not work.
70868         * modules/nanosleep (Depends-on): Add multiarch.
70870         mktime: skip configure test (fail it) for apple universal builds
70871         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
70872         universal builds, assume that mktime does not work.
70873         * modules/mktime (Depends-on): Add multiarch.
70875 2009-01-21  Eric Blake  <ebb9@byu.net>
70877         multiarch: avoid expand-before-require warning
70878         * modules/multiarch (configure.ac): Require, rather than expand,
70879         gl_MULTIARCH.
70880         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
70881         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
70882         enforce that all clients require it.  Partial reversion of
70883         2008-12-29 patch.
70885         error: avoid expand-before-require warning
70886         * modules/errno (configure.ac): Require, rather than expand,
70887         gl_HEADER_ERRNO_H.
70888         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
70889         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
70890         enforce that all clients require it.
70892         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
70893         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
70894         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
70895         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
70897 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
70899         Revert:
70900         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
70902         regex: do not depend on obsolete modules.
70903         * modules/regex: Remove memcmp and memmove.
70905 2009-01-20  Bruno Haible  <bruno@clisp.org>
70907         Make the 'link' module link on Windows NT 4.
70908         * lib/link.c (_WIN32_WINNT): Don't define.
70909         (CreateHardLinkFuncType): New type.
70910         (CreateHardLinkFunc, initialized): New variables.
70911         (initialize): New function.
70912         (link): Invoke CreateHardLink indirectly through the function pointer.
70914 2009-01-20  Bruno Haible  <bruno@clisp.org>
70916         Fix compilation failure on mingw.
70917         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
70919 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
70921         * doc/c-strtod.texi: Mention a couple of restrictions.
70923 2009-01-20  Jim Meyering  <meyering@redhat.com>
70925         gettimeofday: move more declarations out of functions
70926         * lib/gettimeofday.c: Move extern declarations of tzset and
70927         gmtime out of containing functions.  Prompted by Bruno Haible.
70929 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
70931         regex: do not depend on obsolete modules.
70932         * modules/regex: Remove memcmp and memmove.
70934 2009-01-19  Bruno Haible  <bruno@clisp.org>
70936         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
70937         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
70938         gl_BIGENDIAN, not AC_C_BIGENDIAN.
70939         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
70940         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
70942 2009-01-19  Bruno Haible  <bruno@clisp.org>
70944         * tests/test-link.c: Include <errno.h>.
70945         (main): Exit with code 77 when a hard link cannot be created due to
70946         the file system.
70947         * tests/test-link.sh: Skip test when a hard link cannot be created due
70948         to the file system.
70949         Suggested by Eric Blake.
70951 2009-01-19  Martin Lambers  <marlam@marlam.de>
70953         * modules/link-tests: New file.
70954         * tests/test-link.sh: New file.
70955         * tests/test-link.c: New file.
70957 2009-01-19  Eric Blake  <ebb9@byu.net>
70959         doc: mention another function added in cygwin 1.7.0
70960         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
70961         Another new function in cygwin 1.7.
70963 2009-01-19  Bruno Haible  <bruno@clisp.org>
70965         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
70966         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
70967         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
70968         gl_BIGENDIAN, not AC_C_BIGENDIAN.
70969         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
70970         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
70971         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
70972         * m4/md4.m4 (gl_MD4): Likewise.
70973         * m4/md5.m4 (gl_MD5): Likewise.
70974         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
70975         * m4/sha1.m4 (gl_SHA1): Likewise.
70976         * m4/sha256.m4 (gl_SHA256): Likewise.
70977         * m4/sha512.m4 (gl_SHA512): Likewise.
70979 2009-01-19  Bruno Haible  <bruno@clisp.org>
70981         * modules/uniname/uniname-tests (Depends-on): Add progname.
70982         * tests/uniname/test-uninames.c: Include progname.h.
70983         (main): Call set_program_name.
70985         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
70986         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
70987         (main): Call set_program_name.
70989         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
70990         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
70991         (main): Call set_program_name.
70993         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
70994         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
70995         (main): Call set_program_name.
70997         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
70998         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
70999         (main): Call set_program_name.
71001         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
71002         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
71003         (main): Call set_program_name.
71005         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
71006         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
71007         (main): Call set_program_name.
71009         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
71010         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
71011         (main): Call set_program_name.
71013         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
71014         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
71015         (main): Call set_program_name.
71017 2009-01-19  Eric Blake  <ebb9@byu.net>
71019         test-unistd: test previous patch
71020         * tests/test-unistd.c: Test *_FILENO macros.
71022         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
71023         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
71024         Guarantee a definition.
71025         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
71026         * modules/unistd-safer (Depends-on): Add dependency on unistd.
71027         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
71028         * lib/dup-safer.c (STDERR_FILENO): Likewise.
71029         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
71030         Likewise.
71031         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
71032         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
71033         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
71034         Likewise.
71035         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
71036         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
71037         (STDERR_FILENO): Likewise.
71038         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
71039         (STDERR_FILENO): Likewise.
71040         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
71041         (STDERR_FILENO): Likewise.
71042         Reported by Elbert Pol.
71044 2009-01-19  Eric Blake  <ebb9@byu.net>
71046         doc: mention more functions added in cygwin 1.7.0
71047         * doc/posix-functions/abort.texi (abort): Update wording related
71048         to cygwin.
71049         * doc/posix-functions/daylight.texi (daylight): Likewise.
71050         * doc/posix-functions/optarg.texi (optarg): Likewise.
71051         * doc/posix-functions/optarg.texi (opterr): Likewise.
71052         * doc/posix-functions/optarg.texi (optind): Likewise.
71053         * doc/posix-functions/optarg.texi (optopt): Likewise.
71054         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
71055         worked in 1.5.x, and was withdrawn in 1.7.
71056         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
71057         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
71058         cygwin versions.
71059         * doc/posix-functions/perror.texi (perror): Likewise.
71060         * doc/posix-functions/printf.texi (printf): Likewise.
71061         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
71062         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
71063         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
71064         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
71065         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
71066         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
71067         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
71068         Likewise.
71069         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
71070         Likewise.
71071         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
71072         this function.
71073         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
71074         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
71075         Likewise.
71076         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
71077         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
71078         * doc/posix-functions/confstr.texi (confstr): Likewise.
71079         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
71080         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
71081         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
71082         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
71083         * doc/posix-functions/fputws.texi (fputws): Likewise.
71084         * doc/posix-functions/fwide.texi (fwide): Likewise.
71085         * doc/posix-functions/getwc.texi (getwc): Likewise.
71086         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
71087         * doc/posix-functions/putwc.texi (putwc): Likewise.
71088         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
71089         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
71090         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
71091         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
71092         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
71093         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
71094         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
71095         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
71096         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
71097         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
71098         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
71100 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
71102         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
71103         * lib/ioctl.c: Include <sys/ioctl.h>.
71105 2009-01-19  Simon Josefsson  <simon@josefsson.org>
71107         * modules/getdate-tests (Depends-on): Add progname.
71108         * tests/test-getdate.c: Use progname module, to avoid link errors
71109         on non-glibc systems.
71111 2009-01-18  Simon Josefsson  <simon@josefsson.org>
71113         * modules/filenamecat-tests (Depends-on): Add progname.
71114         * modules/fstrcmp-tests (Depends-on): Likewise.
71116         * tests/test-filenamecat.c: Use progname module, to avoid link
71117         errors on non-glibc systems.
71118         * tests/test-fstrcmp.c: Likewise.
71120 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
71122         gettimeofday: avoid warning: nested extern declaration of 'localtime'
71123         * lib/gettimeofday.c: Move extern declaration out of function.
71125 2009-01-18  Bruno Haible  <bruno@clisp.org>
71127         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
71128         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
71129         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
71131 2009-01-18  Bruno Haible  <bruno@clisp.org>
71133         * lib/strftime.c (MEMPCPY): Remove unused macro.
71134         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
71136 2009-01-18  Martin Lambers  <marlam@marlam.de>
71138         New module 'link'.
71139         * lib/unistd.in.h (link): New declaration.
71140         * lib/link.c: New file.
71141         * m4/link.m4: New file.
71142         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
71143         HAVE_LINK.
71144         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
71145         * modules/link: New file.
71146         * doc/posix-functions/link.texi: Mention the new module.
71148 2009-01-18  Bruno Haible  <bruno@clisp.org>
71150         * tests/test-avltree_list.c (main): Call set_program_name.
71151         * tests/test-avltree_oset.c (main): Likewise.
71152         * tests/test-obstack-printf.c: Include progname.h.
71153         (main): Call set_program_name.
71154         * tests/test-quotearg.c: Include progname.h.
71155         (main): Call set_program_name.
71156         * tests/test-xmemdup0.c: Include progname.h.
71157         (main): Call set_program_name.
71159 2009-01-18  Bruno Haible  <bruno@clisp.org>
71161         New module 'alphasort'.
71162         * lib/dirent.in.h (alphasort): New declaration.
71163         * lib/alphasort.c: New file, from glibc with modifications.
71164         * m4/alphasort.m4: New file.
71165         * modules/alphasort: New file.
71166         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
71167         HAVE_ALPHASORT.
71168         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
71169         HAVE_ALPHASORT.
71170         * doc/posix-functions/alphasort.texi: Mention the new module and the
71171         portability problems.
71173 2009-01-18  Bruno Haible  <bruno@clisp.org>
71175         New module 'scandir'.
71176         * lib/dirent.in.h (scandir): New declaration.
71177         * lib/scandir.c: New file, from glibc with modifications.
71178         * m4/scandir.m4: New file.
71179         * modules/scandir: New file.
71180         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
71181         HAVE_SCANDIR.
71182         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
71183         HAVE_SCANDIR.
71184         * doc/posix-functions/scandir.texi: Mention the new module and the
71185         portability problems.
71187 2009-01-17  Bruno Haible  <bruno@clisp.org>
71189         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
71190         Update documentation.
71191         (func_remove_suffix): Escape all dots in the suffix. Update
71192         documentation.
71193         (func_filter_filelist): Update documentation.
71194         Reported by Ralf Wildenhues.
71196 2009-01-17  Bruno Haible  <bruno@clisp.org>
71198         * modules/dprintf-posix-tests: New file.
71199         * tests/test-dprintf-posix.sh: New file.
71200         * tests/test-dprintf-posix.c: New file.
71202         New modules 'dprintf', 'dprintf-posix'.
71203         * lib/stdio.in.h (dprintf): New declaration.
71204         * lib/dprintf.c: New file.
71205         * m4/dprintf.m4: New file.
71206         * m4/dprintf-posix.m4: New file.
71207         * modules/dprintf: New file.
71208         * modules/dprintf-posix: New file.
71209         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
71210         HAVE_DPRINTF, REPLACE_DPRINTF.
71211         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
71212         HAVE_DPRINTF, REPLACE_DPRINTF.
71213         * doc/posix-functions/dprintf.texi: Mention the new modules.
71215 2009-01-17  Bruno Haible  <bruno@clisp.org>
71217         * modules/vdprintf-posix-tests: New file.
71218         * tests/test-vdprintf-posix.sh: New file.
71219         * tests/test-vdprintf-posix.c: New file.
71221         New modules 'vdprintf', 'vdprintf-posix'.
71222         * lib/stdio.in.h (vdprintf): New declaration.
71223         * lib/vdprintf.c: New file.
71224         * m4/vdprintf.m4: New file.
71225         * m4/vdprintf-posix.m4: New file.
71226         * modules/vdprintf: New file.
71227         * modules/vdprintf-posix: New file.
71228         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
71229         HAVE_VDPRINTF, REPLACE_VDPRINTF.
71230         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
71231         HAVE_VDPRINTF, REPLACE_VDPRINTF.
71232         * doc/posix-functions/vdprintf.texi: Mention the new modules.
71234 2009-01-17  Bruno Haible  <bruno@clisp.org>
71236         Fix replacement of fopen on mingw.
71237         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
71238         mingw.
71240 2009-01-17  Bruno Haible  <bruno@clisp.org>
71242         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
71243         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
71245 2009-01-17  Bruno Haible  <bruno@clisp.org>
71247         Avoid test-fflush2.sh failure on mingw.
71248         * tests/test-fflush2.c: Include binary-io.h.
71249         (main): Put standard input into binary mode.
71250         * modules/fflush-tests (Depends-on): Add binary-io.
71252 2009-01-17  Bruno Haible  <bruno@clisp.org>
71254         * lib/wchar.in.h: In another particular situation, include only the
71255         system's <wchar.h> file.
71256         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
71257         Reported by Albert Chin-A-Young <china@thewrittenword.com>
71258         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
71260 2009-01-17  Bruno Haible  <bruno@clisp.org>
71262         Support for stripping executables in --enable-relocatable.
71263         * build-aux/install-reloc: Expect one more argument, or an environment
71264         variable RELOC_STRIP_PROG. If set, strip the destination program and
71265         its wrapper.
71266         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
71267         RELOC_STRIP_PROG.
71268         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
71269         to set RELOCATABLE_STRIP.
71270         * NEWS: Mention the new Makefile requirement.
71272 2009-01-17  Bruno Haible  <bruno@clisp.org>
71274         * build-aux/install-reloc: Remove debugging information left over by
71275         C compiler on MacOS X.
71277 2009-01-17  Bruno Haible  <bruno@clisp.org>
71279         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
71280         * lib/progreloc.c (find_executable): Fix type of pointer passed to
71281         _NSGetExecutablePath.
71283 2009-01-16  Jim Meyering  <meyering@redhat.com>
71285         strerror: avoid warnings about discarding "const"
71286         * lib/strerror.c (rpl_strerror): Instead of returning a const
71287         string from each and every "case", use a variable, and add a single
71288         cast after the switch.
71290 2009-01-16  Albert Chin-A-Young  <china@thewrittenword.com>
71292         * lib/arpa_inet.in.h: Add extern "C" block for C++.
71294 2009-01-16  Bruno Haible  <bruno@clisp.org>
71296         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
71297         array initializer syntax that also works in C++ mode.
71298         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
71300 2009-01-16  Jim Meyering  <meyering@redhat.com>
71302         poll: suppress a warning
71303         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
71304         to ignore "...unsigned expression < 0 is always false" warnings.
71306 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
71308         poll: remove declarations of unused variables
71309         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
71310         sockbuf and optlen.
71312 2009-01-15  Bruno Haible  <bruno@clisp.org>
71314         Make fflush-after-ungetc POSIX compliant on BSD systems.
71315         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
71316         (clear_ungetc_buffer): Implement also for other systems.
71317         (rpl_fflush): On glibc systems, invoke
71318         clear_ungetc_buffer_preserving_position. Otherwise, invoke
71319         clear_ungetc_buffer after fetching the stream's position, not before.
71321 2009-01-15  Bruno Haible  <bruno@clisp.org>
71323         Make fflush-after-ungetc POSIX compliant on glibc systems.
71324         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
71325         after ungetc.
71326         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
71327         (rpl_fflush): On glibc systems, simply call the system's fflush
71328         function after clearing the ungetc buffer.
71329         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
71330         Instead, lseek only to the end of file, then use the system's fseeko
71331         for the rest. On glibc systems, reset the EOF indicator bit.
71333 2009-01-15  Jim Meyering  <meyering@redhat.com>
71335         openmp.m4: revert quote-adding change, for portability to older autoconf
71336         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
71337         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
71338         Simon Josefsson noticed the problem when using autoconf-2.61.
71340 2009-01-15  Bruno Haible  <bruno@clisp.org>
71342         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
71343         * tests/test-fflush2.c (ASSERT): Always fail.
71344         (main): Add two tests for fflush() after ungetc(), taking into account
71345         the Austin Group's clarification.
71346         Suggested by Eric Blake.
71348 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
71350         mktime.m4: remove K&R-style function prototypes
71351         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
71352         for the Sun C++ compiler.
71354 2009-01-14  Bruno Haible  <bruno@clisp.org>
71356         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
71357         while including <wchar.h>.
71358         * lib/wchar.in.h: In two particular situations on HP-UX, include only
71359         the system's <wchar.h> file.
71360         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
71362 2009-01-14  Bruno Haible  <bruno@clisp.org>
71364         * m4/csharp.m4: Don't mention gettext on the serial number line.
71365         * m4/csharpexec.m4: Likewise.
71366         * m4/eaccess.m4: Likewise.
71367         * m4/javaexec.m4: Likewise.
71368         * m4/sig_atomic_t.m4: Likewise.
71369         * m4/tmpdir.m4: Likewise.
71370         * m4/intldir.m4: Bump gettext version.
71371         * m4/lib-ld.m4: Likewise.
71373 2009-01-14  Bruno Haible  <bruno@clisp.org>
71375         * lib/progname.c (set_program_name): Add more comments.
71376         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
71378 2009-01-14  Simon Josefsson  <simon@josefsson.org>
71380         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
71381         were sys/stat.h does not define it.
71383 2009-01-14  Jim Meyering  <meyering@redhat.com>
71385         many *.m4 files: improve m4 quoting
71386         99% of this change was performed by running the following commands:
71387         git ls-files | grep '\.m4$' | xargs perl -pi \
71388           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
71389           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
71390           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
71391           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
71392         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
71393         The remainder were to add Copyright dates, increment serial numbers,
71394         undo some changes in comments, exclude m4/intl.m4, and add quotes
71395         around the "1" in ",1" where the unusual spacing prohibited the
71396         above regexps from doing the job.  For more details, see
71397         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
71398         * m4/acl.m4: Modified.
71399         * m4/afs.m4: Likewise.
71400         * m4/alloca.m4: Likewise.
71401         * m4/argp.m4: Likewise.
71402         * m4/argz.m4: Likewise.
71403         * m4/atexit.m4: Likewise.
71404         * m4/bison-i18n.m4: Likewise.
71405         * m4/bison.m4: Likewise.
71406         * m4/byteswap.m4: Likewise.
71407         * m4/c-stack.m4: Likewise.
71408         * m4/c-strtod.m4: Likewise.
71409         * m4/calloc.m4: Likewise.
71410         * m4/canonicalize-lgpl.m4: Likewise.
71411         * m4/chown.m4: Likewise.
71412         * m4/clock_time.m4: Likewise.
71413         * m4/codeset.m4: Likewise.
71414         * m4/copy-file.m4: Likewise.
71415         * m4/csharp.m4: Likewise.
71416         * m4/csharpcomp.m4: Likewise.
71417         * m4/csharpexec.m4: Likewise.
71418         * m4/d-ino.m4: Likewise.
71419         * m4/d-type.m4: Likewise.
71420         * m4/dirfd.m4: Likewise.
71421         * m4/double-slash-root.m4: Likewise.
71422         * m4/eaccess.m4: Likewise.
71423         * m4/eealloc.m4: Likewise.
71424         * m4/environ.m4: Likewise.
71425         * m4/errno_h.m4: Likewise.
71426         * m4/euidaccess.m4: Likewise.
71427         * m4/execute.m4: Likewise.
71428         * m4/fatal-signal.m4: Likewise.
71429         * m4/fchdir.m4: Likewise.
71430         * m4/fcntl_h.m4: Likewise.
71431         * m4/fileblocks.m4: Likewise.
71432         * m4/filenamecat.m4: Likewise.
71433         * m4/findprog.m4: Likewise.
71434         * m4/flexmember.m4: Likewise.
71435         * m4/fnmatch.m4: Likewise.
71436         * m4/fopen.m4: Likewise.
71437         * m4/fpending.m4: Likewise.
71438         * m4/fprintf-posix.m4: Likewise.
71439         * m4/free.m4: Likewise.
71440         * m4/frexp.m4: Likewise.
71441         * m4/frexpl.m4: Likewise.
71442         * m4/fsusage.m4: Likewise.
71443         * m4/ftruncate.m4: Likewise.
71444         * m4/gc-camellia.m4: Likewise.
71445         * m4/gc-random.m4: Likewise.
71446         * m4/gc.m4: Likewise.
71447         * m4/getaddrinfo.m4: Likewise.
71448         * m4/getcwd-abort-bug.m4: Likewise.
71449         * m4/getcwd-path-max.m4: Likewise.
71450         * m4/getdate.m4: Likewise.
71451         * m4/getdomainname.m4: Likewise.
71452         * m4/getgroups.m4: Likewise.
71453         * m4/gethostname.m4: Likewise.
71454         * m4/gethrxtime.m4: Likewise.
71455         * m4/getline.m4: Likewise.
71456         * m4/getloadavg.m4: Likewise.
71457         * m4/getndelim2.m4: Likewise.
71458         * m4/getpass.m4: Likewise.
71459         * m4/gettext.m4: Likewise.
71460         * m4/gettime.m4: Likewise.
71461         * m4/gettimeofday.m4: Likewise.
71462         * m4/gnulib-common.m4: Likewise.
71463         * m4/group-member.m4: Likewise.
71464         * m4/host-os.m4: Likewise.
71465         * m4/iconv.m4: Likewise.
71466         * m4/iconv_open.m4: Likewise.
71467         * m4/inet_ntop.m4: Likewise.
71468         * m4/inet_pton.m4: Likewise.
71469         * m4/inline.m4: Likewise.
71470         * m4/intldir.m4: Likewise.
71471         * m4/intlmacosx.m4: Likewise.
71472         * m4/intmax.m4: Likewise.
71473         * m4/intmax_t.m4: Likewise.
71474         * m4/inttypes.m4: Likewise.
71475         * m4/inttypes_h.m4: Likewise.
71476         * m4/inttypes-pri.m4: Likewise.
71477         * m4/isapipe.m4: Likewise.
71478         * m4/isnand.m4: Likewise.
71479         * m4/isnanf.m4: Likewise.
71480         * m4/isnanl.m4: Likewise.
71481         * m4/javacomp.m4: Likewise.
71482         * m4/javaexec.m4: Likewise.
71483         * m4/jm-winsz1.m4: Likewise.
71484         * m4/jm-winsz2.m4: Likewise.
71485         * m4/lchown.m4: Likewise.
71486         * m4/lcmessage.m4: Likewise.
71487         * m4/ldexpl.m4: Likewise.
71488         * m4/lib-ld.m4: Likewise.
71489         * m4/lib-link.m4: Likewise.
71490         * m4/libsigsegv.m4: Likewise.
71491         * m4/link-follow.m4: Likewise.
71492         * m4/localcharset.m4: Likewise.
71493         * m4/locale-fr.m4: Likewise.
71494         * m4/locale-ja.m4: Likewise.
71495         * m4/locale-tr.m4: Likewise.
71496         * m4/locale-zh.m4: Likewise.
71497         * m4/lock.m4: Likewise.
71498         * m4/longlong.m4: Likewise.
71499         * m4/ls-mntd-fs.m4: Likewise.
71500         * m4/lstat.m4: Likewise.
71501         * m4/malloc.m4: Likewise.
71502         * m4/mathl.m4: Likewise.
71503         * m4/mbrtowc.m4: Likewise.
71504         * m4/mbstate_t.m4: Likewise.
71505         * m4/mbswidth.m4: Likewise.
71506         * m4/memchr.m4: Likewise.
71507         * m4/memcmp.m4: Likewise.
71508         * m4/memcpy.m4: Likewise.
71509         * m4/memmem.m4: Likewise.
71510         * m4/memmove.m4: Likewise.
71511         * m4/mempcpy.m4: Likewise.
71512         * m4/memrchr.m4: Likewise.
71513         * m4/memset.m4: Likewise.
71514         * m4/minmax.m4: Likewise.
71515         * m4/mkdir-slash.m4: Likewise.
71516         * m4/mkdtemp.m4: Likewise.
71517         * m4/mktime.m4: Likewise.
71518         * m4/mmap-anon.m4: Likewise.
71519         * m4/mountlist.m4: Likewise.
71520         * m4/nanosleep.m4: Likewise.
71521         * m4/nls.m4: Likewise.
71522         * m4/nocrash.m4: Likewise.
71523         * m4/open.m4: Likewise.
71524         * m4/openat.m4: Likewise.
71525         * m4/openmp.m4: Likewise.
71526         * m4/pathmax.m4: Likewise.
71527         * m4/perl.m4: Likewise.
71528         * m4/physmem.m4: Likewise.
71529         * m4/pipe.m4: Likewise.
71530         * m4/po.m4: Likewise.
71531         * m4/poll.m4: Likewise.
71532         * m4/posixtm.m4: Likewise.
71533         * m4/posixver.m4: Likewise.
71534         * m4/printf-frexp.m4: Likewise.
71535         * m4/printf-frexpl.m4: Likewise.
71536         * m4/printf-posix.m4: Likewise.
71537         * m4/printf-posix-rpl.m4: Likewise.
71538         * m4/printf.m4: Likewise.
71539         * m4/progtest.m4: Likewise.
71540         * m4/putenv.m4: Likewise.
71541         * m4/readline.m4: Likewise.
71542         * m4/readlink.m4: Likewise.
71543         * m4/readutmp.m4: Likewise.
71544         * m4/realloc.m4: Likewise.
71545         * m4/regex.m4: Likewise.
71546         * m4/relocatable.m4: Likewise.
71547         * m4/relocatable-lib.m4: Likewise.
71548         * m4/rename-dest-slash.m4: Likewise.
71549         * m4/rename.m4: Likewise.
71550         * m4/rmdir-errno.m4: Likewise.
71551         * m4/rmdir.m4: Likewise.
71552         * m4/roundf.m4: Likewise.
71553         * m4/roundl.m4: Likewise.
71554         * m4/rpmatch.m4: Likewise.
71555         * m4/save-cwd.m4: Likewise.
71556         * m4/selinux-selinux-h.m4: Likewise.
71557         * m4/setenv.m4: Likewise.
71558         * m4/settime.m4: Likewise.
71559         * m4/sig2str.m4: Likewise.
71560         * m4/sig_atomic_t.m4: Likewise.
71561         * m4/signalblocking.m4: Likewise.
71562         * m4/signbit.m4: Likewise.
71563         * m4/sigpipe.m4: Likewise.
71564         * m4/sockets.m4: Likewise.
71565         * m4/sockpfaf.m4: Likewise.
71566         * m4/st_dm_mode.m4: Likewise.
71567         * m4/stat-time.m4: Likewise.
71568         * m4/stdbool.m4: Likewise.
71569         * m4/stdint.m4: Likewise.
71570         * m4/stdint_h.m4: Likewise.
71571         * m4/stpcpy.m4: Likewise.
71572         * m4/stpncpy.m4: Likewise.
71573         * m4/strcase.m4: Likewise.
71574         * m4/strchrnul.m4: Likewise.
71575         * m4/strcspn.m4: Likewise.
71576         * m4/strdup.m4: Likewise.
71577         * m4/strftime.m4: Likewise.
71578         * m4/strndup.m4: Likewise.
71579         * m4/strnlen.m4: Likewise.
71580         * m4/strpbrk.m4: Likewise.
71581         * m4/strptime.m4: Likewise.
71582         * m4/strsep.m4: Likewise.
71583         * m4/strtod.m4: Likewise.
71584         * m4/strtoimax.m4: Likewise.
71585         * m4/strtok_r.m4: Likewise.
71586         * m4/strtol.m4: Likewise.
71587         * m4/strtoll.m4: Likewise.
71588         * m4/strtoul.m4: Likewise.
71589         * m4/strtoull.m4: Likewise.
71590         * m4/strtoumax.m4: Likewise.
71591         * m4/strverscmp.m4: Likewise.
71592         * m4/threadlib.m4: Likewise.
71593         * m4/timegm.m4: Likewise.
71594         * m4/tm_gmtoff.m4: Likewise.
71595         * m4/tmpdir.m4: Likewise.
71596         * m4/tmpfile.m4: Likewise.
71597         * m4/tzset.m4: Likewise.
71598         * m4/uintmax_t.m4: Likewise.
71599         * m4/unlinkdir.m4: Likewise.
71600         * m4/unlocked-io.m4: Likewise.
71601         * m4/uptime.m4: Likewise.
71602         * m4/userspec.m4: Likewise.
71603         * m4/utimbuf.m4: Likewise.
71604         * m4/utime.m4: Likewise.
71605         * m4/utimes-null.m4: Likewise.
71606         * m4/utimes.m4: Likewise.
71607         * m4/vararrays.m4: Likewise.
71608         * m4/vasnprintf.m4: Likewise.
71609         * m4/vfprintf-posix.m4: Likewise.
71610         * m4/vprintf-posix.m4: Likewise.
71611         * m4/wait-process.m4: Likewise.
71612         * m4/wchar_t.m4: Likewise.
71613         * m4/wint_t.m4: Likewise.
71614         * m4/write-any-file.m4: Likewise.
71615         * m4/yield.m4: Likewise.
71617 2009-01-13  Bruno Haible  <bruno@clisp.org>
71619         Avoid test-copy-file.sh failures when ACL support insufficient.
71620         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
71621         TESTS_ENVIRONMENT.
71622         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
71623         Reported by Jim Meyering.
71625 2009-01-13  Bruno Haible  <bruno@clisp.org>
71627         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
71628         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
71629         * modules/unistdio/u8-printf-parse (Files): Likewise.
71630         * modules/unistdio/u32-printf-parse (Files): Likewise.
71631         * modules/unistdio/ulc-printf-parse (Files): Likewise.
71633 2009-01-13  Simon Josefsson  <simon@josefsson.org>
71635         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
71636         and m4/inttypes_h.m4 too.
71638 2009-01-12  Eric Blake  <ebb9@byu.net>
71640         tests: IRIX 6.2 cc can't compile -0.0 into .data
71641         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
71642         rather than at compile-time.
71643         * tests/test-floorl.c (minus_zero): Likewise.
71644         * tests/test-frexpl.c (minus_zero): Likewise.
71645         * tests/test-isnan.c (minus_zerol): Likewise.
71646         * tests/test-isnanl.h (minus_zero): Likewise.
71647         * tests/test-ldexpl.c (minus_zero): Likewise.
71648         * tests/test-roundl.c (minus_zero): Likewise.
71649         * tests/test-signbit.c (minus_zerol): Likewise.
71650         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
71651         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
71652         * tests/test-truncl.c (minus_zero): Likewise.
71653         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
71654         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
71655         Reported by Tom G. Christensen and Nelson H. F. Beebe.
71657 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
71659         regex: fix glibc bug 9697
71660         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
71661         handling.
71663 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
71665         regex: fix glibc bug 697
71666         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
71667         being NULL also if there are no backreferences.
71669 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
71671         regex: merge glibc changes
71672         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
71673         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
71674         re_string_skip_chars, re_string_reconstruct): Likewise.
71675         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
71677 2009-01-07  Jim Meyering  <meyering@redhat.com>
71679         poll: filter through cppi
71680         * lib/poll.c: Indent cpp directives to reflect nesting.
71682 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
71684         poll: don't return uninitialized
71685         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
71687 2009-01-06  Jeremy Olexa  <darkside@gentoo.org>  (tiny change)
71689         avoid compile failure on AIX 6.1
71690         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
71691         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
71693 2009-01-04  Jim Meyering  <meyering@redhat.com>
71695         remove duplicate inclusion of <stdio.h>
71696         * tests/test-fprintf-posix.c: Likewise.
71697         * tests/test-printf-posix.c: Likewise.
71698         * tests/test-snprintf-posix.c: Likewise.
71699         * tests/test-sprintf-posix.c: Likewise.
71700         * tests/test-vasprintf-posix.c: Likewise.
71701         * tests/test-vfprintf-posix.c: Likewise.
71702         * tests/test-vprintf-posix.c: Likewise.
71703         * tests/test-vsnprintf-posix.c: Likewise.
71704         * tests/test-vsprintf-posix.c: Likewise.
71706 2009-01-03  Jim Meyering  <meyering@redhat.com>
71708         gnulib-tool: fix sed-based filtering
71709         * gnulib-tool (func_filter_filelist): Remove extra backslash
71710         in sed_fff_filter definition.
71712 2009-01-02  Jim Meyering  <meyering@redhat.com>
71714         strftime: avoid compilation failure on Solaris 2.6
71715         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
71716         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
71717         Don't #define mbrlen or mbsinit, since now they're guaranteed to
71718         be available.  Reported by Tom G. Christensen.  Details in
71719         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
71721 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71722             Bruno Haible  <bruno@clisp.org>
71724         Speed up gnulib-tool by doing more string processing through shell
71725         built-ins.
71726         * gnulib-tool (fast_func_append): New variable.
71727         (func_remove_prefix, func_remove_suffix): New functions.
71728         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
71729         (func_filter_filelist): New function.
71730         (func_get_dependencies): Use func_remove_suffix instead of sed.
71731         (func_get_automake_snippet): Use func_filter_filelist instead of a
71732         subshell and sed invocation.
71734 2009-01-01  Bruno Haible  <bruno@clisp.org>
71736         Fix a security bug.
71737         * gnulib-tool (func_import, import, update): Don't allow the characters
71738         '"', '$', '`', '\' in macro arguments that become part of commands that
71739         are evaluated.
71741 2009-01-01  Bruno Haible  <bruno@clisp.org>
71743         * gnulib-tool (func_reset_sigpipe): Add more comments.
71745 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71747         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
71748         func_emit_tests_Makefile_am, func_import): Abort loops early if we
71749         already know the answer.
71751 2009-01-01  Jim Meyering  <meyering@redhat.com>
71753         * lib/version-etc.c (version_etc_va): Update copyright year.
71755 2008-12-30  Bruno Haible  <bruno@clisp.org>
71757         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
71758         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
71759         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
71761 2008-12-29  Eric Blake  <ebb9@byu.net>
71763         multiarch: avoid autoconf AC_REQUIRE bug
71764         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
71765         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
71766         2.63 and older.
71767         Reported by Bruno Haible, and analyzed in
71768         http://lists.gnu.org/r/bug-autoconf/2008-12/msg00039.html
71770 2008-12-29  Bruno Haible  <bruno@clisp.org>
71772         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
71773         files in subdirectories correctly.
71774         Reported by Ralf Wildenhues.
71776 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71778         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
71779         rather than 'join FILE -', for Solaris join.
71781 2008-12-29  Bruno Haible  <bruno@clisp.org>
71783         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
71784         quoting.
71785         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
71786         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
71787         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
71788         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
71789         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
71790         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
71791         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
71792         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
71793         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
71794         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
71795         * m4/nls.m4 (AM_NLS): Likewise.
71796         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
71797         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
71798         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
71799         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
71800         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
71801         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
71802         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
71803         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
71804         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
71805         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
71806         * m4/xsize.m4 (gl_XSIZE): Likewise.
71807         Suggested by Jim Meyering.
71809 2008-11-17  Bruce Korb  <bkorb@gnu.org>
71811         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
71812         * lib/parse-duration.c: use a switch instead of cascading if's.
71814 2008-12-29  Eric Blake  <ebb9@byu.net>
71816         wchar.h: supply WEOF on Irix 5.3
71817         * lib/wchar.in.h (wint_t): Also supply WEOF.
71818         * lib/wctype.in.h (wint_t): Likewise.
71819         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
71820         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
71821         Reported by Tom G. Christensen.
71823 2008-12-26  Bruno Haible  <bruno@clisp.org>
71825         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
71826         i486, i586, i686.
71828 2008-12-26  Bruno Haible  <bruno@clisp.org>
71830         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
71832 2008-12-26  Bruno Haible  <bruno@clisp.org>
71834         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
71835         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
71836         not __STDC_CONSTANT_MACROS.
71837         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
71839 2008-12-25  Bruno Haible  <bruno@clisp.org>
71841         Add support for universal builds to vasnprintf.
71842         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
71843         universal builds, guess no.
71844         * modules/vasnprintf-posix (Depends-on): Add multiarch.
71845         * modules/vasprintf-posix (Depends-on): Likewise.
71846         * modules/fprintf-posix (Depends-on): Likewise.
71847         * modules/vfprintf-posix (Depends-on): Likewise.
71848         * modules/snprintf-posix (Depends-on): Likewise.
71849         * modules/vsnprintf-posix (Depends-on): Likewise.
71850         * modules/sprintf-posix (Depends-on): Likewise.
71851         * modules/vsprintf-posix (Depends-on): Likewise.
71852         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
71853         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
71854         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
71855         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
71856         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
71857         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
71858         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
71860         Add support for universal builds to <inttypes.h>.
71861         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
71862         _SCNu64_PREFIX): In Apple
71863         universal builds, define directly, using _LP64.
71864         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
71865         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
71866         * modules/inttypes (Depends-on): Add multiarch.
71867         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
71869         Add support for universal builds to <stdint.h>.
71870         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
71871         universal builds, define directly, using _LP64.
71872         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
71873         Apple universal builds, don't test for the size and suffix of ptrdiff_t
71874         and size_t.
71875         * modules/stdint (Depends-on): Add multiarch.
71876         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
71878         New module 'multiarch'.
71879         * modules/multiarch: New file.
71880         * m4/multiarch.m4: New file.
71882 2008-12-25  Bruno Haible  <bruno@clisp.org>
71884         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
71886 2008-12-25  Bruno Haible  <bruno@clisp.org>
71888         * modules/btowc (License): Relicense under LGPLv2+.
71889         * modules/mbsinit (License): Likewise.
71890         * modules/mbrtowc (License): Likewise.
71891         * modules/wcrtomb (License): Likewise.
71892         * modules/streq (License): Likewise.
71893         Reported by David Lutterkort <lutter@redhat.com>.
71895 2008-12-23  Bruno Haible  <bruno@clisp.org>
71897         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
71899 2008-12-23  Bruno Haible  <bruno@clisp.org>
71901         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
71902         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
71903         GETADDRINFO_LIB, not in LIBS.
71904         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
71905         * modules/canon-host (Link): Likewise.
71906         * NEWS: Mention the change.
71907         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
71908         GETADDRINFO_LIB.
71910 2008-12-22  Bruno Haible  <bruno@clisp.org>
71912         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
71913         * doc/posix-functions/iswalpha_l.texi: Likewise.
71914         * doc/posix-functions/iswblank_l.texi: Likewise.
71915         * doc/posix-functions/iswcntrl_l.texi: Likewise.
71916         * doc/posix-functions/iswctype_l.texi: Likewise.
71917         * doc/posix-functions/iswdigit_l.texi: Likewise.
71918         * doc/posix-functions/iswgraph_l.texi: Likewise.
71919         * doc/posix-functions/iswlower_l.texi: Likewise.
71920         * doc/posix-functions/iswprint_l.texi: Likewise.
71921         * doc/posix-functions/iswpunct_l.texi: Likewise.
71922         * doc/posix-functions/iswspace_l.texi: Likewise.
71923         * doc/posix-functions/iswupper_l.texi: Likewise.
71924         * doc/posix-functions/iswxdigit_l.texi: Likewise.
71925         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
71926         * doc/posix-functions/open_wmemstream.texi: Likewise.
71927         * doc/posix-functions/swscanf.texi: Likewise.
71928         * doc/posix-functions/towctrans_l.texi: Likewise.
71929         * doc/posix-functions/towlower.texi: Likewise.
71930         * doc/posix-functions/towlower_l.texi: Likewise.
71931         * doc/posix-functions/towupper.texi: Likewise.
71932         * doc/posix-functions/towupper_l.texi: Likewise.
71933         * doc/posix-functions/vfwprintf.texi: Likewise.
71934         * doc/posix-functions/vfwscanf.texi: Likewise.
71935         * doc/posix-functions/vswscanf.texi: Likewise.
71936         * doc/posix-functions/vwprintf.texi: Likewise.
71937         * doc/posix-functions/vwscanf.texi: Likewise.
71938         * doc/posix-functions/wcpcpy.texi: Likewise.
71939         * doc/posix-functions/wcpncpy.texi: Likewise.
71940         * doc/posix-functions/wcscasecmp.texi: Likewise.
71941         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
71942         * doc/posix-functions/wcscoll_l.texi: Likewise.
71943         * doc/posix-functions/wcsdup.texi: Likewise.
71944         * doc/posix-functions/wcsncasecmp.texi: Likewise.
71945         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
71946         * doc/posix-functions/wcsnlen.texi: Likewise.
71947         * doc/posix-functions/wcsnrtombs.texi: Likewise.
71948         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
71949         * doc/posix-functions/wctrans_l.texi: Likewise.
71950         * doc/posix-functions/wctype_l.texi: Likewise.
71951         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
71952         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
71953         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
71954         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
71955         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
71956         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
71957         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
71958         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
71959         * doc/glibc-functions/wcschrnul.texi: Likewise.
71960         * doc/glibc-functions/wcsftime_l.texi: Likewise.
71961         * doc/glibc-functions/wcstod_l.texi: Likewise.
71962         * doc/glibc-functions/wcstof_l.texi: Likewise.
71963         * doc/glibc-functions/wcstol_l.texi: Likewise.
71964         * doc/glibc-functions/wcstold_l.texi: Likewise.
71965         * doc/glibc-functions/wcstoll_l.texi: Likewise.
71966         * doc/glibc-functions/wcstoq.texi: Likewise.
71967         * doc/glibc-functions/wcstoul_l.texi: Likewise.
71968         * doc/glibc-functions/wcstoull_l.texi: Likewise.
71969         * doc/glibc-functions/wcstouq.texi: Likewise.
71970         * doc/glibc-functions/wmempcpy.texi: Likewise.
71972 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
71973             Eric Blake  <ebb9@byu.net>
71974             Paolo Bonzini  <bonzini@gnu.org>
71975             Bruno Haible  <bruno@clisp.org>
71977         Make c-stack work on Haiku.
71978         * lib/c-stack.c (SA_ONSTACK): Define fallback.
71979         (c_stack_action): Use SA_ONSTACK flag.
71981 2008-12-22  Bruno Haible  <bruno@clisp.org>
71983         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
71985 2008-12-22  Bruno Haible  <bruno@clisp.org>
71987         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
71988         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
71989         being overridden.
71990         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
71991         New macros.
71992         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
71993         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
71994         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
71995         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
71997 2008-12-22  Bruno Haible  <bruno@clisp.org>
71999         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
72000         from test code.
72002 2008-12-22  Eric Blake  <ebb9@byu.net>
72004         Avoid gcc warnings on cygwin.
72005         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
72006         Avoid unused variable.
72007         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
72008         Likewise.
72010 2008-12-22  Bruno Haible  <bruno@clisp.org>
72012         Remove HAVE_MBRTOWC conditionals.
72013         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
72014         (mbscasecmp): Assume mbrtowc function.
72015         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
72016         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
72017         * lib/mbschr.c: Include mbuiter.h unconditionally.
72018         (mbschr): Assume mbrtowc function.
72019         * lib/mbscspn.c: Include mbuiter.h unconditionally.
72020         (mbscspn): Assume mbrtowc function.
72021         * lib/mbslen.c: Include mbuiter.h unconditionally.
72022         (mbslen): Assume mbrtowc function.
72023         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
72024         (mbsncasecmp): Assume mbrtowc function.
72025         * lib/mbsnlen.c: Include mbiter.h unconditionally.
72026         (mbsnlen): Assume mbrtowc function.
72027         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
72028         (mbspbrk): Assume mbrtowc function.
72029         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
72030         (mbspcasecmp): Assume mbrtowc function.
72031         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
72032         (mbsrchr): Assume mbrtowc function.
72033         * lib/mbssep.c: Include mbuiter.h unconditionally.
72034         (mbssep): Assume mbrtowc function.
72035         * lib/mbsspn.c: Include mbuiter.h unconditionally.
72036         (mbsspn): Assume mbrtowc function.
72037         * lib/mbsstr.c: Include mbuiter.h unconditionally.
72038         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
72039         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
72040         (mbstok_r): Assume mbrtowc function.
72041         * lib/propername.c: Include mbuiter.h unconditionally.
72042         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
72043         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
72044         (trim2): Assume mbrtowc function.
72045         * lib/mbswidth.c (mbsinit): Remove fallback definition.
72046         (mbsnwidth): Assume mbrtowc function.
72047         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
72048         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
72049         fallback definitions.
72050         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
72052 2008-12-22  Bruno Haible  <bruno@clisp.org>
72054         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
72056 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
72058         * modules/regex: Request emulations for the mb*/wc* functions we need.
72059         * m4/regex.m4: Don't look for those functions here.
72060         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
72062 2008-12-22  Bruno Haible  <bruno@clisp.org>
72064         * modules/fnmatch (Depends-on): Remove duplicated dependency.
72066 2008-12-21  Bruno Haible  <bruno@clisp.org>
72068         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
72069         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
72070         (Include): Remove conditionalization.
72071         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
72072         (Include): Remove conditionalization.
72073         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
72074         (Include): Remove conditionalization.
72075         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
72076         * m4/mbfile.m4 (gl_MBFILE): Likewise.
72077         * NEWS: Mention the change.
72078         Reported by Alan Hourihane <alanh@fairlite.co.uk>
72079         via Sergey Poznyakoff <gray@gnu.org.ua>.
72081 2008-12-21  Bruno Haible  <bruno@clisp.org>
72083         * MODULES.html.sh (Extended multibyte and wide character utilities
72084         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
72085         wcrtomb, wcsrtombs.
72086         (Support for systems lacking POSIX:2008): Add accept, bind, close,
72087         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
72088         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
72089         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
72091 2008-12-21  Bruno Haible  <bruno@clisp.org>
72093         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
72095 2008-12-21  Bruno Haible  <bruno@clisp.org>
72097         * modules/wcsnrtombs-tests: New file.
72098         * tests/test-wcsnrtombs1.sh: New file.
72099         * tests/test-wcsnrtombs2.sh: New file.
72100         * tests/test-wcsnrtombs3.sh: New file.
72101         * tests/test-wcsnrtombs4.sh: New file.
72102         * tests/test-wcsnrtombs.c: New file.
72104         New module 'wcsnrtombs'.
72105         * lib/wchar.in.h (wcsnrtombs): New declaration.
72106         * lib/wcsnrtombs.c: New file.
72107         * lib/wcsrtombs-state.c: New file.
72108         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
72109         (internal_state): Remove variable.
72110         * m4/wcsnrtombs.m4: New file.
72111         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
72112         compilation units.
72113         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
72114         HAVE_WCSNRTOMBS.
72115         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
72116         HAVE_WCSNRTOMBS.
72117         * modules/wcsnrtombs: New file.
72118         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
72119         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
72121 2008-12-21  Bruno Haible  <bruno@clisp.org>
72123         * modules/wcsrtombs-tests: New file.
72124         * tests/test-wcsrtombs1.sh: New file.
72125         * tests/test-wcsrtombs2.sh: New file.
72126         * tests/test-wcsrtombs3.sh: New file.
72127         * tests/test-wcsrtombs4.sh: New file.
72128         * tests/test-wcsrtombs.c: New file.
72130         New module 'wcsrtombs'.
72131         * lib/wchar.in.h (wcsrtombs): New declaration.
72132         * lib/wcsrtombs.c: New file.
72133         * m4/wcsrtombs.m4: New file.
72134         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
72135         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
72136         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
72137         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
72138         * modules/wcsrtombs: New file.
72139         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
72140         bugs.
72142 2008-12-21  Bruno Haible  <bruno@clisp.org>
72144         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
72145         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
72146         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
72147         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
72148         if not correct.
72149         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
72150         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
72151         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
72152         m4/locale-zh.m4, m4/codeset.m4.
72153         * doc/posix-functions/wcrtomb.texi: Document the bug.
72155 2008-12-21  Bruno Haible  <bruno@clisp.org>
72157         Work around a btowc() bug on IRIX 6.5.
72158         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
72159         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
72160         REPLACE_WTOBC if not.
72161         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
72162         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
72163         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
72165 2008-12-21  Bruno Haible  <bruno@clisp.org>
72167         * modules/wcrtomb-tests: New file.
72168         * tests/test-wcrtomb.sh: New file.
72169         * tests/test-wcrtomb.c: New file.
72171         New module 'wcrtomb'.
72172         * lib/wchar.in.h (wcrtomb): New declaration.
72173         * lib/wcrtomb.c: New file.
72174         * m4/wcrtomb.m4: New file.
72175         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
72176         HAVE_WCRTOMB.
72177         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
72178         HAVE_WCRTOMB.
72179         * modules/wcrtomb: New file.
72180         * doc/posix-functions/wcrtomb.texi: Mention the new module.
72182 2008-12-21  Bruno Haible  <bruno@clisp.org>
72184         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
72185         * modules/mbsrtowcs (Files): Likewise.
72186         * modules/wctob (Files): Likewise.
72187         * modules/c-strcase-tests (Files): Likewise.
72188         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
72189         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
72190         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
72191         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
72192         * modules/vasnprintf-posix-tests (Files): Likewise.
72194 2008-12-21  William Pursell  <bill.pursell@gmail.com>
72196         gitlog-to-changelog: pass all command-line arguments to git-log
72197         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
72198         it is sometimes convenient to filter the commits in various ways.
72199         gitlog-to-changelog only allows --since to specify a start date,
72200         but git-log itself supports many other filtering mechanisms.
72201         At the moment, I want to filter by branch name.  Rather than
72202         adding a --branch option to gitlog-to-changelog, it seems more
72203         flexible to simply pass all options directly to git-log and let
72204         git do the work.  Notice that this effectively makes --since a
72205         redundant option for gitlog-to-changelog, but removing it would
72206         require current usage to change since calls would then require
72207         an additional '--'.
72209 2008-12-21  Bruno Haible  <bruno@clisp.org>
72211         * modules/mbsnrtowcs-tests: New file.
72212         * tests/test-mbsnrtowcs1.sh: New file.
72213         * tests/test-mbsnrtowcs2.sh: New file.
72214         * tests/test-mbsnrtowcs3.sh: New file.
72215         * tests/test-mbsnrtowcs4.sh: New file.
72216         * tests/test-mbsnrtowcs.c: New file.
72218         New module 'mbsnrtowcs'.
72219         * lib/wchar.in.h (mbsnrtowcs): New declaration.
72220         * lib/mbsnrtowcs.c: New file.
72221         * lib/mbsrtowcs-state.c: New file.
72222         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
72223         (internal_state): Remove variable.
72224         * m4/mbsnrtowcs.m4: New file.
72225         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
72226         compilation units.
72227         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
72228         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
72229         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
72230         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
72231         * modules/mbsnrtowcs: New file.
72232         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
72233         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
72234         portability problem.
72236 2008-12-21  Bruno Haible  <bruno@clisp.org>
72238         Work around mbsrtowcs bug.
72239         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
72240         (gl_FUNC_MBSRTOWCS): Invoke it.
72241         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
72242         m4/locale-zh.m4.
72243         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
72245 2008-12-21  Bruno Haible  <bruno@clisp.org>
72247         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
72249 2008-12-21  Bruno Haible  <bruno@clisp.org>
72251         Update doc for AIX.
72252         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
72253         16-bit wchar_t type.
72254         * doc/posix-functions/btowc.texi: Likewise.
72255         * doc/posix-functions/fgetwc.texi: Likewise.
72256         * doc/posix-functions/fgetws.texi: Likewise.
72257         * doc/posix-functions/fputwc.texi: Likewise.
72258         * doc/posix-functions/fputws.texi: Likewise.
72259         * doc/posix-functions/fwide.texi: Likewise.
72260         * doc/posix-functions/fwprintf.texi: Likewise.
72261         * doc/posix-functions/fwscanf.texi: Likewise.
72262         * doc/posix-functions/getwchar.texi: Likewise.
72263         * doc/posix-functions/getwc.texi: Likewise.
72264         * doc/posix-functions/iswalnum.texi: Likewise.
72265         * doc/posix-functions/iswalpha.texi: Likewise.
72266         * doc/posix-functions/iswblank.texi: Likewise.
72267         * doc/posix-functions/iswcntrl.texi: Likewise.
72268         * doc/posix-functions/iswctype.texi: Likewise.
72269         * doc/posix-functions/iswdigit.texi: Likewise.
72270         * doc/posix-functions/iswgraph.texi: Likewise.
72271         * doc/posix-functions/iswlower.texi: Likewise.
72272         * doc/posix-functions/iswprint.texi: Likewise.
72273         * doc/posix-functions/iswpunct.texi: Likewise.
72274         * doc/posix-functions/iswspace.texi: Likewise.
72275         * doc/posix-functions/iswupper.texi: Likewise.
72276         * doc/posix-functions/iswxdigit.texi: Likewise.
72277         * doc/posix-functions/mbrtowc.texi: Likewise.
72278         * doc/posix-functions/mbsrtowcs.texi: Likewise.
72279         * doc/posix-functions/mbstowcs.texi: Likewise.
72280         * doc/posix-functions/mbtowc.texi: Likewise.
72281         * doc/posix-functions/putwchar.texi: Likewise.
72282         * doc/posix-functions/putwc.texi: Likewise.
72283         * doc/posix-functions/swprintf.texi: Likewise.
72284         * doc/posix-functions/tolower.texi: Likewise.
72285         * doc/posix-functions/toupper.texi: Likewise.
72286         * doc/posix-functions/towctrans.texi: Likewise.
72287         * doc/posix-functions/ungetwc.texi: Likewise.
72288         * doc/posix-functions/vswprintf.texi: Likewise.
72289         * doc/posix-functions/wcrtomb.texi: Likewise.
72290         * doc/posix-functions/wcscat.texi: Likewise.
72291         * doc/posix-functions/wcschr.texi: Likewise.
72292         * doc/posix-functions/wcscmp.texi: Likewise.
72293         * doc/posix-functions/wcscoll.texi: Likewise.
72294         * doc/posix-functions/wcscpy.texi: Likewise.
72295         * doc/posix-functions/wcscspn.texi: Likewise.
72296         * doc/posix-functions/wcsftime.texi: Likewise.
72297         * doc/posix-functions/wcslen.texi: Likewise.
72298         * doc/posix-functions/wcsncat.texi: Likewise.
72299         * doc/posix-functions/wcsncmp.texi: Likewise.
72300         * doc/posix-functions/wcsncpy.texi: Likewise.
72301         * doc/posix-functions/wcspbrk.texi: Likewise.
72302         * doc/posix-functions/wcsrchr.texi: Likewise.
72303         * doc/posix-functions/wcsrtombs.texi: Likewise.
72304         * doc/posix-functions/wcsspn.texi: Likewise.
72305         * doc/posix-functions/wcsstr.texi: Likewise.
72306         * doc/posix-functions/wcstod.texi: Likewise.
72307         * doc/posix-functions/wcstof.texi: Likewise.
72308         * doc/posix-functions/wcstoimax.texi: Likewise.
72309         * doc/posix-functions/wcstok.texi: Likewise.
72310         * doc/posix-functions/wcstold.texi: Likewise.
72311         * doc/posix-functions/wcstoll.texi: Likewise.
72312         * doc/posix-functions/wcstol.texi: Likewise.
72313         * doc/posix-functions/wcstombs.texi: Likewise.
72314         * doc/posix-functions/wcstoull.texi: Likewise.
72315         * doc/posix-functions/wcstoul.texi: Likewise.
72316         * doc/posix-functions/wcstoumax.texi: Likewise.
72317         * doc/posix-functions/wcswidth.texi: Likewise.
72318         * doc/posix-functions/wcsxfrm.texi: Likewise.
72319         * doc/posix-functions/wctob.texi: Likewise.
72320         * doc/posix-functions/wctomb.texi: Likewise.
72321         * doc/posix-functions/wctrans.texi: Likewise.
72322         * doc/posix-functions/wctype.texi: Likewise.
72323         * doc/posix-functions/wcwidth.texi: Likewise.
72324         * doc/posix-functions/wmemchr.texi: Likewise.
72325         * doc/posix-functions/wmemcmp.texi: Likewise.
72326         * doc/posix-functions/wmemcpy.texi: Likewise.
72327         * doc/posix-functions/wmemmove.texi: Likewise.
72328         * doc/posix-functions/wmemset.texi: Likewise.
72329         * doc/posix-functions/wprintf.texi: Likewise.
72330         * doc/posix-functions/wscanf.texi: Likewise.
72332 2008-12-21  Bruno Haible  <bruno@clisp.org>
72334         Update doc for HP-UX 11.11.
72335         * doc/posix-functions/btowc.texi: Clarify that the function is missing
72336         in HP-UX version 11.00, not in all versions of HP-UX 11.
72337         * doc/posix-functions/fwide.texi: Likewise.
72338         * doc/posix-functions/fwprintf.texi: Likewise.
72339         * doc/posix-functions/fwscanf.texi: Likewise.
72340         * doc/posix-functions/inet_ntop.texi: Likewise.
72341         * doc/posix-functions/inet_pton.texi: Likewise.
72342         * doc/posix-functions/mbrlen.texi: Likewise.
72343         * doc/posix-functions/mbrtowc.texi: Likewise.
72344         * doc/posix-functions/mbsinit.texi: Likewise.
72345         * doc/posix-functions/mbsrtowcs.texi: Likewise.
72346         * doc/posix-functions/swprintf.texi: Likewise.
72347         * doc/posix-functions/swscanf.texi: Likewise.
72348         * doc/posix-functions/towctrans.texi: Likewise.
72349         * doc/posix-functions/vfwprintf.texi: Likewise.
72350         * doc/posix-functions/vswprintf.texi: Likewise.
72351         * doc/posix-functions/vwprintf.texi: Likewise.
72352         * doc/posix-functions/wcrtomb.texi: Likewise.
72353         * doc/posix-functions/wcsrtombs.texi: Likewise.
72354         * doc/posix-functions/wcsstr.texi: Likewise.
72355         * doc/posix-functions/wctob.texi: Likewise.
72356         * doc/posix-functions/wctrans.texi: Likewise.
72357         * doc/posix-functions/wmemchr.texi: Likewise.
72358         * doc/posix-functions/wmemcmp.texi: Likewise.
72359         * doc/posix-functions/wmemcpy.texi: Likewise.
72360         * doc/posix-functions/wmemmove.texi: Likewise.
72361         * doc/posix-functions/wmemset.texi: Likewise.
72362         * doc/posix-functions/wprintf.texi: Likewise.
72363         * doc/posix-functions/wscanf.texi: Likewise.
72365 2008-12-21  Bruno Haible  <bruno@clisp.org>
72367         Work around a portability problem.
72368         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
72369         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
72371 2008-12-20  Bruno Haible  <bruno@clisp.org>
72373         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
72374         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
72375         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
72376         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
72377         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
72379         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
72380         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
72381         set.
72382         (GNULIB_defined_mbstate_t): New macro.
72383         (mbsinit): Redefine if REPLACE_MBSINIT is set.
72384         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
72385         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
72386         reuses the system's mbrtowc function but works around the bugs.
72387         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
72388         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
72389         macros.
72390         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
72391         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
72392         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
72393         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
72394         REPLACE_MBSINIT if mbsinit needs to be overridden.
72395         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
72396         REPLACE_MBSINIT, REPLACE_MBRTOWC.
72397         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
72398         REPLACE_MBSINIT, REPLACE_MBRTOWC.
72399         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
72400         m4/locale-zh.m4.
72401         (Depends): Add mbsinit.
72402         * modules/mbsinit (Depends): Add mbrtowc.
72403         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
72405 2008-12-20  Bruno Haible  <bruno@clisp.org>
72407         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
72408         so that there are no conversion errors on AIX.
72409         * tests/test-mbsrtowcs.c (main): LIkewise.
72411 2008-12-20  Bruno Haible  <bruno@clisp.org>
72413         Work around wctob bug on Solaris <= 9.
72414         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
72415         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
72416         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
72417         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
72418         * modules/wctob (Files): Add m4/locale-fr.m4.
72419         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
72421 2008-12-20  Bruno Haible  <bruno@clisp.org>
72423         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
72424         /dev/null.
72425         * tests/test-select-in.sh: Likewise.
72426         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
72428 2008-12-20  Bruno Haible  <bruno@clisp.org>
72430         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
72431         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
72432         Cygwin 1.5.x.
72434 2008-12-20  Bruno Haible  <bruno@clisp.org>
72436         Ensure mbstate_t is defined on HP-UX 11.11.
72437         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
72438         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
72439         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
72440         AC_USE_SYSTEM_EXTENSIONS.
72441         * modules/fnmatch (Depends-on): Add extensions.
72442         * modules/mbrlen (Depends-on): Likewise.
72443         * modules/mbrtowc (Depends-on): Likewise.
72444         * modules/mbsinit (Depends-on): Likewise.
72445         * modules/mbsrtowcs (Depends-on): Likewise.
72446         * modules/mbswidth (Depends-on): Likewise.
72447         * modules/quotearg (Depends-on): Likewise.
72448         * modules/strftime (Depends-on): Likewise.
72450 2008-12-20  Bruno Haible  <bruno@clisp.org>
72452         Ensure wctob is declared on IRIX 6.5.
72453         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
72454         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
72455         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
72456         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
72457         of HAVE_WCTOB.
72458         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
72459         HAVE_WCTOB.
72460         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
72462 2008-12-19  Bruno Haible  <bruno@clisp.org>
72464         * modules/mbsrtowcs-tests: New file.
72465         * tests/test-mbsrtowcs1.sh: New file.
72466         * tests/test-mbsrtowcs2.sh: New file.
72467         * tests/test-mbsrtowcs3.sh: New file.
72468         * tests/test-mbsrtowcs4.sh: New file.
72469         * tests/test-mbsrtowcs.c: New file.
72471         New module 'mbsrtowcs'.
72472         * lib/wchar.in.h (mbsrtowcs): New declaration.
72473         * lib/mbsrtowcs.c: New file.
72474         * m4/mbsrtowcs.m4: New file.
72475         * modules/mbsrtowcs: New file.
72476         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
72477         HAVE_MBSRTOWCS.
72478         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
72479         HAVE_MBSRTOWCS.
72480         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
72482 2008-12-19  Bruno Haible  <bruno@clisp.org>
72484         New module 'mbrlen'.
72485         * lib/wchar.in.h (mbrlen): New declaration.
72486         * lib/mbrlen.c: New file.
72487         * m4/mbrlen.m4: New file.
72488         * modules/mbrlen: New file.
72489         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
72490         HAVE_MBRLEN.
72491         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
72492         HAVE_MBRLEN.
72493         * doc/posix-functions/mbrlen.texi: Document the new module.
72495 2008-12-19  Bruno Haible  <bruno@clisp.org>
72497         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
72498         * modules/mbrtowc (Depends-on): Add verify.
72499         Suggested by Paul Eggert.
72501 2008-12-18  Bruno Haible  <bruno@clisp.org>
72503         * modules/mbsinit-tests: New file.
72504         * tests/test-mbsinit.sh: New file.
72505         * tests/test-mbsinit.c: New file.
72507 2008-12-18  Bruno Haible  <bruno@clisp.org>
72509         * modules/mbrtowc-tests: New file.
72510         * tests/test-mbrtowc1.sh: New file.
72511         * tests/test-mbrtowc2.sh: New file.
72512         * tests/test-mbrtowc3.sh: New file.
72513         * tests/test-mbrtowc4.sh: New file.
72514         * tests/test-mbrtowc.c: New file.
72516         New module 'mbrtowc'.
72517         * lib/wchar.in.h (mbstate_t): Override when the system does not have
72518         mbsinit and mbrtowc.
72519         (mbrtowc): New declaration.
72520         * lib/mbrtowc.c: New file.
72521         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
72522         * modules/mbrtowc: New file.
72523         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
72524         HAVE_MBRTOWC.
72525         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
72526         HAVE_MBRTOWC.
72527         * doc/posix-functions/mbrtowc.texi: Document the new module.
72529 2008-12-18  Bruno Haible  <bruno@clisp.org>
72531         New module 'wctob'.
72532         * lib/wchar.in.h (wctob): New declaration.
72533         * lib/wctob.c: New file.
72534         * m4/wctob.m4: New file.
72535         * modules/wctob: New file.
72536         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
72537         HAVE_WCTOB.
72538         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
72539         * doc/posix-functions/wctob.texi: Document the new module.
72541 2008-12-18  Bruno Haible  <bruno@clisp.org>
72543         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
72544         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
72546 2008-12-18  Simon Josefsson  <simon@josefsson.org>
72548         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
72549         G. Christensen" <tgc@jupiterrise.com>.
72551         * lib/flock.c: Need to include errno.h.  Reported by "Tom
72552         G. Christensen" <tgc@jupiterrise.com>.
72554         * lib/flock.c: Need to include string.h.  Reported by "Tom
72555         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
72556         <ebb9@byu.net>.
72558 2008-12-18  Bruno Haible  <bruno@clisp.org>
72560         * m4/locale-ja.m4: New file, from GNU gettext.
72562 2008-12-17  Bruno Haible  <bruno@clisp.org>
72564         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
72565         Suggested by Eric Blake.
72567 2008-12-17  Bruno Haible  <bruno@clisp.org>
72569         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
72571 2008-12-17  Bruno Haible  <bruno@clisp.org>
72573         * lib/mbsinit.c: Include verify.h. Verify an assumption.
72574         * modules/mbsinit (Depends-on): Add verify.
72575         Suggested by Paul Eggert.
72577 2008-12-17  Bruno Haible  <bruno@clisp.org>
72579         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
72580         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
72581         gl_FUNC_MBRTOWC.
72582         * m4/mbiter.m4 (gl_MBITER): LIkewise.
72583         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
72584         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
72585         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
72586         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
72587         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
72588         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
72589         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
72590         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
72591         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
72592         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
72593         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
72594         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
72595         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
72596         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
72597         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
72598         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
72599         * modules/trim (configure.ac): Likewise.
72601 2008-12-17  Bruno Haible  <bruno@clisp.org>
72603         * modules/btowc-tests: New file.
72604         * tests/test-btowc1.sh: New file.
72605         * tests/test-btowc2.sh: New file.
72606         * tests/test-btowc.c: New file.
72608         New module 'btowc'.
72609         * lib/wchar.in.h (btowc): New declaration.
72610         * lib/btowc.c: New file.
72611         * m4/btowc.m4: New file.
72612         * modules/btowc: New file.
72613         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
72614         HAVE_BTOWC.
72615         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
72616         * doc/posix-functions/btowc.texi: Document the new module.
72618 2008-12-17  Bruno Haible  <bruno@clisp.org>
72620         New module 'mbsinit'.
72621         * lib/wchar.in.h (mbsinit): New declaration.
72622         * lib/mbsinit.c: New file.
72623         * m4/mbsinit.m4: New file.
72624         * modules/mbsinit: New file.
72625         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
72626         HAVE_MBSINIT.
72627         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
72628         HAVE_MBSINIT.
72629         * doc/posix-functions/mbsinit.texi: Document the new module.
72631 2008-12-16  Bruno Haible  <bruno@clisp.org>
72633         * lib/unistd.in.h: Add comment.
72634         * tests/test-environ.c: Don't include <stdlib.h>.
72636 2008-12-16  Bruno Haible  <bruno@clisp.org>
72638         * lib/parse-duration.h (parse_duration): Document return value
72639         convention.
72640         * lib/parse-duration.c: Include specification header first. Add
72641         comments.
72642         (_): Remove macro.
72643         (parse_year_month_day, parse_hour_minute_second): Move side effects
72644         outside of strchr call.
72645         (parse_non_iso8601): Move side effects outside of isspace call.
72646         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
72647         call.
72649 2008-12-16  Bruno Haible  <bruno@clisp.org>
72651         * tests/test-parse-duration.sh: Produce no output when the test
72652         succeeds.
72654 2008-12-16  Bruno Haible  <bruno@clisp.org>
72656         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
72657         expressions.
72659 2008-12-15  Bruno Haible  <bruno@clisp.org>
72661         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
72662         * doc/glibc-functions/flistxattr.texi: Likewise.
72663         * doc/glibc-functions/fopencookie.texi: Likewise.
72664         * doc/glibc-functions/fremovexattr.texi: Likewise.
72665         * doc/glibc-functions/fsetxattr.texi: Likewise.
72666         * doc/glibc-functions/getxattr.texi: Likewise.
72667         * doc/glibc-functions/lgetxattr.texi: Likewise.
72668         * doc/glibc-functions/listxattr.texi: Likewise.
72669         * doc/glibc-functions/llistxattr.texi: Likewise.
72670         * doc/glibc-functions/lremovexattr.texi: Likewise.
72671         * doc/glibc-functions/lsetxattr.texi: Likewise.
72672         * doc/glibc-functions/removexattr.texi: Likewise.
72673         * doc/glibc-functions/setxattr.texi: Likewise.
72674         * doc/posix-functions/open_memstream.texi: Likewise.
72676 2008-12-15  Eric Blake  <ebb9@byu.net>
72678         Update doc for cygwin 1.7.
72679         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
72680         functions.
72681         * doc/posix-functions/fchmodat.texi: Likewise.
72682         * doc/posix-functions/fchownat.texi: Likewise.
72683         * doc/posix-functions/fdopendir.texi: Likewise.
72684         * doc/posix-functions/fmemopen.texi: Likewise.
72685         * doc/posix-functions/freeaddrinfo.texi: Likewise.
72686         * doc/posix-functions/fstatat.texi: Likewise.
72687         * doc/posix-functions/futimens.texi: Likewise.
72688         * doc/posix-functions/gai_strerror.texi: Likewise.
72689         * doc/posix-functions/getaddrinfo.texi: Likewise.
72690         * doc/posix-functions/getnameinfo.texi: Likewise.
72691         * doc/posix-functions/if_freenameindex.texi: Likewise.
72692         * doc/posix-functions/if_indextoname.texi: Likewise.
72693         * doc/posix-functions/if_nameindex.texi: Likewise.
72694         * doc/posix-functions/if_nametoindex.texi: Likewise.
72695         * doc/posix-functions/insque.texi: Likewise.
72696         * doc/posix-functions/linkat.texi: Likewise.
72697         * doc/posix-functions/llrint.texi: Likewise.
72698         * doc/posix-functions/llrintf.texi: Likewise.
72699         * doc/posix-functions/llrintl.texi: Likewise.
72700         * doc/posix-functions/lockf.texi: Likewise.
72701         * doc/posix-functions/lrintl.texi: Likewise.
72702         * doc/posix-functions/mkdirat.texi: Likewise.
72703         * doc/posix-functions/mkfifoat.texi: Likewise.
72704         * doc/posix-functions/mknodat.texi: Likewise.
72705         * doc/posix-functions/mq_close.texi: Likewise.
72706         * doc/posix-functions/mq_getattr.texi: Likewise.
72707         * doc/posix-functions/mq_notify.texi: Likewise.
72708         * doc/posix-functions/mq_open.texi: Likewise.
72709         * doc/posix-functions/mq_receive.texi: Likewise.
72710         * doc/posix-functions/mq_send.texi: Likewise.
72711         * doc/posix-functions/mq_setattr.texi: Likewise.
72712         * doc/posix-functions/mq_timedreceive.texi: Likewise.
72713         * doc/posix-functions/mq_timedsend.texi: Likewise.
72714         * doc/posix-functions/mq_unlink.texi: Likewise.
72715         * doc/posix-functions/open_memstream.texi: Likewise.
72716         * doc/posix-functions/openat.texi: Likewise.
72717         * doc/posix-functions/posix_fadvise.texi: Likewise.
72718         * doc/posix-functions/posix_fallocate.texi: Likewise.
72719         * doc/posix-functions/posix_madvise.texi: Likewise.
72720         * doc/posix-functions/posix_memalign.texi: Likewise.
72721         * doc/posix-functions/posix_openpt.texi: Likewise.
72722         * doc/posix-functions/readlinkat.texi: Likewise.
72723         * doc/posix-functions/remque.texi: Likewise.
72724         * doc/posix-functions/renameat.texi: Likewise.
72725         * doc/posix-functions/rintl.texi: Likewise.
72726         * doc/posix-functions/sem_unlink.texi: Likewise.
72727         * doc/posix-functions/shm_open.texi: Likewise.
72728         * doc/posix-functions/shm_unlink.texi: Likewise.
72729         * doc/posix-functions/signgam.texi: Likewise.
72730         * doc/posix-functions/sigset.texi: Likewise.
72731         * doc/posix-functions/stpcpy.texi: Likewise.
72732         * doc/posix-functions/stpncpy.texi: Likewise.
72733         * doc/posix-functions/strerror.texi: Likewise.
72734         * doc/posix-functions/strtod.texi: Likewise.
72735         * doc/posix-functions/symlinkat.texi: Likewise.
72736         * doc/posix-functions/unlinkat.texi: Likewise.
72737         * doc/posix-functions/utimensat.texi: Likewise.
72738         * doc/glibc-functions/bindresvport.texi: Likewise.
72739         * doc/glibc-functions/dn_expand.texi: Likewise.
72740         * doc/glibc-functions/exp10.texi: Likewise.
72741         * doc/glibc-functions/exp10f.texi: Likewise.
72742         * doc/glibc-functions/fgetxattr.texi: Likewise.
72743         * doc/glibc-functions/flistxattr.texi: Likewise.
72744         * doc/glibc-functions/fopencookie.texi: Likewise.
72745         * doc/glibc-functions/freeifaddrs.texi: Likewise.
72746         * doc/glibc-functions/fremovexattr.texi: Likewise.
72747         * doc/glibc-functions/fsetxattr.texi: Likewise.
72748         * doc/glibc-functions/getifaddrs.texi: Likewise.
72749         * doc/glibc-functions/getxattr.texi: Likewise.
72750         * doc/glibc-functions/lgetxattr.texi: Likewise.
72751         * doc/glibc-functions/listxattr.texi: Likewise.
72752         * doc/glibc-functions/llistxattr.texi: Likewise.
72753         * doc/glibc-functions/lremovexattr.texi: Likewise.
72754         * doc/glibc-functions/lsetxattr.texi: Likewise.
72755         * doc/glibc-functions/pow10.texi: Likewise.
72756         * doc/glibc-functions/pow10f.texi: Likewise.
72757         * doc/glibc-functions/rcmd_af.texi: Likewise.
72758         * doc/glibc-functions/removexattr.texi: Likewise.
72759         * doc/glibc-functions/res_init.texi: Likewise.
72760         * doc/glibc-functions/res_mkquery.texi: Likewise.
72761         * doc/glibc-functions/res_query.texi: Likewise.
72762         * doc/glibc-functions/res_querydomain.texi: Likewise.
72763         * doc/glibc-functions/res_send.texi: Likewise.
72764         * doc/glibc-functions/rresvport_af.texi: Likewise.
72765         * doc/glibc-functions/setxattr.texi: Likewise.
72766         * doc/glibc-functions/strcasestr.texi: Likewise.
72768 2008-12-15  Bruno Haible  <bruno@clisp.org>
72770         Fix compilation error on OSF/1 4.0.
72771         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
72772         <sys/time.h>, simply delegate to the system header.
72773         Reported by Daniel Richard G. <oss@teragram.com>.
72775 2008-12-15  Bruno Haible  <bruno@clisp.org>
72777         * doc/posix-functions/openat.texi: Mention the 'openat' module.
72778         * doc/posix-functions/fchmodat.texi: Likewise.
72779         * doc/posix-functions/fchownat.texi: Likewise.
72780         * doc/posix-functions/fdopendir.texi: Likewise.
72781         * doc/posix-functions/fstatat.texi: Likewise.
72782         * doc/posix-functions/mkdirat.texi: Likewise.
72783         * doc/posix-functions/unlinkat.texi: Likewise.
72785 2008-12-14  Bruno Haible  <bruno@clisp.org>
72787         Update doc for POSIX:2008.
72788         * doc/posix-functions/faccessat.texi: New file.
72789         * doc/posix-functions/fchmodat.texi: New file.
72790         * doc/posix-functions/fchownat.texi: New file.
72791         * doc/posix-functions/fdopendir.texi: New file.
72792         * doc/posix-functions/fstatat.texi: New file.
72793         * doc/posix-functions/futimens.texi: New file.
72794         * doc/posix-functions/linkat.texi: New file.
72795         * doc/posix-functions/mkdirat.texi: New file.
72796         * doc/posix-functions/mkfifoat.texi: New file.
72797         * doc/posix-functions/mknodat.texi: New file.
72798         * doc/posix-functions/open_wmemstream.texi: New file.
72799         * doc/posix-functions/openat.texi: New file.
72800         * doc/posix-functions/psiginfo.texi: New file.
72801         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
72802         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
72803         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
72804         * doc/posix-functions/readlinkat.texi: New file.
72805         * doc/posix-functions/renameat.texi: New file.
72806         * doc/posix-functions/strerror_l.texi: New file.
72807         * doc/posix-functions/symlinkat.texi: New file.
72808         * doc/posix-functions/unlinkat.texi: New file.
72809         * doc/posix-functions/utimensat.texi: New file.
72810         * doc/gnulib.texi (Function Substitutes): Add these subsections.
72812 2008-12-14  Bruno Haible  <bruno@clisp.org>
72814         Update doc for POSIX:2008.
72815         * doc/posix-functions/alphasort.texi: Renamed from
72816         doc/glibc-functions/alphasort.texi.
72817         * doc/posix-functions/dirfd.texi: Renamed from
72818         doc/glibc-functions/dirfd.texi.
72819         * doc/posix-functions/dprintf.texi: Renamed from
72820         doc/glibc-functions/dprintf.texi.
72821         * doc/posix-functions/duplocale.texi: Renamed from
72822         doc/glibc-functions/duplocale.texi.
72823         * doc/posix-functions/fexecve.texi: Renamed from
72824         doc/glibc-functions/fexecve.texi.
72825         * doc/posix-functions/fmemopen.texi: Renamed from
72826         doc/glibc-functions/fmemopen.texi.
72827         * doc/posix-functions/freelocale.texi: Renamed from
72828         doc/glibc-functions/freelocale.texi.
72829         * doc/posix-functions/getdate_err.texi: Renamed from
72830         doc/glibc-functions/getdate_err.texi.
72831         * doc/posix-functions/isalnum_l.texi: Renamed from
72832         doc/glibc-functions/isalnum_l.texi.
72833         * doc/posix-functions/isalpha_l.texi: Renamed from
72834         doc/glibc-functions/isalpha_l.texi.
72835         * doc/posix-functions/isblank_l.texi: Renamed from
72836         doc/glibc-functions/isblank_l.texi.
72837         * doc/posix-functions/iscntrl_l.texi: Renamed from
72838         doc/glibc-functions/iscntrl_l.texi.
72839         * doc/posix-functions/isdigit_l.texi: Renamed from
72840         doc/glibc-functions/isdigit_l.texi.
72841         * doc/posix-functions/isgraph_l.texi: Renamed from
72842         doc/glibc-functions/isgraph_l.texi.
72843         * doc/posix-functions/islower_l.texi: Renamed from
72844         doc/glibc-functions/islower_l.texi.
72845         * doc/posix-functions/isprint_l.texi: Renamed from
72846         doc/glibc-functions/isprint_l.texi.
72847         * doc/posix-functions/ispunct_l.texi: Renamed from
72848         doc/glibc-functions/ispunct_l.texi.
72849         * doc/posix-functions/isspace_l.texi: Renamed from
72850         doc/glibc-functions/isspace_l.texi.
72851         * doc/posix-functions/isupper_l.texi: Renamed from
72852         doc/glibc-functions/isupper_l.texi.
72853         * doc/posix-functions/iswalnum_l.texi: Renamed from
72854         doc/glibc-functions/iswalnum_l.texi.
72855         * doc/posix-functions/iswalpha_l.texi: Renamed from
72856         doc/glibc-functions/iswalpha_l.texi.
72857         * doc/posix-functions/iswblank_l.texi: Renamed from
72858         doc/glibc-functions/iswblank_l.texi.
72859         * doc/posix-functions/iswcntrl_l.texi: Renamed from
72860         doc/glibc-functions/iswcntrl_l.texi.
72861         * doc/posix-functions/iswctype_l.texi: Renamed from
72862         doc/glibc-functions/iswctype_l.texi.
72863         * doc/posix-functions/iswdigit_l.texi: Renamed from
72864         doc/glibc-functions/iswdigit_l.texi.
72865         * doc/posix-functions/iswgraph_l.texi: Renamed from
72866         doc/glibc-functions/iswgraph_l.texi.
72867         * doc/posix-functions/iswlower_l.texi: Renamed from
72868         doc/glibc-functions/iswlower_l.texi.
72869         * doc/posix-functions/iswprint_l.texi: Renamed from
72870         doc/glibc-functions/iswprint_l.texi.
72871         * doc/posix-functions/iswpunct_l.texi: Renamed from
72872         doc/glibc-functions/iswpunct_l.texi.
72873         * doc/posix-functions/iswspace_l.texi: Renamed from
72874         doc/glibc-functions/iswspace_l.texi.
72875         * doc/posix-functions/iswupper_l.texi: Renamed from
72876         doc/glibc-functions/iswupper_l.texi.
72877         * doc/posix-functions/iswxdigit_l.texi: Renamed from
72878         doc/glibc-functions/iswxdigit_l.texi.
72879         * doc/posix-functions/isxdigit_l.texi: Renamed from
72880         doc/glibc-functions/isxdigit_l.texi.
72881         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
72882         doc/glibc-functions/mbsnrtowcs.texi.
72883         * doc/posix-functions/mkdtemp.texi: Renamed from
72884         doc/glibc-functions/mkdtemp.texi.
72885         * doc/posix-functions/newlocale.texi: Renamed from
72886         doc/glibc-functions/newlocale.texi.
72887         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
72888         doc/glibc-functions/nl_langinfo_l.texi.
72889         * doc/posix-functions/open_memstream.texi: Renamed from
72890         doc/glibc-functions/open_memstream.texi.
72891         * doc/posix-functions/opterr.texi: Renamed from
72892         doc/glibc-functions/opterr.texi.
72893         * doc/posix-functions/optind.texi: Renamed from
72894         doc/glibc-functions/optind.texi.
72895         * doc/posix-functions/optopt.texi: Renamed from
72896         doc/glibc-functions/optopt.texi.
72897         * doc/posix-functions/psignal.texi: Renamed from
72898         doc/glibc-functions/psignal.texi.
72899         * doc/posix-functions/scandir.texi: Renamed from
72900         doc/glibc-functions/scandir.texi.
72901         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
72902         doc/glibc-functions/sched_get_priority_min.texi.
72903         * doc/posix-functions/signgam.texi: Renamed from
72904         doc/glibc-functions/signgam.texi.
72905         * doc/posix-functions/stpcpy.texi: Renamed from
72906         doc/glibc-functions/stpcpy.texi.
72907         * doc/posix-functions/stpncpy.texi: Renamed from
72908         doc/glibc-functions/stpncpy.texi.
72909         * doc/posix-functions/strcasecmp_l.texi: Renamed from
72910         doc/glibc-functions/strcasecmp_l.texi.
72911         * doc/posix-functions/strcoll_l.texi: Renamed from
72912         doc/glibc-functions/strcoll_l.texi.
72913         * doc/posix-functions/strfmon_l.texi: Renamed from
72914         doc/glibc-functions/strfmon_l.texi.
72915         * doc/posix-functions/strftime_l.texi: Renamed from
72916         doc/glibc-functions/strftime_l.texi.
72917         * doc/posix-functions/strncasecmp_l.texi: Renamed from
72918         doc/glibc-functions/strncasecmp_l.texi.
72919         * doc/posix-functions/strndup.texi: Renamed from
72920         doc/glibc-functions/strndup.texi.
72921         * doc/posix-functions/strnlen.texi: Renamed from
72922         doc/glibc-functions/strnlen.texi.
72923         * doc/posix-functions/strsignal.texi: Renamed from
72924         doc/glibc-functions/strsignal.texi.
72925         * doc/posix-functions/strxfrm_l.texi: Renamed from
72926         doc/glibc-functions/strxfrm_l.texi.
72927         * doc/posix-functions/timer_gettime.texi: Renamed from
72928         doc/glibc-functions/timer_gettime.texi.
72929         * doc/posix-functions/tolower_l.texi: Renamed from
72930         doc/glibc-functions/tolower_l.texi.
72931         * doc/posix-functions/toupper_l.texi: Renamed from
72932         doc/glibc-functions/toupper_l.texi.
72933         * doc/posix-functions/towctrans_l.texi: Renamed from
72934         doc/glibc-functions/towctrans_l.texi.
72935         * doc/posix-functions/towlower_l.texi: Renamed from
72936         doc/glibc-functions/towlower_l.texi.
72937         * doc/posix-functions/towupper_l.texi: Renamed from
72938         doc/glibc-functions/towupper_l.texi.
72939         * doc/posix-functions/uselocale.texi: Renamed from
72940         doc/glibc-functions/uselocale.texi.
72941         * doc/posix-functions/vdprintf.texi: Renamed from
72942         doc/glibc-functions/vdprintf.texi.
72943         * doc/posix-functions/wcpcpy.texi:
72944         Renamed from doc/glibc-functions/wcpcpy.texi.
72945         * doc/posix-functions/wcpncpy.texi: Renamed from
72946         doc/glibc-functions/wcpncpy.texi.
72947         * doc/posix-functions/wcscasecmp.texi: Renamed from
72948         doc/glibc-functions/wcscasecmp.texi.
72949         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
72950         doc/glibc-functions/wcscasecmp_l.texi.
72951         * doc/posix-functions/wcscoll_l.texi: Renamed from
72952         doc/glibc-functions/wcscoll_l.texi.
72953         * doc/posix-functions/wcsdup.texi: Renamed from
72954         doc/glibc-functions/wcsdup.texi.
72955         * doc/posix-functions/wcsncasecmp.texi: Renamed from
72956         doc/glibc-functions/wcsncasecmp.texi.
72957         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
72958         doc/glibc-functions/wcsncasecmp_l.texi.
72959         * doc/posix-functions/wcsnlen.texi: Renamed from
72960         doc/glibc-functions/wcsnlen.texi.
72961         * doc/posix-functions/wcsnrtombs.texi: Renamed from
72962         doc/glibc-functions/wcsnrtombs.texi.
72963         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
72964         doc/glibc-functions/wcsxfrm_l.texi.
72965         * doc/posix-functions/wctrans_l.texi: Renamed from
72966         doc/glibc-functions/wctrans_l.texi.
72967         * doc/posix-functions/wctype_l.texi: Renamed from
72968         doc/glibc-functions/wctype_l.texi.
72969         * doc/gnulib.texi (Function Substitutes): Add these subsections.
72970         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
72971         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
72972         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
72973         these subsections.
72974         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
72975         Remove sections.
72977 2008-12-14  Bruno Haible  <bruno@clisp.org>
72979         Update doc for POSIX:2008.
72980         * doc/posix-functions/*.texi: Update URL of POSIX specification.
72982 2008-12-14  Bruno Haible  <bruno@clisp.org>
72984         Update doc for POSIX:2008.
72985         * doc/pastposix-functions/bcmp.texi: Renamed from
72986         doc/posix-functions/bcmp.texi.
72987         * doc/pastposix-functions/bcopy.texi: Renamed from
72988         doc/posix-functions/bcopy.texi.
72989         * doc/pastposix-functions/bsd_signal.texi: Renamed from
72990         doc/posix-functions/bsd_signal.texi.
72991         * doc/pastposix-functions/bzero.texi: Renamed from
72992         doc/posix-functions/bzero.texi.
72993         * doc/pastposix-functions/ecvt.texi: Renamed from
72994         doc/posix-functions/ecvt.texi.
72995         * doc/pastposix-functions/fcvt.texi: Renamed from
72996         doc/posix-functions/fcvt.texi.
72997         * doc/pastposix-functions/ftime.texi: Renamed from
72998         doc/posix-functions/ftime.texi.
72999         * doc/pastposix-functions/gcvt.texi: Renamed from
73000         doc/posix-functions/gcvt.texi.
73001         * doc/pastposix-functions/getcontext.texi: Renamed from
73002         doc/posix-functions/getcontext.texi.
73003         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
73004         doc/posix-functions/gethostbyaddr.texi.
73005         * doc/pastposix-functions/gethostbyname.texi: Renamed from
73006         doc/posix-functions/gethostbyname.texi.
73007         * doc/pastposix-functions/getwd.texi: Renamed from
73008         doc/posix-functions/getwd.texi.
73009         * doc/pastposix-functions/h_errno.texi: Renamed from
73010         doc/posix-functions/h_errno.texi.
73011         * doc/pastposix-functions/index.texi: Renamed from
73012         doc/posix-functions/index.texi.
73013         * doc/pastposix-functions/makecontext.texi: Renamed from
73014         doc/posix-functions/makecontext.texi.
73015         * doc/pastposix-functions/mktemp.texi: Renamed from
73016         doc/posix-functions/mktemp.texi.
73017         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
73018         doc/posix-functions/pthread_attr_getstackaddr.texi.
73019         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
73020         doc/posix-functions/pthread_attr_setstackaddr.texi.
73021         * doc/pastposix-functions/rindex.texi: Renamed from
73022         doc/posix-functions/rindex.texi.
73023         * doc/pastposix-functions/scalb.texi: Renamed from
73024         doc/posix-functions/scalb.texi.
73025         * doc/pastposix-functions/setcontext.texi: Renamed from
73026         doc/posix-functions/setcontext.texi.
73027         * doc/pastposix-functions/swapcontext.texi: Renamed from
73028         doc/posix-functions/swapcontext.texi.
73029         * doc/pastposix-functions/ualarm.texi: Renamed from
73030         doc/posix-functions/ualarm.texi.
73031         * doc/pastposix-functions/usleep.texi: Renamed from
73032         doc/posix-functions/usleep.texi.
73033         * doc/pastposix-functions/vfork.texi: Renamed from
73034         doc/posix-functions/vfork.texi.
73035         * doc/pastposix-functions/wcswcs.texi: Renamed from
73036         doc/posix-functions/wcswcs.texi.
73037         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
73038         (Function Substitutes): Update.
73040 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73042         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
73043         m4/strerror.m4.
73045 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73046             Bruno Haible  <bruno@clisp.org>
73048         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
73050 2008-12-13  Bruno Haible  <bruno@clisp.org>
73052         * modules/strtoull (Depends-on): Remove unistd.
73054 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73056         * modules/strtoull (Depends-on): Add stdlib.
73058 2008-12-11  Simon Josefsson  <simon@josefsson.org>
73060         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
73062 2008-12-10  Jim Meyering  <meyering@redhat.com>
73064         gl_ASSERT: don't say assertions are disabled when they're not
73065         * m4/assert.m4 (gl_ASSERT): Do not make configure report
73066         "checking whether to enable assertions... no", when they are in
73067         fact enabled.  This is solely a bug in the output of configure.
73068         In spite of saying "no", NDEBUG was not defined in that case.
73069         Also, as noted by Eric Blake, leave assertions enabled upon
73070         --enable-assert=INVALID.
73072 2008-12-10  Bruno Haible  <bruno@clisp.org>
73074         Change MODULES.html to refer to POSIX:2008 where possible.
73075         * MODULES.html.sh (POSIX2008_URL): New variable.
73076         (posix_headers): Remove sys/timeb, ucontext.
73077         (posix2001_headers): New variable.
73078         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
73079         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
73080         index, makecontext, mktemp, pthread_attr_getstackaddr,
73081         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
73082         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
73083         (posix2001_functions): New variable.
73084         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
73085         otherwise.
73087 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73089         add missing include to parse-duration.c
73090         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
73091         * modules/parse-duration (Depends-on): Add xalloc.
73093         fix sed script reading maint.mk
73094         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
73095         (syntax-check-rules): Use it.
73097 2008-12-09  Bruno Haible  <bruno@clisp.org>
73099         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
73100         MacOS X 10.4/PowerPC.
73101         Reported by Simon Josefsson.
73103 2008-12-08  Jim Meyering  <meyering@redhat.com>
73105         work around mingw's lack of some S_IF definitions
73106         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
73107         Reported by Simon Josefsson.
73109 2008-12-08  Bruno Haible  <bruno@clisp.org>
73111         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
73112         applied to variables. Needed on MacOS X 10.4/PowerPC.
73113         Reported by Simon Josefsson.
73115 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
73116         and Eric Blake  <ebb9@byu.net>
73118         assert: honor --enable-assert
73119         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
73120         order to honor --enable-assert, rather than treating it as a
73121         synonym for --disable-assert.
73123 2008-12-08  Jim Meyering  <meyering@redhat.com>
73125         * lib/posixtm.c: Remove now-useless declaration of mktime.
73127         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
73129 2008-12-07  Bruno Haible  <bruno@clisp.org>
73131         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
73132         test_once): Mark functions as static.
73133         * tests/test-tls.c (test_tls): Likewise.
73135 2008-12-07  Bruno Haible  <bruno@clisp.org>
73137         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
73138         iconv_register_autodetect.
73140 2008-12-07  Jim Meyering  <meyering@redhat.com>
73142         posixtm.c: avoid a warning
73143         * lib/posixtm.c (posixtime): Don't initialize tm0.
73144         It's no longer needed to placate gcc4's -Wuninitialized,
73145         and the attempt to placate would elicit a new warning.
73147         unicodeio.c: mark unused parameters
73148         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
73149         (fallback_failure_callback): Likewise.
73151 2008-12-07  Bruno Haible  <bruno@clisp.org>
73153         * gnulib-tool (func_create_testdir): When building the tests
73154         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
73155         Reported by Simon Josefsson.
73157 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73159         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
73161 2008-12-06  Bruno Haible  <bruno@clisp.org>
73163         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
73164         Suggested by Eric Blake.
73166 2008-12-06  Bruno Haible  <bruno@clisp.org>
73168         Fix a c-stack test failure on MacOS X.
73169         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
73170         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
73171         handler for SIGBUS as well.
73172         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
73173         install a signal handler for SIGBUS as well.
73174         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
73176 2008-12-06  Bruno Haible  <bruno@clisp.org>
73178         Advocacy documentation.
73179         * doc/gnulib-intro.texi (Benefits): New section.
73180         * doc/gnulib.texi: Update.
73182 2008-12-06  Bruno Haible  <bruno@clisp.org>
73184         Document the 'manywarnings' module.
73185         * doc/manywarnings.texi: New file.
73186         * doc/gnulib.texi: Include it.
73188 2008-12-05  Eric Blake  <ebb9@byu.net>
73190         tests: silence some gcc warnings
73191         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
73192         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
73193         type mismatches.
73195 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73196             Bruno Haible  <bruno@clisp.org>
73198         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
73200 2008-11-29  Jim Meyering  <meyering@redhat.com>
73202         unicodeio.c: mark unused parameters
73203         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
73204         (fallback_failure_callback): Likewise.
73206         fts: fix a thinko
73207         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
73208         (set_stat_type): Return S_IF*-valued "type" directly.
73209         Prompted by James Youngman's spotting a related bug.
73210         Confirmed by further testing through find.
73212         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
73213         * lib/fts.c (D_TYPE): Define.
73214         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
73215         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
73216         (s_ifmt_shift_bits): New function.
73217         (set_stat_type): New function.
73218         (fts_build): When not calling fts_stat, call set_stat_type
73219         to propagate dirent.d_type info to fts_read caller.
73220         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
73221         fts_statp->st_mode type information may be valid.
73223 2008-11-28  Simon Josefsson  <simon@josefsson.org>
73225         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
73226         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
73227         <sds@gnu.org>.
73229 2008-11-20  Bruno Haible  <bruno@clisp.org>
73231         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
73232         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
73233         INCLUDE_NEXT.
73234         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
73235         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
73236         * modules/math (Makefile.am): Substitute
73237         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
73238         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
73240 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
73241             Bruno Haible  <bruno@clisp.org>
73243         * lib/stdint.in.h: Define all type macros so that their expansion is
73244         a single typedef'ed token. Fixes a compilation failure in Boost which
73245         does "using ::int8_t;".
73247 2008-11-18  Simon Josefsson  <simon@josefsson.org>
73249         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
73250         gl_MANYWARN_ALL_GCC.
73251         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
73252         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
73253         * modules/manywarnings: New file.
73254         * MODULES.html.sh: Mention manywarnings module.
73256 2008-11-18  Bruno Haible  <bruno@clisp.org>
73258         * doc/gnulib-tool.texi (Unit tests): New section.
73260 2008-11-18  Simon Josefsson  <simon@josefsson.org>
73262         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
73263         paths like 'lib/po/foo.po'.
73265 2008-11-17  Simon Josefsson  <simon@josefsson.org>
73267         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
73268         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
73270 2008-11-17  Simon Josefsson  <simon@josefsson.org>
73272         * m4/warnings.m4: Use CPPFLAGS to really check whether the
73273         parameter works.
73275 2008-11-17  Simon Josefsson  <simon@josefsson.org>
73277         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
73279 2008-11-17  Bruce Korb  <bkorb@gnu.org>
73281         * modules/parse-duration-tests: New file.
73282         * tests/test-parse-duration.sh: New file.
73283         * tests/test-parse-duration.c: New file.
73285         New module 'parse-duration'.
73286         * lib/parse-duration.h: New file.
73287         * lib/parse-duration.c: New file.
73288         * modules/parse-duration: New file.
73290 2008-11-17  Bruno Haible  <bruno@clisp.org>
73292         * tests/test-select-out.sh: Comment out the first pipe test.
73293         Reported by Simon Josefsson.
73295 2008-11-17  Bruno Haible  <bruno@clisp.org>
73297         * modules/getaddrinfo (Depends-on): Add servent, hostent.
73298         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
73299         gl_HOSTENT.
73301 2008-11-17  Bruno Haible  <bruno@clisp.org>
73303         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
73304         -lnetwork and -lnet. Needed for Haiku and BeOS.
73306 2008-11-16  Bruno Haible  <bruno@clisp.org>
73308         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
73310 2008-11-16  Bruno Haible  <bruno@clisp.org>
73312         Avoid test failure on Haiku.
73313         * tests/test-fsync.c: Include <errno.h>.
73314         (main): Don't require that fsync (0) fails.
73316 2008-11-15  Bruno Haible  <bruno@clisp.org>
73318         New module 'hostent'.
73319         * modules/hostent: New file.
73320         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
73322 2008-11-15  Bruno Haible  <bruno@clisp.org>
73324         New module 'servent'.
73325         * modules/servent: New file.
73326         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
73328 2008-11-15  Bruno Haible  <bruno@clisp.org>
73330         Avoid generating same test program with two different rules.
73331         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
73332         test-frexp to test-frexp-nolibm.
73333         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
73334         test-frexpl to test-frexpl-nolibm.
73336 2008-11-15  Bruno Haible  <bruno@clisp.org>
73338         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
73339         $(FREXPL_LIBM).
73341 2008-11-15  Bruno Haible  <bruno@clisp.org>
73343         * lib/netdb.in.h: Activate the definitions also when the system's
73344         <netdb.h> has 'struct addrinfo'.
73345         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
73346         EAI_OVERFLOW or AI_NUMERICSERV.
73347         * doc/posix-headers/netdb.texi: Document the problem.
73349 2008-11-15  Bruno Haible  <bruno@clisp.org>
73351         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
73353         Make the 'sched' module work on platforms where <sched.h> exists but
73354         is incomplete (such as Haiku).
73355         * lib/sched.in.h; Include the system's <sched.h> if it exists.
73356         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
73357         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
73358         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
73359         HAVE_STRUCT_SCHED_PARAM.
73360         * modules/sched (Depends-on): Add include_next.
73361         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
73362         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
73363         * doc/posix-headers/sched.texi: Document the issue.
73365 2008-11-13  Jim Meyering  <meyering@redhat.com>
73367         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
73368         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
73369         test would fail due to the difference in the Report bugs to ...
73370         line.  The expected address is empty, "<>", while the actual
73371         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
73373 2008-11-12  Bruno Haible  <bruno@clisp.org>
73375         lstat: don't compile lstat.c on systems lacking lstat
73376         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
73377         which don't have lstat; this is handled by lib/sys_stat.in.h already.
73378         Reported by Daniel P. Berrange via Jim Meyering.
73380 2008-11-12  Jim Meyering  <meyering@redhat.com>
73382         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
73384 2008-11-12  Simon Josefsson  <simon@josefsson.org>
73386         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
73387         instead.
73389 2008-11-12  Bruno Haible  <bruno@clisp.org>
73391         * lib/unicodeio.c: Include unistr.h.
73392         (utf8_wctomb): Remove function.
73393         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
73395 2008-11-12  Simon Josefsson  <simon@josefsson.org>
73397         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
73398         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
73399         <bruno@clisp.org>.
73400         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
73402 2008-11-12  Simon Josefsson  <simon@josefsson.org>
73404         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
73405         * doc/gnulib.texi: Add section for warnings.
73407 2008-11-11  Bruno Haible  <bruno@clisp.org>
73409         * lib/sockets.h: Add a comment.
73411 2008-11-11  Karl Berry  <karl@gnu.org>
73413         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
73415 2008-11-11  Eric Blake  <ebb9@byu.net>
73417         fdl.texi: avoid git symlinks
73418         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
73420 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
73422         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
73424 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
73426         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
73427         (gl_WARN_ADD): Substitute $2 if literal.
73429 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
73431         * m4/warning.m4: Remove.
73433 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
73435         * m4/warnings.m4: Almost complete rewrite. :-)
73437 2008-11-10  Simon Josefsson  <simon@josefsson.org>
73439         * modules/warnings: New module.
73440         * m4/warnings.m4: New file.
73441         * MODULES.html.sh: Mention warnings module.
73442         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
73443         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
73445 2008-11-10  Eric Blake  <ebb9@byu.net>
73447         fdl.texi: make a symlink to the latest version
73448         * doc/standards.texi: Revert today's earlier change.
73449         * doc/fdl-1.2.texi: Rename from old fdl.texi...
73450         * doc/fdl.texi: ...and replace this with a symlink to the newer
73451         fdl-1.3.texi.
73453 2008-11-10  Bruno Haible  <bruno@clisp.org>
73455         * tests/test-select-fd.c (main): Accept the result file name as fourth
73456         argument.
73457         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
73458         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
73460 2008-11-10  Bruno Haible  <bruno@clisp.org>
73462         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
73463         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
73464         as autoconf-substituted macros.
73465         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
73466         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
73467         gl_NETDB_H_DEFAULTS. Set these variables.
73468         * modules/netdb (Makefile.am): Substitute these variables.
73470 2008-11-10  Eric Blake  <ebb9@byu.net>
73472         standards.texi: include correct file for FDL 1.3
73473         * doc/standards.texi (GNU Free Documentation License): Change
73474         include file to pull in FDL 1.3, not 1.2.
73476         fdl.texi: revert accidental change to license
73477         * doc/fdl.texi: This is FDL 1.2, not 1.3.
73479 2008-11-10  Bruno Haible  <bruno@clisp.org>
73481         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
73482         cross-compiling guesses also when the native compile gives no result.
73484 2008-11-10  Bruno Haible  <bruno@clisp.org>
73486         * lib/spawni.c (__spawni): Force variable into the stack.
73488 2008-11-10  Bruno Haible  <bruno@clisp.org>
73490         Add support for Haiku.
73491         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
73492         glibc and BeOS, but also on Haiku.
73493         * lib/fpurge.c (fpurge): Likewise.
73494         * lib/freadable.c (freadable): Likewise.
73495         * lib/freadahead.c (freadahead): Likewise.
73496         * lib/freading.c (freading): Likewise.
73497         * lib/freadptr.c (freadptr): Likewise.
73498         * lib/freadseek.c (freadptrinc): Likewise.
73499         * lib/fseeko.c (rpl_fseeko): Likewise.
73500         * lib/fseterr.c (fseterr): Likewise.
73501         * lib/fwritable.c (fwritable): Likewise.
73502         * lib/fwriting.c (fwriting): Likewise.
73503         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
73505 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
73507         * lib/config.charset: Treat Haiku like BeOS.
73509 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
73511         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
73512         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
73514 2008-11-08  Bruno Haible  <bruno@clisp.org>
73516         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
73517         AC_CACHE_CHECK.
73519 2008-11-08  Bruno Haible  <bruno@clisp.org>
73521         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
73523 2008-11-08  Bruno Haible  <bruno@clisp.org>
73525         * tests/test-select-fd.c: New file.
73526         * tests/test-select-in.sh: New file.
73527         * tests/test-select-out.sh: New file.
73528         * tests/test-select-stdin.c: New file.
73529         * modules/select-tests (Files): Add the new files.
73530         (Depends-on): Add gettimeofday.
73531         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
73532         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
73533         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
73535 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
73536             Bruno Haible  <bruno@clisp.org>
73538         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
73540 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
73542         * build-aux/pmccabe2html: Added support for C++ source files.
73544 2008-11-05  Ben Pfaff  <blp@gnu.org>
73546         Fix lib/close.c build on Windows.
73547         * modules/close (Files): Add lib/w32sock.h.
73549 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
73551         Accept Bison's NEWS format.
73552         * build-aux/announce-gen (print_news_deltas): Tweak
73553         $re_prefix.
73555 2008-11-04  Bruno Haible  <bruno@clisp.org>
73557         * modules/random_r (Maintainer): Add glibc.
73559 2008-11-04  Simon Josefsson  <simon@josefsson.org>
73561         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
73562         by karl@freefriends.org (Karl Berry).
73563         * doc/alloca.texi: Likewise.
73564         * doc/c-ctype.texi: Likewise.
73565         * doc/c-strcase.texi: Likewise.
73566         * doc/c-strcaseeq.texi: Likewise.
73567         * doc/c-strcasestr.texi: Likewise.
73568         * doc/c-strstr.texi: Likewise.
73569         * doc/c-strtod.texi: Likewise.
73570         * doc/c-strtold.texi: Likewise.
73571         * doc/ctime.texi: Likewise.
73572         * doc/error.texi: Likewise.
73573         * doc/fdl.texi: Likewise.
73574         * doc/gcd.texi: Likewise.
73575         * doc/getdate.texi: Likewise.
73576         * doc/gnulib-intro.texi: Likewise.
73577         * doc/gnulib-tool.texi: Likewise.
73578         * doc/gnulib.texi: Likewise.
73579         * doc/inet_ntoa.texi: Likewise.
73580         * doc/maintain.texi: Likewise.
73581         * doc/make-stds.texi: Likewise.
73582         * doc/quote.texi: Likewise.
73583         * doc/regexprops-generic.texi: Likewise.
73584         * doc/standards.texi: Likewise.
73585         * doc/verify.texi: Likewise.
73586         * doc/visibility.texi: Likewise.
73587         * doc/gnulib.texi (GNU Free Documentation License): Include
73588         fdl-1.3.texi instead of fdl.texi.
73590 2008-11-04  Simon Josefsson  <simon@josefsson.org>
73592         * doc/fdl-1.3.texi: New file, from
73593         <http://www.gnu.org/licenses/fdl-1.3.texi>.
73594         * modules/fdl-1.3: Add.
73595         * MODULES.html.sh: Add fdl-1.3.
73597 2008-11-03  Bruno Haible  <bruno@clisp.org>
73599         Make determination of absolute name of header file work with AIX xlc.
73600         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
73601         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
73602         preprocessing.
73603         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
73604         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
73606 2008-11-03  Simon Josefsson  <simon@josefsson.org>
73608         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
73609         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
73610         <ludo@gnu.org>.
73612 2008-11-02  Bruno Haible  <bruno@clisp.org>
73614         Mark 'strpbrk' obsolete.
73615         * modules/strpbrk (Status, Notice): New sections.
73616         * modules/strtok_r (Depends-on): Add strpbrk.
73618 2008-11-02  Bruno Haible  <bruno@clisp.org>
73620         Mark 'strdup' obsolete.
73621         * modules/strdup (Status, Notice): New sections.
73622         * modules/findprog (Depends-on): Add strdup.
73623         * modules/getaddrinfo (Depends-on): Likewise.
73624         * modules/localename (Depends-on): Likewise.
73625         * modules/relocatable-lib (Depends-on): Likewise.
73626         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
73627         * modules/relocatable-prog (Depends-on): Likewise.
73628         * modules/trim (Depends-on): Likewise.
73629         * modules/unictype/gen-ctype (Depends-on): Likewise.
73630         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
73632 2008-11-02  Bruno Haible  <bruno@clisp.org>
73634         Mark 'strcspn' obsolete.
73635         * modules/strcspn (Status, Notice): New sections.
73637 2008-11-02  Bruno Haible  <bruno@clisp.org>
73639         Mark 'rmdir' obsolete.
73640         * modules/rmdir (Status, Notice): New sections.
73641         * modules/clean-temp (Depends-on): Add rmdir.
73642         * modules/openat (Depends-on): Likewise.
73644 2008-11-02  Bruno Haible  <bruno@clisp.org>
73646         Mark 'raise' obsolete.
73647         * modules/raise (Status, Notice): New sections.
73648         (Include): Specify <signal.h>.
73649         * modules/stdio (Depends-on): Add raise.
73650         * modules/write (Depends-on): Likewise.
73652 2008-11-02  Bruno Haible  <bruno@clisp.org>
73654         Mark 'memset' obsolete.
73655         * modules/memset (Status, Notice): New sections.
73657 2008-11-02  Bruno Haible  <bruno@clisp.org>
73659         Mark 'memmove' obsolete.
73660         * modules/memmove (Status, Notice): New sections.
73661         * modules/argp (Depends-on): Add memmove.
73662         * modules/argz (Depends-on): Likewise.
73663         * modules/canonicalize (Depends-on): Likewise.
73664         * modules/canonicalize-lgpl (Depends-on): Likewise.
73665         * modules/fts (Depends-on): Likewise.
73666         * modules/getcwd (Depends-on): Likewise.
73667         * modules/human (Depends-on): Likewise.
73668         * modules/regex (Depends-on): Likewise.
73669         * modules/striconveh (Depends-on): Likewise.
73670         * modules/trim (Depends-on): Likewise.
73671         * modules/unistr/u8-move (Depends-on): Likewise.
73672         * modules/unistr/u16-move (Depends-on): Likewise.
73673         * modules/unistr/u32-move (Depends-on): Likewise.
73675 2008-11-02  Bruno Haible  <bruno@clisp.org>
73677         Mark 'memcpy' obsolete.
73678         * modules/memcpy (Status, Notice): New sections.
73680 2008-11-02  Bruno Haible  <bruno@clisp.org>
73682         Mark 'memcmp' obsolete.
73683         * modules/memcmp (Status, Notice): New sections.
73684         * modules/argmatch (Depends-on): Add memchr.
73685         * modules/backupfile (Depends-on): Likewise.
73686         * modules/c-strcasestr (Depends-on): Likewise.
73687         * modules/crypto/des (Depends-on): Likewise.
73688         * modules/csharpcomp (Depends-on): Likewise.
73689         * modules/fnmatch (Depends-on): Likewise.
73690         * modules/git-merge-changelog (Depends-on): Likewise.
73691         * modules/isnand (Depends-on): Likewise.
73692         * modules/isnand-nolibm (Depends-on): Likewise.
73693         * modules/isnanf (Depends-on): Likewise.
73694         * modules/isnanf-nolibm (Depends-on): Likewise.
73695         * modules/isnanl (Depends-on): Likewise.
73696         * modules/isnanl-nolibm (Depends-on): Likewise.
73697         * modules/mbchar (Depends-on): Likewise.
73698         * modules/memcoll (Depends-on): Likewise.
73699         * modules/quotearg (Depends-on): Likewise.
73700         * modules/regex (Depends-on): Likewise.
73701         * modules/relocatable-prog (Depends-on): Likewise.
73702         * modules/same (Depends-on): Likewise.
73703         * modules/signbit (Depends-on): Likewise.
73704         * modules/strcasestr-simple (Depends-on): Likewise.
73705         * modules/unictype/gen-ctype (Depends-on): Likewise.
73706         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
73707         * modules/uniname/uniname (Depends-on): Likewise.
73708         * modules/unistr/u8-cmp (Depends-on): Likewise.
73710 2008-11-02  Bruno Haible  <bruno@clisp.org>
73712         Mark 'memchr' obsolete.
73713         * modules/memchr (Status, Notice): New sections.
73714         * modules/argp (Depends-on): Add memchr.
73715         * modules/base64 (Depends-on): Likewise.
73716         * modules/c-strcasestr (Depends-on): Likewise.
73717         * modules/chdir-long (Depends-on): Likewise.
73718         * modules/fnmatch (Depends-on): Likewise.
73719         * modules/getsubopt (Depends-on): Likewise.
73720         * modules/git-merge-changelog (Depends-on): Likewise.
73721         * modules/glob (Depends-on): Likewise.
73722         * modules/strcasestr-simple (Depends-on): Likewise.
73723         * modules/strnlen (Depends-on): Likewise.
73725 2008-11-02  Bruno Haible  <bruno@clisp.org>
73727         Mark 'atexit' obsolete.
73728         * modules/atexit (Status, Notice): New sections.
73729         * modules/chdir-long (Depends-on): Add atexit.
73730         * modules/wait-process (Depends-on): Likewise.
73732 2008-11-02  Bruno Haible  <bruno@clisp.org>
73734         * gnulib-tool: New option --with-obsolete.
73735         (func_usage): Document it.
73736         (func_modules_transitive_closure): Drop obsolete dependencies if
73737         incobsolete is not true.
73738         (func_import): Read and save the incobsolete variable to the cache.
73740 2008-11-02  Bruno Haible  <bruno@clisp.org>
73742         * modules/TEMPLATE-EXTENDED: New field 'Status'.
73743         * gnulib-tool: New option --extract-status.
73744         (func_usage): Document it.
73745         (sed_extract_prog): Recognize it.
73746         (func_get_status): New function.
73748 2008-10-30  Simon Josefsson  <simon@josefsson.org>
73750         * modules/sockets (License): Change from LGPL to LGPLv2+.
73752 2008-10-28  Simon Josefsson  <simon@josefsson.org>
73754         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
73756 2008-10-28  Simon Josefsson  <simon@josefsson.org>
73758         * MODULES.html.sh (Support for systems lacking POSIX:2001):
73759         Mention times and sys_times.
73760         * modules/sys_times, modules/sys_times-tests: New modules.
73761         * modules/times, modules/times-tests: Likewise
73762         * m4/sys_times_h.m4: New file.
73763         * lib/sys_times.in.h: Likewise
73764         * lib/times.c: Likewise.
73765         * tests/test-sys_times.c: Likewise.
73766         * tests/test-times.c: Likewise.
73767         * doc/posix-headers/sys_times.texi: Update.
73768         * doc/posix-functions/times.texi: Update.
73770 2008-10-28  Jim Meyering  <meyering@redhat.com>
73772         * modules/tempname (Depends-on): Add lstat.
73774         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
73776 2008-10-28  Simon Josefsson  <simon@josefsson.org>
73778         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
73779         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
73780         using idiom used elsewhere in gnulib.
73782 2008-10-27  Jim Meyering  <meyering@redhat.com>
73784         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
73786 2008-10-27  Simon Josefsson  <simon@josefsson.org>
73788         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
73789         TESTS_ENVIRONMENT, for shell scripts that needs to call built
73790         programs.
73791         * tests/test-argp-2.sh: Use $EXEEXT when needed.
73793 2008-10-27  Simon Josefsson  <simon@josefsson.org>
73795         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
73797 2008-10-27  Bruno Haible  <bruno@clisp.org>
73799         * tests/test-lstat.c: Include <stdio.h>.
73801 2008-10-27  Simon Josefsson  <simon@josefsson.org>
73803         * modules/lstat-tests: New module.
73804         * tests/test-lstat.c: New file.
73806 2008-10-26  Jim Meyering  <meyering@redhat.com>
73808         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
73810 2008-10-26  Simon Josefsson  <simon@josefsson.org>
73811             Bruno Haible  <bruno@clisp.org>
73813         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
73814         * modules/configmake (Include): Add a note that the include must come
73815         after all system headers.
73816         * lib/javaversion.c: Include configmake.h after all other includes.
73818 2008-10-26  Bruno Haible  <bruno@clisp.org>
73820         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
73821         HAVE_STRUCT_RANDOM_DATA to 1.
73822         (gl_STDLIB_H): Simplify.
73824 2008-10-26  Simon Josefsson  <simon@josefsson.org>
73826         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
73827         substitute HAVE_STRUCT_RANDOM_DATA.
73828         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
73829         random_data.
73830         * modules/stdlib (Makefile.am): Substitute
73831         HAVE_STRUCT_RANDOM_DATA.
73833 2008-10-26  Simon Josefsson  <simon@josefsson.org>
73835         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
73836         * doc/gnulib-intro.texi (Copyright): Likewise.
73838 2008-10-26  Simon Josefsson  <simon@josefsson.org>
73840         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
73841         findings.
73843 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
73844             Bruno Haible  <bruno@clisp.org>
73846         * lib/unistd.in.h: Include <winsock2.h>.
73847         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
73848         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
73849         Provide dummy declarations.
73850         (gethostname): Override.
73851         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
73852         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
73853         gl_PREREQ_SYS_H_WINSOCK2.
73854         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
73855         * doc/posix-functions/gethostname.texi: More details.
73857 2008-10-25  Bruno Haible  <bruno@clisp.org>
73859         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
73860         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
73861         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
73863         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
73864         here ...
73865         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
73866         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
73867         gl_UNISTD_H_DEFAULTS.
73869 2008-10-25  Eric Blake  <ebb9@byu.net>
73871         signbit: avoid spurious compiler failure
73872         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
73873         declarations inside function.
73875 2008-10-24  Simon Josefsson  <simon@josefsson.org>
73876             Bruno Haible  <bruno@clisp.org>
73878         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
73879         * modules/random_r (Depends-on): Add stdint.
73881 2008-10-24  Bruno Haible  <bruno@clisp.org>
73883         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
73884         Eggert.
73885         * modules/strerror (License): Likewise.
73887 2008-10-24  Jim Meyering  <meyering@redhat.com>
73889         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
73890         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
73892 2008-10-24  Eric Blake  <ebb9@byu.net>
73894         getgroups: fix compilation when getgroups is available
73895         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
73896         but with <config.h> override of getgroups disabled.
73898 2008-10-24  Simon Josefsson  <simon@josefsson.org>
73900         * doc/gnulib.texi (Header files): Add note about C++ problems.
73901         Explained by Bruno Haible <bruno@clisp.org>.
73903 2008-10-23  Bruno Haible  <bruno@clisp.org>
73905         Define a dummy SA_NODEFER macro on Interix.
73906         * lib/signal.in.h (SA_NODEFER): Define fallback.
73907         Reported by Aleksey Cheusov <cheusov@tut.by> via
73908         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
73910 2008-10-23  Bruno Haible  <bruno@clisp.org>
73912         * modules/freadahead (License): Change to LGPLv2+.
73913         Suggested by Simon Josefsson.
73915 2008-10-23  Jim Meyering  <meyering@redhat.com>
73917         random_r: new module
73918         * modules/random_r: New file.
73919         * m4/random_r.m4: New file.
73920         * lib/random_r.c: New file, from glibc.
73921         * modules/random_r-tests: New file.
73922         * tests/test-random_r.c: New file.
73923         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
73924          Declare.
73925         (RAND_MAX): Define.
73926         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
73927         * modules/stdlib: Substitute them, too.
73928         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
73929         * doc/glibc-functions/initstate_r.texi: Mention the new module.
73930         * doc/glibc-functions/random_r.texi: Likewise.
73931         * doc/glibc-functions/setstate_r.texi: Likewise.
73932         * doc/glibc-functions/srandom_r.texi: Likewise.
73933         * config/srclist.txt: Mention it.
73935 2008-10-23  David Lutterkort  <lutter@redhat.com>
73937         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
73938         link requirement
73940 2008-10-23  Jim Meyering  <meyering@redhat.com>
73942         selinux-h: mark parameters of stub functions as intentionally unused
73943         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
73944         * lib/se-context.in.h: Likewise.
73946 2008-10-22  Simon Josefsson  <simon@josefsson.org>
73948         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
73950 2008-10-22  Simon Josefsson  <simon@josefsson.org>
73952         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
73954 2008-10-22  Eric Blake  <ebb9@byu.net>
73956         glthread/thread: avoid compiler warning
73957         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
73958         Add unreachable abort to silence compiler.
73960 2008-10-22  Eric Blake  <ebb9@byu.net>
73962         netdb: also supply struct addrinfo for cygwin 1.5.x
73963         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
73964         older cygwin.
73965         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
73966         cygwin.
73967         * doc/posix-headers/netdb.texi (netdb.h): Document this.
73969 2008-10-22  Bruno Haible  <bruno@clisp.org>
73971         * users.txt: Update entry about pspp.
73973 2008-10-21  Bruno Haible  <bruno@clisp.org>
73975         Simplification.
73976         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
73977         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
73979         Simplification.
73980         * lib/ioctl.c (ioctl): Don't undefine.
73981         * lib/socket.c (socket): Don't undefine.
73983         Remove unused module indicator macros.
73984         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
73985         GNULIB_$1 as a C macro.
73987         * doc/posix-functions/close.texi: Undo last change.
73988         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
73989         Windows platforms.
73991 2008-10-21  Bruno Haible  <bruno@clisp.org>
73993         Add gethostname() declaration to <unistd.h>.
73994         * lib/unistd.in.h (gethostname): New declaration.
73995         * lib/gethostname.c: Include <unistd.h>.
73996         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
73997         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
73998         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
73999         and HAVE_GETHOSTNAME.
74000         * modules/gethostname (Depends-on): Add unistd.
74001         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
74002         (Include): Specify <unistd.h>.
74003         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
74004         HAVE_GETHOSTNAME.
74005         * tests/test-gethostname.c: Include <unistd.h> first.
74007 2008-10-21  Bruno Haible  <bruno@clisp.org>
74009         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
74010         * modules/select-tests (Depends-on): Likewise.
74011         Reported by Simon Josefsson.
74013 2008-10-21  Simon Josefsson  <simon@josefsson.org>
74015         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
74016         * lib/accept.c: New file, based on winsock.c.
74017         * lib/bind.c: New file, based on winsock.c.
74018         * lib/connect.c: New file, based on winsock.c.
74019         * lib/getpeername.c: New file, based on winsock.c.
74020         * lib/getsockname.c: New file, based on winsock.c.
74021         * lib/getsockopt.c: New file, based on winsock.c.
74022         * lib/ioctl.c: New file, based on winsock.c.
74023         * lib/listen.c: New file, based on winsock.c.
74024         * lib/recv.c: New file, based on winsock.c.
74025         * lib/recvfrom.c: New file, based on winsock.c.
74026         * lib/send.c: New file, based on winsock.c.
74027         * lib/sendto.c: New file, based on winsock.c.
74028         * lib/setsockopt.c: New file, based on winsock.c.
74029         * lib/shutdown.c: New file, based on winsock.c.
74030         * lib/socket.c: New file, based on winsock.c.
74031         * lib/w32sock.h: New file, based on winsock.c.
74032         * lib/winsock.c: Remove file.
74033         * modules/accept: Likewise.
74034         * modules/bind: Likewise.
74035         * modules/connect: Likewise.
74036         * modules/getpeername: Likewise.
74037         * modules/getsockname: Likewise.
74038         * modules/getsockopt: Likewise.
74039         * modules/ioctl: Likewise.
74040         * modules/listen: Likewise.
74041         * modules/recv: Likewise.
74042         * modules/recvfrom: Likewise.
74043         * modules/send: Likewise.
74044         * modules/sendto: Likewise.
74045         * modules/setsockopt: Likewise.
74046         * modules/shutdown: Likewise.
74047         * modules/socket: Use socket.c instead of winsock.c.
74048         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
74049         * doc/posix-functions/accept.texi: Doc fix.
74050         * doc/posix-functions/bind.texi: Doc fix.
74051         * doc/posix-functions/close.texi: Doc fix.
74052         * doc/posix-functions/connect.texi: Doc fix.
74053         * doc/posix-functions/getpeername.texi: Doc fix.
74054         * doc/posix-functions/getsockname.texi: Doc fix.
74055         * doc/posix-functions/getsockopt.texi: Doc fix.
74056         * doc/posix-functions/ioctl.texi: Doc fix.
74057         * doc/posix-functions/listen.texi: Doc fix.
74058         * doc/posix-functions/recv.texi: Doc fix.
74059         * doc/posix-functions/recvfrom.texi: Doc fix.
74060         * doc/posix-functions/send.texi: Doc fix.
74061         * doc/posix-functions/sendto.texi: Doc fix.
74062         * doc/posix-functions/setsockopt.texi: Doc fix.
74063         * doc/posix-functions/shutdown.texi: Doc fix.
74064         * doc/posix-functions/socket.texi: Doc fix.
74066 2008-10-20  Bruno Haible  <bruno@clisp.org>
74068         Take into account the role of SIGABRT_COMPAT on Windows 2008.
74069         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
74070         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
74071         as an alias for SIGABRT.
74072         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
74073         (sigaction): Map it to SIGABRT.
74074         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
74076 2008-10-20  Bruno Haible  <bruno@clisp.org>
74078         * lib/fts.c: Don't include lstat.h.
74079         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
74081         Move the lstat() declaration to <sys/stat.h>.
74082         * lib/lstat.h: Remove file.
74083         * lib/sys_stat.in.h: Add special invocation convention.
74084         (lstat): New declaration.
74085         * lib/lstat.c (orig_lstat): New function.
74086         (rpl_lstat): Use orig_lstat instead of lstat.
74087         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
74088         AC_C_INLINE. Set REPLACE_LSTAT.
74089         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
74090         and REPLACE_LSTAT.
74091         * modules/lstat (Files): Remove lib/lstat.h.
74092         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
74093         (Include): Specify <sys/stat.h> instead of lstat.h.
74094         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
74095         REPLACE_LSTAT.
74096         * NEWS: Mention the change.
74098 2008-10-20  Bruno Haible  <bruno@clisp.org>
74100         * modules/posix_spawn-tests: New file.
74101         * tests/test-posix_spawn3.c: New file.
74103 2008-10-20  Bruno Haible  <bruno@clisp.org>
74105         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
74106         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
74107         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
74108         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
74109         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
74111 2008-10-20  Bruno Haible  <bruno@clisp.org>
74113         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
74114         of posix_spawn on AIX 5.3.
74116 2008-10-20  Bruno Haible  <bruno@clisp.org>
74118         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
74120 2008-10-20  Bruno Haible  <bruno@clisp.org>
74122         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
74123         of AC_LANG_PROGRAM.
74125 2008-10-20  Simon Josefsson  <simon@josefsson.org>
74127         * lib/netdb.in.h: Don't define GNU specific constants until they
74128         are supported or needed.  Reported by Bruno Haible
74129         <bruno@clisp.org>.
74131 2008-10-20  Simon Josefsson  <simon@josefsson.org>
74133         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
74135 2008-10-20  Simon Josefsson  <simon@josefsson.org>
74137         * lib/getaddrinfo.h: Remove file.
74138         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
74139         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
74140         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
74141         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
74142         * modules/netdb: Substitute GNULIB_GETADDRINFO.
74143         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
74144         * tests/test-getaddrinfo.c: Likewise.
74145         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
74146         * NEWS: Mention change.
74148 2008-10-19  Bruno Haible  <bruno@clisp.org>
74150         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
74152 2008-10-19  Bruno Haible  <bruno@clisp.org>
74154         * lib/wait-process.c: Include simply <sys/wait.h>.
74155         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
74156         WIFSTOPPED): Remove fallback definitions.
74157         * modules/wait-process (Depends-on): Add sys_wait.
74159         New module 'sys_wait'.
74160         * modules/sys_wait: New file.
74161         * lib/sys_wait.in.h: New file, partially copied from
74162         lib/wait-process.c.
74163         * m4/sys_wait_h.m4: New file.
74164         * doc/posix-headers/sys_wait.texi: Mention the new module.
74166 2008-10-19  Bruno Haible  <bruno@clisp.org>
74168         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
74170 2008-10-19  Bruno Haible  <bruno@clisp.org>
74172         Assume that waitpid() fills an 'int' status, not a 'union wait'.
74173         * lib/wait-process.c (WAIT_T): Remove type.
74174         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
74175         (wait_subprocess): Update.
74177 2008-10-19  Bruno Haible  <bruno@clisp.org>
74179         New module 'atoll'.
74180         * modules/atoll: New file.
74181         * lib/stdlib.in.h (atoll): New declaration.
74182         * lib/atoll.c: New file, from glibc with modifications.
74183         * m4/atoll.m4: New file.
74184         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
74185         HAVE_ATOLL.
74186         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
74187         * doc/posix-functions/atoll.texi: Mention the new module.
74189 2008-10-19  Bruno Haible  <bruno@clisp.org>
74191         Add strtoull() declaration to <stdlib.h>.
74192         * lib/stdlib.in.h (strtoull): New declaration.
74193         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
74194         Set HAVE_STRTOULL.
74195         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
74196         HAVE_STRTOULL.
74197         * modules/strtoull (Depends-on): Add stdlib.
74198         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
74199         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
74200         HAVE_STRTOULL.
74202 2008-10-19  Bruno Haible  <bruno@clisp.org>
74204         Add strtoll() declaration to <stdlib.h>.
74205         * lib/stdlib.in.h (strtoll): New declaration.
74206         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
74207         Set HAVE_STRTOLL.
74208         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
74209         HAVE_STRTOLL.
74210         * modules/strtoll (Depends-on): Add stdlib.
74211         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
74212         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
74214 2008-10-19  Bruno Haible  <bruno@clisp.org>
74216         * modules/bcopy (Depends-on): Add strings.
74217         (Include): Specify <strings.h>.
74219 2008-10-19  Bruno Haible  <bruno@clisp.org>
74221         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
74223 2008-10-19  Bruno Haible  <bruno@clisp.org>
74225         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
74226         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
74227         mingw.
74229 2008-10-19  Bruno Haible  <bruno@clisp.org>
74231         * lib/atanl.c: Don't include isnanl.h.
74232         * lib/cosl.c: Likewise.
74233         * lib/ldexpl.c: Likewise.
74234         * lib/logl.c: Likewise.
74235         * lib/sinl.c: Likewise.
74236         * lib/sqrtl.c: Likewise.
74237         * lib/tanl.c: Likewise.
74239         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
74240         * lib/isnanf.h: Remove file.
74241         * lib/isnand.h: Remove file.
74242         * lib/isnanl.h: Remove file.
74243         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
74244         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
74245         macros.
74246         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
74247         HAVE_ISNANF, don't define it as a C macro.
74248         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
74249         HAVE_ISNAND, don't define it as a C macro.
74250         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
74251         HAVE_ISNANL, don't define it as a C macro.
74252         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
74253         HAVE_ISNAN[FDL].
74254         * modules/isnanf (Files): Remove lib/isnanf.h.
74255         (Depends-on): Add math.
74256         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
74257         (Include): Specify <math.h> instead of isnanf.h.
74258         * modules/isnand (Files): Remove lib/isnand.h.
74259         (Depends-on): Add math.
74260         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
74261         (Include): Specify <math.h> instead of isnand.h.
74262         * modules/isnanl (Files): Remove lib/isnanl.h.
74263         (Depends-on): Add math.
74264         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
74265         (Include): Specify <math.h> instead of isnanl.h.
74266         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
74267         HAVE_ISNAN[FDL].
74268         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
74269         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
74270         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
74271         * NEWS: Mention the change.
74273 2008-10-18  Bruno Haible  <bruno@clisp.org>
74275         Add getusershell(), setusershell(), endusershell() declarations to
74276         <unistd.h>.
74277         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
74278         declarations.
74279         * lib/getusershell.c: Include unistd.h.
74280         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
74281         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
74282         HAVE_GETUSERSHELL.
74283         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
74284         and HAVE_GETUSERSHELL.
74285         * modules/getusershell (Depends-on): Add unistd, extensions.
74286         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
74287         (Include): Specify <unistd.h>.
74288         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
74289         HAVE_GETUSERSHELL.
74291 2008-10-18  Bruno Haible  <bruno@clisp.org>
74293         Add a getloadavg() declaration to <stdlib.h>.
74294         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
74295         getloadavg declaration.
74296         (getloadavg): New declaration.
74297         * lib/getloadavg.c: Include <stdlib.h> first.
74298         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
74299         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
74300         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
74301         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
74302         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
74303         * modules/getloadavg (Depends-on): Add stdlib, extensions.
74304         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
74305         (Include): Specify <stdlib.h>.
74306         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
74307         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
74309 2008-10-18  Bruno Haible  <bruno@clisp.org>
74311         * lib/dirchownmod.c: Don't include lchmod.h.
74313         Move the lchmod() declaration to <sys/stat.h>.
74314         * lib/lchmod.h: Remove file.
74315         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
74316         (lchmod): New declaration, moved here from lib/lchown.h.
74317         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
74318         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
74319         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
74320         and HAVE_LCHMOD.
74321         * modules/lchmod (Files): Remove lib/lchmod.h.
74322         (Depends-on): Add sys_stat, extensions.
74323         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
74324         (Include): Specify <sys/stat.h> instead of lchmod.h.
74325         * modules/sys_stat (Depends-on): Add link-warning.
74326         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
74327         definition of GL_LINK_WARNING.
74328         * NEWS: Mention the change.
74330 2008-10-18  Bruno Haible  <bruno@clisp.org>
74332         * lib/fchdir.c: Don't include dirfd.h.
74333         * lib/fts.c: Likewise.
74334         * lib/getcwd.c: Likewise.
74335         * lib/glob.c: Likewise.
74337         Move the dirfd() declaration to <dirent.h>.
74338         * lib/dirfd.h: Remove file.
74339         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
74340         (dirfd): New declaration.
74341         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
74342         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
74343         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
74344         HAVE_DECL_DIRFD.
74345         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
74346         HAVE_DECL_DIRFD.
74347         * modules/dirfd (Files): Remove lib/dirfd.h.
74348         (Depends-on): Add dirent, extensions.
74349         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
74350         (Include): Specify <dirent.h> instead of dirfd.h.
74351         * modules/dirent (Depends-on): Add link-warning.
74352         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
74353         definition of GL_LINK_WARNING.
74354         * NEWS: Mention the change.
74356 2008-10-18  Bruno Haible  <bruno@clisp.org>
74358         Move the euidaccess() declaration to <unistd.h>.
74359         * lib/euidaccess.h: Remove file.
74360         * lib/unistd.in.h (euidaccess): New declaration.
74361         * lib/euidaccess.c: Don't include euidaccess.h.
74362         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
74363         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
74364         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
74365         and HAVE_EUIDACCESS.
74366         * modules/euidaccess (Files): Remove lib/euidaccess.h.
74367         (Depends-on): Add unistd.
74368         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
74369         (Include): Specify <unistd.h> instead of euidaccess.h.
74370         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
74371         HAVE_EUIDACCESS.
74372         * NEWS: Mention the change.
74374 2008-10-18  Bruno Haible  <bruno@clisp.org>
74376         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
74378         Move the getdomainname() declaration to <unistd.h>.
74379         * lib/getdomainname.h: Remove file.
74380         * lib/unistd.in.h (getdomainname): New declaration.
74381         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
74382         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
74383         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
74384         HAVE_GETDOMAINNAME.
74385         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
74386         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
74387         * modules/getdomainname (Files): Remove lib/getdomainname.h.
74388         (Depends-on): Add unistd, extensions.
74389         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
74390         (Includes): Specify <unistd.h> instead of getdomainname.h.
74391         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
74392         HAVE_GETDOMAINNAME.
74393         * NEWS: Mention the change.
74395 2008-10-18  Bruno Haible  <bruno@clisp.org>
74397         * modules/dirent: New file.
74398         * m4/dirent_h.m4: New file.
74399         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
74400         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
74401         * modules/fchdir (Files): Remove lib/dirent.in.h.
74402         (Depends-on): Add dirent.
74403         (Makefile.am): Move rules to modules/dirent.
74404         * doc/posix-headers/dirent.texi: Mention the new module.
74406 2008-10-18  Bruno Haible  <bruno@clisp.org>
74408         Avoid -Wunused-parameter warnings in public gnulib header files.
74409         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
74410         macro.
74411         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
74413 2008-10-18  Bruno Haible  <bruno@clisp.org>
74415         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
74416         * doc/glibc-functions/error.texi: Mention the module 'error'.
74417         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
74418         * doc/glibc-functions/getdomainname.texi: Mention the module
74419         'getdomainname'.
74420         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
74421         * doc/glibc-functions/getpagesize.texi: Mention the module
74422         'getpagesize'.
74423         * doc/glibc-functions/getusershell.texi: Mention the module
74424         'getusershell'.
74425         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
74426         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
74427         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
74428         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
74429         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
74430         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
74431         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
74432         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
74433         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
74434         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
74435         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
74436         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
74437         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
74438         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
74440 2008-10-17  Bruno Haible  <bruno@clisp.org>
74442         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
74443         HP-UX and IRIX, use -0.0L.
74444         * tests/test-ceill.c (minus_zero): Likewise.
74445         * tests/test-floorl.c (minus_zero): Likewise.
74446         * tests/test-frexpl.c (minus_zero): Likewise.
74447         * tests/test-isnan.c (minus_zerol): Likewise.
74448         * tests/test-isnanl.h (minus_zero): Likewise.
74449         * tests/test-ldexpl.c (minus_zero): Likewise.
74450         * tests/test-roundl.c (minus_zero): Likewise.
74451         * tests/test-signbit.c (minus_zerol): Likewise.
74452         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
74453         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
74454         * tests/test-truncl.c (minus_zero): Likewise.
74455         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
74456         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
74457         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
74458         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
74460 2008-10-17  Bruno Haible  <bruno@clisp.org>
74462         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
74463         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
74464         that it gets activated only for gcc >= 3.0.
74465         * lib/dirent.in.h: Likewise.
74466         * lib/errno.in.h: Likewise.
74467         * lib/fcntl.in.h: Likewise.
74468         * lib/float.in.h: Likewise.
74469         * lib/iconv.in.h: Likewise.
74470         * lib/inttypes.in.h: Likewise.
74471         * lib/locale.in.h: Likewise.
74472         * lib/math.in.h: Likewise.
74473         * lib/netdb.in.h: Likewise.
74474         * lib/netinet_in.in.h: Likewise.
74475         * lib/search.in.h: Likewise.
74476         * lib/signal.in.h: Likewise.
74477         * lib/spawn.in.h: Likewise.
74478         * lib/stdarg.in.h: Likewise.
74479         * lib/stdint.in.h: Likewise.
74480         * lib/stdio.in.h: Likewise.
74481         * lib/stdlib.in.h: Likewise.
74482         * lib/string.in.h: Likewise.
74483         * lib/strings.in.h: Likewise.
74484         * lib/sys_file.in.h: Likewise.
74485         * lib/sys_ioctl.in.h: Likewise.
74486         * lib/sys_select.in.h: Likewise.
74487         * lib/sys_socket.in.h: Likewise.
74488         * lib/sys_stat.in.h: Likewise.
74489         * lib/sys_time.in.h: Likewise.
74490         * lib/sysexits.in.h: Likewise.
74491         * lib/time.in.h: Likewise.
74492         * lib/unistd.in.h: Likewise.
74493         * lib/wchar.in.h: Likewise.
74494         * lib/wctype.in.h: Likewise.
74495         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
74497 2008-10-17  Jim Meyering  <meyering@redhat.com>
74499         ignore-value: don't depend on inline module
74500         * modules/ignore-value (Depends-on): Remove 'inline'.
74501         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
74502         Suggestion from Bruno Haible.
74504 2008-10-17  Bruno Haible  <bruno@clisp.org>
74506         New implementation of condition variables for Win32.
74507         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
74508         (gl_linked_waitqueue_t): New type.
74509         (gl_cond_t): Use it.
74510         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
74511         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
74512         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
74513         (glthread_cond_init_func, glthread_cond_wait_func,
74514         glthread_cond_timedwait_func, glthread_cond_signal_func,
74515         glthread_cond_broadcast_func, glthread_cond_destroy_func):
74516         Reimplemented on the basis of gl_linked_waitqueue_t.
74517         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
74518         gl_waitqueue_t.
74519         (gl_rwlock_t): Update.
74520         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
74522 2008-10-17  Simon Josefsson  <simon@josefsson.org>
74524         * modules/recvfrom (Depends-on): Add dependency on getpeername.
74525         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
74527 2008-10-17  Jim Meyering  <meyering@redhat.com>
74529         ignore-value: new module
74530         * modules/ignore-value: New file.
74531         * lib/ignore-value.h: New file.
74532         * MODULES.html.sh (Compiler warning management): New section,
74533         just for this module.  More to come.
74535 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
74537         open-safer.c: avoid 'signed and unsigned in conditional...' warning
74538         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
74539         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
74541 2008-10-16  Jim Meyering  <meyering@redhat.com>
74543         openat-die.c: avoid 'no previous prototype' warning
74544         * lib/openat-die.c: Include "openat.h".
74545         Reported by Reuben Thomas <rrt@sc3d.org>.
74547 2008-10-16  Simon Josefsson  <simon@josefsson.org>
74549         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
74550         * lib/netdb.in.h: Fix typo.
74551         Reported by Bruno Haible  <bruno@clisp.org>
74553         * lib/netdb.in.h: Include sys/socket.h for platforms without
74554         netdb.h, to get structures like hostent on MinGW.
74555         * modules/netdb (Depends-on): Add sys_socket.
74557 2008-10-15  Simon Josefsson  <simon@josefsson.org>
74559         * modules/netdb, modules/netdb-tests: New file.
74560         * m4/netdb_h.m4: New file.
74561         * lib/netdb.in.h: Add, currently just an empty file pending
74562         definitions.
74563         * tests/test-netdb.c: New file.
74564         * doc/posix-headers/netdb.texi: Mention that we replace it if
74565         needed.
74566         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
74567         netdb.
74569 2008-10-15  Simon Josefsson  <simon@josefsson.org>
74571         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
74572         with code.
74574 2008-10-13  Bruno Haible  <bruno@clisp.org>
74576         * lib/glthread/cond.c (glthread_cond_wait_func,
74577         glthread_cond_timedwait_func): Add a comment.
74579 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
74581         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
74582         * tests/test-select.c: Likewise,
74584 2008-10-13  Bruno Haible  <bruno@clisp.org>
74586         * lib/glthread/cond.c (glthread_cond_wait_func,
74587         glthread_cond_timedwait_func): Fix variable name.
74588         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
74590 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
74592         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
74593         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
74594         struct sockaddr.sa_len.
74595         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
74597 2008-10-13  Simon Josefsson  <simon@josefsson.org>
74599         * build-aux/pmccabe2html: Add css and css_url parameters.
74601 2008-10-12  Bruno Haible  <bruno@clisp.org>
74603         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
74604         calling aclx_get.
74605         Reported by Rainer Tammer <tammer@tammer.net>.
74607 2008-10-12  Bruno Haible  <bruno@clisp.org>
74609         Use msvcrt aware primitives for creation/termination of Win32 threads.
74610         * lib/glthread/thread.c: Include <process.h>.
74611         (glthread_create_func): Use _beginthreadex instead of CreateThread.
74612         (wrapper_func): Update signature.
74613         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
74615 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
74616             Bruno Haible  <bruno@clisp.org>
74618         Provide a Win32 implementation of the 'cond' module.
74619         * lib/glthread/cond.h [USE_WIN32]: New implementation.
74620         * lib/glthread/cond.c (glthread_cond_init_func,
74621         glthread_cond_wait_func, glthread_cond_timedwait_func,
74622         glthread_cond_signal_func, glthread_cond_broadcast_func,
74623         glthread_cond_destroy_func) [USE_WIN32]: New functions.
74624         * modules/cond (Dependencies): Add gettimeofday.
74626 2008-10-11  Bruno Haible  <bruno@clisp.org>
74628         Make sleep work on older versions of mingw.
74629         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
74630         only whether it exists.
74631         * doc/posix-functions/sleep.texi: Mention the problem with older
74632         versions of mingw.
74634 2008-10-11  Bruno Haible  <bruno@clisp.org>
74636         New module 'shutdown'.
74637         * modules/shutdown: New file.
74638         * lib/sys_socket.in.h (shutdown): New declaration.
74639         * lib/winsock.c (shutdown): New function.
74640         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
74641         GNULIB_SHUTDOWN.
74642         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
74643         * doc/posix-functions/shutdown.texi: Document the new module.
74645 2008-10-11  Jim Meyering  <meyering@redhat.com>
74647         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
74649 2008-10-11  Bruno Haible  <bruno@clisp.org>
74651         New module 'fclose'.
74652         * modules/fclose: New file.
74653         * lib/stdio.in.h (fclose): New declaration.
74654         * lib/fclose.c: New file.
74655         * m4/fclose.m4: New file.
74656         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
74657         REPLACE_FCLOSE.
74658         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
74659         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
74660         REPLACE_FCLOSE.
74661         * modules/close (Depends-on): fclose.
74662         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
74664 2008-10-11  Bruno Haible  <bruno@clisp.org>
74666         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
74667         set errno and don't call _close.
74669 2008-10-10  Bruno Haible  <bruno@clisp.org>
74671         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
74672         ACL, not afterwards. Fixes test failure on Cygwin.
74674 2008-10-09  Ben Pfaff  <blp@gnu.org>
74676         * build-aux/announce-gen: Fix gnulib version related part of usage
74677         message.  Die with a useful error message if no tarballs are
74678         found.
74680 2008-10-10  Jim Meyering  <meyering@redhat.com>
74682         bootstrap: use git's --depth=N option only if it's supported
74683         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
74684         recognize the --depth option.  Reported by Pádraig Brady.
74686 2008-10-09  Bruno Haible  <bruno@clisp.org>
74688         New module 'ioctl'.
74689         * modules/ioctl: New file.
74690         * lib/sys_socket.in.h (ioctl): Remove declaration.
74691         * lib/winsock.c: Include <sys/ioctl.h>.
74692         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
74693         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
74694         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
74695         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
74696         * doc/posix-functions/ioctl.texi: Mention the new module.
74698 2008-10-09  Bruno Haible  <bruno@clisp.org>
74700         New module 'sys_ioctl'.
74701         * lib/sys_ioctl.in.h: New file.
74702         * m4/sys_ioctl_h.m4: New file.
74703         * modules/sys_ioctl: New file.
74704         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
74706 2008-10-09  Bruno Haible  <bruno@clisp.org>
74708         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
74709         * lib/winsock.c: Include <stdarg.h>.
74710         (rpl_ioctl): Change to second argument 'int' and then varargs.
74712 2008-10-09  Bruno Haible  <bruno@clisp.org>
74714         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
74715         when the sys_socket module is present and the system has <winsock2.h>.
74717 2008-10-09  Bruno Haible  <bruno@clisp.org>
74719         * doc/posix-functions/close.texi: Mention module 'close' instead of
74720         module 'sys_socket'.
74722 2008-10-09  Bruno Haible  <bruno@clisp.org>
74724         * doc/glibc-headers/sys_ioctl.texi: New file.
74725         * doc/gnulib.texi: Include it.
74727 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
74728             Bruno Haible  <bruno@clisp.org>
74730         Combine the two replacements of 'close'.
74731         * lib/sys_socket.in.h (close): Define to a reminder to include
74732         <unistd.h>.
74733         (_gl_close_fd_maybe_socket): New declaration.
74734         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
74735         * lib/winsock.c (close): Remove undefinition.
74736         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
74737         needed for the gnulib module 'close'.
74738         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
74739         define to an error symbol or to a warning, if suitable.
74740         * lib/close.c: Include <sys/socket.h>.
74741         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
74742         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
74743         UNISTD_H_HAVE_WINSOCK2_H.
74744         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
74745         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
74746         UNISTD_H_HAVE_WINSOCK2_H.
74747         * modules/sys_socket (Files): Add m4/unistd_h.m4.
74748         (configure.ac): Set a module indicator.
74749         (Makefile.am): Substitute GNULIB_CLOSE.
74750         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
74751         * modules/poll-tests (Depends-on): Add close.
74752         * modules/select-tests (Depends-on): Likewise.
74754 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
74755             Bruno Haible  <bruno@clisp.org>
74757         New module 'close'.
74758         * modules/close: New file.
74759         * lib/unistd.in.h (close): Move declaration out of the
74760         FCHDIR_REPLACEMENT scope.
74761         (_gl_unregister_fd): New declaration.
74762         * lib/close.c: New file.
74763         * lib/fchdir.c (rpl_close): Remove function.
74764         * m4/close.m4: New file.
74765         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
74766         close.
74767         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
74768         REPLACE_CLOSE.
74769         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
74770         REPLACE_CLOSE.
74771         * modules/fchdir (Depends-on): Add close.
74773 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
74774             Bruno Haible  <bruno@clisp.org>
74776         * lib/fcntl.in.h (open): Simplify conditionals.
74777         (_gl_register_fd): New declaration.
74778         * lib/fchdir.c (rpl_open): Remove function.
74779         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
74780         also.
74781         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
74782         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
74783         open.
74785 2008-10-09  Jim Meyering  <meyering@redhat.com>
74787         GNUmakefile: use the more name-space-friendly "_version"
74788         * top/GNUmakefile (_dummy): Update.
74789         (_version): Rename from "version".
74791 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
74792             Bruno Haible  <bruno@clisp.org>
74794         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
74795         rpl_close.
74796         (_gl_register_fd): New function, extracted from rpl_open.
74797         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
74798         (rpl_open, rpl_opendir): Use _gl_register_fd.
74800 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
74802         Fix organization of 'open' replacement.
74803         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
74804         (gl_FUNC_OPEN): Use it.
74805         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
74807 2008-10-08  Bruno Haible  <bruno@clisp.org>
74809         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
74811 2008-10-08  Simon Josefsson  <simon@josefsson.org>
74813         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
74814         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
74815         listen).
74817 2008-10-08  Eric Blake  <ebb9@byu.net>
74819         GNUmakefile: add 'make version' target
74820         * top/GNUmakefile (_curr-ver): Split version update rules...
74821         (version): ...into a target.
74823 2008-10-07  Bruno Haible  <bruno@clisp.org>
74825         Use a more portable replacement expression for -0.0L.
74826         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
74827         instead of -0.0L. Fix m4 quotation.
74829         * tests/test-signbit.c: Include <float.h>.
74830         (minus_zero): New variable.
74831         (test_signbitl): Use minus_zero instead of -zero.
74832         * modules/signbit-tests (Depends-on): Add float.
74834         * tests/test-ceill.c: Include <float.h>.
74835         (zero): Remove variable.
74836         (minus_zero): New variable.
74837         (main): Use minus_zero instead of -zero.
74838         * modules/ceill-tests (Depends-on): Add float.
74840         * tests/test-floorl.c: Include <float.h>.
74841         (zero): Remove variable.
74842         (minus_zero): New variable.
74843         (main): Use minus_zero instead of -zero.
74844         * modules/floorl-tests (Depends-on): Add float.
74846         * tests/test-roundl.c: Include <float.h>.
74847         (zero): Remove variable.
74848         (minus_zero): New variable.
74849         (main): Use minus_zero instead of -zero.
74850         * modules/roundl-tests (Depends-on): Add float.
74852         * tests/test-truncl.c: Include <float.h>.
74853         (zero): Remove variable.
74854         (minus_zero): New variable.
74855         (main): Use minus_zero instead of -zero.
74856         * modules/truncl-tests (Depends-on): Add float.
74858         * tests/test-frexpl.c (zero): Remove variable.
74859         (minus_zero): New variable.
74860         (main): Use minus_zero instead of -zero.
74861         * modules/frexpl-tests (Depends-on): Add float.
74863         * tests/test-isnan.c (zerol): Remove variable.
74864         (minus_zerol): New variable.
74865         (test_long_double): Use minus_zerol instead of -zerol.
74866         * modules/isnan-tests (Depends-on): Add float.
74868         * tests/test-isnanl.h (zero): Remove variable.
74869         (minus_zero): New variable.
74870         (main): Use minus_zero instead of -zero.
74871         * modules/isnanl-nolibm-tests (Depends-on): Add float.
74872         * modules/isnanl-tests (Depends-on): Add float.
74874         * tests/test-ldexpl.c (zero): Remove variable.
74875         (minus_zero): New variable.
74876         (main): Use minus_zero instead of -zero.
74877         * modules/ldexpl-tests (Depends-on): Add float.
74879         * tests/test-snprintf-posix.h (zerol): Remove variable.
74880         (minus_zerol): New variable.
74881         (test_function): Use minus_zerol instead of -zerol.
74882         * modules/snprintf-posix-tests (Depends-on): Add float.
74883         * modules/vsnprintf-posix-tests (Depends-on): Add float.
74885         * tests/test-sprintf-posix.h (zerol): Remove variable.
74886         (minus_zerol): New variable.
74887         (test_function): Use minus_zerol instead of -zerol.
74888         * modules/sprintf-posix-tests (Depends-on): Add float.
74889         * modules/vsprintf-posix-tests (Depends-on): Add float.
74891         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
74892         (minus_zerol): New variable.
74893         (test_function): Use minus_zerol instead of -zerol.
74894         * modules/vasnprintf-posix-tests (Depends-on): Add float.
74896         * tests/test-vasprintf-posix.c (zerol): Remove variable.
74897         (minus_zerol): New variable.
74898         (test_function): Use minus_zerol instead of -zerol.
74899         * modules/vasprintf-posix-tests (Depends-on): Add float.
74901 2008-10-07  Simon Josefsson  <simon@josefsson.org>
74903         * MODULES.html.sh (Support for building documentation): Mention
74904         pmccabe2html.  Sort entries.
74906         Add pmccabe2html module, from gnupdf.
74907         * build-aux/pmccabe.css: New file.
74908         * build-aux/pmccabe2html: New file.
74909         * m4/pmccabe2html.m4: New file.
74910         * modules/pmccabe2html: New file.
74912 2008-10-07  Richard W.M. Jones  <rjones@redhat.com>
74914         flock: new module
74915         * MODULES.html.sh: Add to list of modules.
74916         * lib/flock.c: flock implementation for Windows and Unix systems
74917         which have fcntl.
74918         * doc/glibc-functions/flock.texi: Update documentation.
74919         * lib/sys_file.in.h: <sys/file.h> header file.
74920         * m4/flock.m4: M4 macros.
74921         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
74922         * modules/flock: flock module.
74923         * modules/flock-tests: flock tests module.
74924         * modules/sys_file: sys/file.h module.
74925         * tests/test-flock.c: test suite for flock.
74927 2008-10-06  Jim Meyering  <meyering@redhat.com>
74929         bootstrap: check for LT_INIT more portably still ;-)
74930         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
74931         Spotted by Bruno Haible.
74933 2008-10-06  Eric Blake  <ebb9@byu.net>
74935         test-signbit: avoid tripping Irix cc bug on -0.0L
74936         * tests/test-signbit.c (minus_zerol): Delete, and replace with
74937         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
74938         entire testsuite consistent and avoids an Irix 6.2 bug.
74940 2008-10-05  Bruno Haible  <bruno@clisp.org>
74941             Jim Meyering  <jim@meyering.net>
74943         Add an option for ignoring EPIPE during close_stdout.
74944         * lib/closeout.h: Include <stdbool.h>.
74945         (close_stdout_set_ignore_EPIPE): New declaration.
74946         * lib/closeout.c: Include <stdbool.h>.
74947         (ignore_EPIPE): New variable.
74948         (close_stdout_set_ignore_EPIPE): New function.
74949         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
74950         * lib/close-stream.c (close_stream): Mention the possible EPIPE
74951         failure.
74952         * modules/closeout (Depends-on): Add stdbool.
74954 2008-10-05  Bruno Haible  <bruno@clisp.org>
74956         * modules/accept: New file.
74957         * modules/bind: New file.
74958         * modules/connect: New file.
74959         * modules/getpeername: New file.
74960         * modules/getsockname: New file.
74961         * modules/getsockopt: New file.
74962         * modules/listen: New file.
74963         * modules/recv: New file.
74964         * modules/recvfrom: New file.
74965         * modules/send: New file.
74966         * modules/sendto: New file.
74967         * modules/setsockopt: New file.
74968         * modules/socket: New file.
74969         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
74970         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
74971         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
74972         the particular module is requested. Add a link warning when the
74973         particular module is not requested.
74974         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
74975         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
74976         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
74977         the particular module is requested.
74978         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
74979         gl_SYS_SOCKET_H_DEFAULTS): New macros.
74980         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
74981         * modules/sys_socket (Depends-on): Add link-warning.
74982         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
74983         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
74984         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
74985         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
74986         GL_LINK_WARNING.
74987         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
74988         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
74989         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
74990         * doc/posix-functions/getpeername.texi: Mention the new module
74991         'getpeername'.
74992         * doc/posix-functions/getsockname.texi: Mention the new module
74993         'getsockname'.
74994         * doc/posix-functions/getsockopt.texi: Mention the new module
74995         'getsockopt'.
74996         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
74997         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
74998         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
74999         * doc/posix-functions/send.texi: Mention the new module 'send'.
75000         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
75001         * doc/posix-functions/setsockopt.texi: Mention the new module
75002         'setsockopt'.
75003         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
75004         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
75005         listen, connect, accept.
75006         * modules/select-tests (Depends-on): Likewise.
75008 2008-10-05  Bruno Haible  <bruno@clisp.org>
75010         * lib/winsock.c (strerror): Remove unused #undef.
75011         (rpl_close): Remove unused local variable.
75013         * modules/sys_socket (Depends-on); Add errno.
75015 2008-10-05  Bruno Haible  <bruno@clisp.org>
75017         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
75018         (select): Add a link warning when the 'select' module is not used.
75019         * modules/sys_select (Depends-on): Add link-warning.
75020         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
75021         Suggested by Paolo Bonzini.
75023 2008-10-05  Jim Meyering  <meyering@redhat.com>
75025         bootstrap: check for LT_INIT more portably
75026         * build-aux/bootstrap: Avoid using grep -E, since it's not
75027         portable enough.  Suggestion from Bruno Haible.
75029 2008-10-05  Bruno Haible  <bruno@clisp.org>
75031         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
75032         as being fixed by gnulib.
75034 2008-10-05  Bruno Haible  <bruno@clisp.org>
75036         * modules/select-tests: New file, mostly copied from
75037         modules/sys_select-tests.
75038         * tests/test-select.c: New file, mostly copied from
75039         tests/test-sys_select.c.
75040         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
75041         * modules/sys_select-tests (Depends-on): Remove all dependencies.
75042         (Makefile.am): Remove test_sys_select_LDADD.
75044         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
75045         to an undefined symbol, for an error message.
75046         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
75047         (gl_SYS_SELECT_H_DEFAULTS): New macro.
75048         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
75049         winsock-select.c here.
75050         * modules/sys_select (Files): Remove lib/winsock-select.c.
75051         (Depends-on): Remove alloca.
75052         (Makefile.am): Substitute GNULIB_SELECT.
75053         * modules/select: New file.
75054         * doc/posix-functions/select.texi: Update.
75056 2008-10-05  Bruno Haible  <bruno@clisp.org>
75058         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
75059         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
75060         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
75061         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
75062         getdtablesize.
75063         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
75064         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
75066 2008-10-05  Bruno Haible  <bruno@clisp.org>
75068         * modules/getdtablesize-tests: New file.
75069         * tests/test-getdtablesize.c: New file.
75071         New module 'getdtablesize'.
75072         * lib/unistd.in.h (getdtablesize): New declaration.
75073         * lib/getdtablesize.c: New file.
75074         * m4/getdtablesize.m4: New file.
75075         * modules/getdtablesize: New file.
75076         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
75077         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
75078         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
75079         HAVE_GETDTABLESIZE.
75080         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
75082 2008-10-05  Bruno Haible  <bruno@clisp.org>
75084         * modules/sched (Makefile.am): Fix typo.
75085         Reported by Simon Josefsson.
75087 2008-10-05  Jim Meyering  <meyering@redhat.com>
75089         bootstrap: check for LT_INIT, too
75090         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
75091         are deprecated.  Suggestion from Ralf Wildenhues.
75093 2008-10-05  Bruno Haible  <bruno@clisp.org>
75095         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
75096         overriding them by ours.
75097         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
75099 2008-10-05  Jim Meyering  <meyering@redhat.com>
75101         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
75102         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
75103         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
75105 2008-10-04  Bruno Haible  <bruno@clisp.org>
75107         * modules/dup2 (License): Change to LGPLv2+.
75108         * modules/sleep (License): Likewise.
75109         * modules/perror (License): Likewise.
75110         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
75111         Blake.
75112         * modules/signal (License): Likewise.
75113         * modules/sigprocmask (License): Likewise.
75114         * modules/raise (License): Change to LGPLv2+, with approval by Jim
75115         Meyering.
75117 2008-10-04  Bruno Haible  <bruno@clisp.org>
75119         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
75120         Reported by Rainer Tammer <tammer@tammer.net>.
75122 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
75123             Bruno Haible  <bruno@clisp.org>
75125         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
75126         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
75127         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
75129 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
75131         filevercmp: new module
75132         * lib/filevercmp.h: New function filevercmp comparing version strings.
75133         * lib/filevercmp.c: Implementation of filevercmp function.
75134         * modules/filevercmp: Module metadata.
75135         * tests/test-filevercmp.c: Unit test for new module.
75136         * modules/filevercmp-tests: Unit test metadata.
75137         * MODULES.html.sh: Add filevercmp module.
75139 2008-10-03  Bruno Haible  <bruno@clisp.org>
75141         * lib/c-ctype.h: Add comment.
75142         Reported by Jim Meyering.
75144 2008-10-02  Bruno Haible  <bruno@clisp.org>
75146         * modules/posix_spawn-internal (Depends-on): Add 'open'.
75148 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
75150         * build-aux/bootstrap: Allow renaming bootstrap, and change the
75151         name of bootstrap.conf accordingly.
75153 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
75155         * build-aux/bootstrap: Install git-merge-changelog configuration
75156         items into .gitconfig if needed.
75158 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
75160         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
75161         git repository, and initialize/update it accordingly.
75163 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
75165         * modules/fsync-tests: New file.
75166         * tests/test-fsync.c: New file.
75168         New module 'fsync'.
75169         * lib/fsync.c: New file.
75170         * m4/fsync.m4: New file.
75171         * modules/fsync: New file.
75172         * lib/unistd.in.h (fsync): New declaration.
75173         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
75174         GNULIB_FSYNC and HAVE_FSYNC.
75175         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
75176         * MODULES.html.sh (posix_functions): Add fsync.
75177         * doc/posix-functions/fsync.texi: Mention the new module.
75179 2008-10-02  Jim Meyering  <meyering@redhat.com>
75181         fts.c: sync with similar code from coreutils' remove.c
75182         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
75183         Guard also with "#if defined __linux__", since for now at least,
75184         this code is Linux-kernel-specific.
75186 2008-10-02  Jim Meyering  <meyering@redhat.com>
75188         fts: bug fixes
75189         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
75190         Include <sys/vfs.h>, not <sys/statfs.h>.
75192         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
75193         Include <sys/vfs.h>, not <sys/statfs.h>.
75195 2008-10-01  Bruno Haible  <bruno@clisp.org>
75197         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
75198         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
75199         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
75200         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
75201         * doc/posix-functions/posix_spawnp.texi: Likewise.
75202         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
75203         whether posix_spawn actually works.
75204         * m4/pipe.m4 (gl_PIPE): Likewise.
75205         * modules/execute (Files): Add m4/posix_spawn.m4.
75206         * modules/pipe (Files): Add m4/posix_spawn.m4.
75207         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
75209 2008-10-01  Jim Meyering  <meyering@redhat.com>
75211         remove trailing spaces
75212         * NEWS: Likewise.
75213         * lib/poll.c (poll): Likewise.
75214         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
75215         * lib/winsock.c (rpl_close): Likewise.
75216         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
75217         * modules/yield: Likewise.
75218         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
75219         * tests/test-sys_select.c (connect_to_socket): Likewise.
75221         fts.c: adjust a new interface to be more generally useful
75222         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
75223         (fts_build): Adjust caller.
75225 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
75227         * modules/cond-tests: New file.
75228         * tests/test-cond.c: New file.
75230 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
75231             Bruno Haible  <bruno@clisp.org>
75233         * modules/cond (Dependencies): Add errno, time.
75234         * lib/glthread/cond.h: Include <time.h>.
75235         (gl_cond_define, gl_cond_define_initialized): Use the same definition
75236         across platforms.
75238 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
75239             Bruno Haible  <bruno@clisp.org>
75241         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
75243 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
75244             Bruno Haible  <bruno@clisp.org>
75246         * modules/tls-tests (Depends-on): Add thread, yield.
75247         (configure.ac): Remove all checks.
75248         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
75249         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
75250         gl_thread_self): Remove definitions. Include glthread/thread.h and
75251         glthread/yield.h instead.
75252         (test_tls): Pass an additional NULL argument to gl_thread_join.
75254 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
75255             Bruno Haible  <bruno@clisp.org>
75257         * modules/lock-tests (Depends-on): Add thread, yield.
75258         (configure.ac): Remove all checks.
75259         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
75260         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
75261         gl_thread_self): Remove definitions. Include glthread/thread.h and
75262         glthread/yield.h instead.
75263         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
75264         additional NULL argument to gl_thread_join.
75266 2008-09-30  Bruno Haible  <bruno@clisp.org>
75268         Fix the Win32 implementation of the 'thread' module.
75269         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
75270         pointer type.
75271         (gl_thread_self): Invoke gl_thread_self_func.
75272         (gl_thread_self_func): New declaration.
75273         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
75274         (do_init_self_key, init_self_key): New functions.
75275         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
75276         Remove some fields.
75277         (running_threads, running_lock): Remove variables.
75278         (get_current_thread_handle): New function.
75279         (gl_thread_self_func, wrapper_func, glthread_create_func,
75280         glthread_join_func, gl_thread_exit_func): Largely rewritten and
75281         simplified.
75283 2008-09-30  Bruno Haible  <bruno@clisp.org>
75285         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
75286         files.
75288 2008-09-30  Jim Meyering  <meyering@redhat.com>
75290         fts.m4: correct the test for statfs.f_type
75291         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
75292         when checking for statfs.f_type.
75294 2008-09-15  Simon Josefsson  <simon@josefsson.org>
75296         tests: avoid some compiler warnings
75297         * tests/test-memchr.c (main): Pass NULL indirectly.
75298         * tests/test-getdate.c (main): Remove unused variable 'ret'.
75300 2008-09-29  Ondřej Vašík  <ovasik@redhat.com>
75302         getdate.y: disallow countable dayshifts like "4 yesterday ago"
75303         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
75304         exactly specified dayshifts.
75305         (dayshift): New rule.
75306         (rel): Add dayshift.
75307         (relative_time_table) [tomorrow, yesterday, today, now]:
75308         Use tDAY_SHIFT in place of tDAY_UNIT.
75309         * tests/test-getdate.c: Add tests for now-disallowed countable
75310         dayshifts, e.g., "4 yesterday ago".
75312 2008-09-29  Bruno Haible  <bruno@clisp.org>
75314         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
75315         * tests/test-posix_spawn1.in.sh: Renamed from
75316         tests/test-posix_spawn.in.sh.
75317         * tests/test-posix_spawn2.c: New file.
75318         * tests/test-posix_spawn2.in.sh: New file.
75319         * modules/posix_spawnp-tests (Files): Update.
75320         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
75322 2008-09-29  Bruno Haible  <bruno@clisp.org>
75324         Propagate effects of putenv/setenv/unsetenv to child processes.
75325         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
75326         * lib/pipe.c (create_pipe): Likewise.
75328 2008-09-29  Bruno Haible  <bruno@clisp.org>
75330         Enable use of shell scripts as executables in mingw.
75331         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
75332         run the program as a shell script.
75333         * lib/pipe.c (create_pipe): Likewise.
75334         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
75335         resulting array.
75337 2008-09-29  Eric Blake  <ebb9@byu.net>
75339         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
75341 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
75343         * doc/posix-functions/accept.texi: Update mingw problems.
75344         * doc/posix-functions/bind.texi: Update mingw problems.
75345         * doc/posix-functions/close.texi: Update mingw problems.
75346         * doc/posix-functions/connect.texi: Update mingw problems.
75347         * doc/posix-functions/getpeername.texi: Update mingw problems.
75348         * doc/posix-functions/getsockname.texi: Update mingw problems.
75349         * doc/posix-functions/getsockopt.texi: Update mingw problems.
75350         * doc/posix-functions/ioctl.texi: Update mingw problems.
75351         * doc/posix-functions/listen.texi: Update mingw problems.
75352         * doc/posix-functions/recv.texi: Update mingw problems.
75353         * doc/posix-functions/recvfrom.texi: Update mingw problems.
75354         * doc/posix-functions/select.texi: Update mingw problems.
75355         * doc/posix-functions/send.texi: Update mingw problems.
75356         * doc/posix-functions/sendto.texi: Update mingw problems.
75357         * doc/posix-functions/setsockopt.texi: Update mingw problems.
75358         * doc/posix-functions/socket.texi: Update mingw problems.
75360 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
75361             Bruno Haible  <bruno@clisp.org>
75363         * lib/sys_select.in.h: Include sys/time.h.
75364         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
75365         * modules/sys_select: Depend on sys_time.
75366         * tests/test-sys_select.c: Test that sys/select.h defines struct
75367         timeval fully.
75369 2008-09-29  Bruno Haible  <bruno@clisp.org>
75371         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
75372         * lib/sys_select.in.h: Likewise.
75374 2008-09-29  Bruno Haible  <bruno@clisp.org>
75376         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
75378 2008-09-29  Bruno Haible  <bruno@clisp.org>
75380         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
75381         Set LIBSOCKET instead of augmenting LIBS.
75382         * modules/sockets (Link): New section.
75383         * modules/sockets-tests (test_sockets_LDADD): New variable.
75384         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
75385         * modules/poll-tests (test_poll_LDADD): New variable.
75386         * NEWS: Document the change.
75388 2008-09-29  Bruno Haible  <bruno@clisp.org>
75390         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
75391         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
75392         ARPA_INET_H directly.
75393         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
75395 2008-09-28  Bruno Haible  <bruno@clisp.org>
75397         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
75398         from gl_HEADER_SYS_SOCKET.
75399         (gl_HEADER_SYS_SOCKET): Invoke it.
75400         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
75402 2008-09-28  Bruno Haible  <bruno@clisp.org>
75404         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
75405         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
75406         Needed on OSF/1 4.0.
75408 2008-09-28  Bruno Haible  <bruno@clisp.org>
75410         Override open more carefully.
75411         * lib/open.c (orig_open): New function.
75412         (rpl_open): Use orig_open instead of open.
75413         * lib/fcntl.in.h: Add special invocation convention.
75414         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
75415         (gl_FUNC_OPEN): Invoke it.
75417         Override freopen more carefully.
75418         * lib/freopen.c (orig_freopen): New function.
75419         (rpl_freopen): Use orig_freopen instead of freopen.
75420         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
75421         (gl_FUNC_FREOPEN): Invoke it.
75423         Override fopen more carefully.
75424         * lib/fopen.c (orig_fopen): New function.
75425         (rpl_fopen): Use orig_fopen instead of fopen.
75426         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
75427         (gl_FUNC_FOPEN): Invoke it.
75428         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
75430 2008-09-28  Bruno Haible  <bruno@clisp.org>
75432         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
75433         SIGPIPE.
75435 2008-09-28  Bruno Haible  <bruno@clisp.org>
75437         * tests/test-sigaction.c (handler, main): Disable the check whether
75438         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
75439         glibc systems with LinuxThreads.
75441 2008-09-28  Bruno Haible  <bruno@clisp.org>
75443         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
75445         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
75446         with AIX xlc.
75447         * lib/fcntl.in.h (open): Likewise.
75448         Reported by Rainer Tammer <tammer@tammer.net>.
75450 2008-09-28  Bruno Haible  <bruno@clisp.org>
75452         * modules/posix_spawnp-tests: New file.
75453         * tests/test-posix_spawn.c: New file.
75454         * tests/test-posix_spawn.in.sh: New file.
75456         New module 'posix_spawnp'.
75457         * modules/posix_spawnp: New file.
75458         * lib/spawnp.c: New file, from GNU libc with modifications.
75459         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
75461         New module 'posix_spawn'.
75462         * modules/posix_spawn: New file.
75463         * lib/spawn.c: New file, from GNU libc with modifications.
75464         * doc/posix-functions/posix_spawn.texi: Mention the new module.
75466         New module 'posix_spawnattr_destroy'.
75467         * modules/posix_spawnattr_destroy: New file.
75468         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
75469         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
75470         module.
75472         New module 'posix_spawnattr_setsigmask'.
75473         * modules/posix_spawnattr_setsigmask: New file.
75474         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
75475         modifications.
75476         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
75477         new module.
75479         New module 'posix_spawnattr_getsigmask'.
75480         * modules/posix_spawnattr_getsigmask: New file.
75481         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
75482         modifications.
75483         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
75484         new module.
75486         New module 'posix_spawnattr_setsigdefault'.
75487         * modules/posix_spawnattr_setsigdefault: New file.
75488         * lib/spawnattr_setdefault.c: New file, from GNU libc with
75489         modifications.
75490         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
75491         new module.
75493         New module 'posix_spawnattr_getsigdefault'.
75494         * modules/posix_spawnattr_getsigdefault: New file.
75495         * lib/spawnattr_getdefault.c: New file, from GNU libc with
75496         modifications.
75497         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
75498         new module.
75500         New module 'posix_spawnattr_setschedpolicy'.
75501         * modules/posix_spawnattr_setschedpolicy: New file.
75502         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
75503         modifications.
75504         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
75505         new module.
75507         New module 'posix_spawnattr_getschedpolicy'.
75508         * modules/posix_spawnattr_getschedpolicy: New file.
75509         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
75510         modifications.
75511         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
75512         new module.
75514         New module 'posix_spawnattr_setschedparam'.
75515         * modules/posix_spawnattr_setschedparam: New file.
75516         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
75517         modifications.
75518         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
75519         new module.
75521         New module 'posix_spawnattr_getschedparam'.
75522         * modules/posix_spawnattr_getschedparam: New file.
75523         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
75524         modifications.
75525         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
75526         new module.
75528         New module 'posix_spawnattr_setpgroup'.
75529         * modules/posix_spawnattr_setpgroup: New file.
75530         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
75531         modifications.
75532         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
75533         module.
75535         New module 'posix_spawnattr_getpgroup'.
75536         * modules/posix_spawnattr_getpgroup: New file.
75537         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
75538         modifications.
75539         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
75540         module.
75542         New module 'posix_spawnattr_setflags'.
75543         * modules/posix_spawnattr_setflags: New file.
75544         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
75545         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
75546         module.
75548         New module 'posix_spawnattr_getflags'.
75549         * modules/posix_spawnattr_getflags: New file.
75550         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
75551         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
75552         module.
75554         New module 'posix_spawnattr_init'.
75555         * modules/posix_spawnattr_init: New file.
75556         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
75557         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
75558         module.
75560         New module 'posix_spawn_file_actions_destroy'.
75561         * modules/posix_spawn_file_actions_destroy: New file.
75562         * lib/spawn_faction_destroy.c: New file, from GNU libc with
75563         modifications.
75564         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
75565         the new module.
75567         New module 'posix_spawn_file_actions_addopen'.
75568         * modules/posix_spawn_file_actions_addopen: New file.
75569         * lib/spawn_faction_addopen.c: New file, from GNU libc with
75570         modifications.
75571         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
75572         the new module.
75574         New module 'posix_spawn_file_actions_adddup2'.
75575         * modules/posix_spawn_file_actions_adddup2: New file.
75576         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
75577         modifications.
75578         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
75579         the new module.
75581         New module 'posix_spawn_file_actions_addclose'.
75582         * modules/posix_spawn_file_actions_addclose: New file.
75583         * lib/spawn_faction_addclose.c: New file, from GNU libc with
75584         modifications.
75585         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
75586         the new module.
75588         New module 'posix_spawn_file_actions_init'.
75589         * modules/posix_spawn_file_actions_init: New file.
75590         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
75591         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
75592         new module.
75594         New module 'posix_spawn-internal'.
75595         * modules/posix_spawn-internal: New file.
75596         * lib/spawn_int.h: New file, from GNU libc with modifications.
75597         * lib/spawni.c: New file, from GNU libc with modifications.
75598         * m4/posix_spawn.m4: New file.
75600         New module 'spawn'.
75601         * modules/spawn: New file.
75602         * lib/spawn.in.h: New file, from GNU libc with modifications.
75603         * m4/spawn_h.m4: New file.
75604         * doc/posix-headers/spawn.texi: Mention the new module.
75606 2008-09-28  Bruno Haible  <bruno@clisp.org>
75608         * modules/sched-tests: New file.
75609         * tests/test-sched.c: New file.
75611         New module 'sched'.
75612         * modules/sched: New file.
75613         * lib/sched.in.h: New file.
75614         * m4/sched_h.m4: New file.
75615         * doc/posix-headers/sched.texi: Mention the new module.
75617 2008-09-27  Eric Blake  <ebb9@byu.net>
75619         Fix previous patch, and tweak references to $0.
75620         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
75621         (func_version, func_gnulib_dir): Don't call this program
75622         gnulib-tool.
75623         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
75624         with using $0 in function.
75625         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
75626         (func_fatal_error): Reuse the name the user invoked us with.
75628 2008-09-27  Bruno Haible  <bruno@clisp.org>
75630         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
75631         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
75632         (gl_ICONV_H): Not here.
75633         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
75634         instead of assigning ICONV_H directly.
75636         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
75637         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
75638         WCHAR_H directly.
75640 2008-09-27  Bruno Haible  <bruno@clisp.org>
75642         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
75643         * modules/arpa_inet (Depends-on): Add link-warning.
75644         (Makefile.am): Insert the definition of GL_LINK-WARNING.
75645         * modules/unistd (Makefile.am): Likewise.
75647 2008-09-26  Bruno Haible  <bruno@clisp.org>
75649         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
75650         variables.
75651         (func_version): Essentially copied from gnulib-tool.
75652         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
75653         func_readlink): Copied from gnulib-tool.
75655 2008-09-26  Bruno Haible  <bruno@clisp.org>
75657         * gnulib-tool (func_version): Change directory to $gnulib_dir before
75658         invoking git-version-gen.
75660 2008-09-26  Bruno Haible  <bruno@clisp.org>
75662         * posix-modules: Update to directory names changed on 2008-01-19.
75663         Remove commas in output before splitting into words. No more need to
75664         avoid 'ftruncate' since 2007-02-19.
75666 2008-09-26  Bruno Haible  <bruno@clisp.org>
75668         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
75670 2008-09-26  Bruno Haible  <bruno@clisp.org>
75672         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
75673         * modules/fwriteerror (Depends-on): Add errno.
75675 2008-09-26  Bruno Haible  <bruno@clisp.org>
75677         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
75678         * tests/test-vc-list-files-cvs.sh: Likewise.
75680 2008-09-26  Bruno Haible  <bruno@clisp.org>
75682         * doc/posix-headers/sys_resource.texi: Reorder items.
75684 2008-09-26  Jim Meyering  <meyering@redhat.com>
75686         fts: tweak inode comparison function
75687         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
75688         inode numbers, as documented.
75690         fts: sort dirent entries on inode number before traversing
75691         This avoids a quadratic, seek-related performance penalty when
75692         operating on a directory containing many entries (measurable at 10k;
75693         3.5 hours at 2 million entries with a cold cache) on certain types
75694         of file systems, including ext3 and ext4, but not tmpfs.
75695         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
75696         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
75697         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
75698         (fs_handles_readdir_ordered_dirents_efficiently): New function.
75699         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
75700         (fts_build): Set the stat.st_ino member from D_INO.
75701         If it is likely to be useful, sort dirent entries on inode number.
75703         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
75704         and the struct statfs.f_type member.
75705         * modules/fts (Depends-on): Add d-ino.
75707 2008-09-26  Bruno Haible  <bruno@clisp.org>
75709         * modules/sigpipe-die (Depends-on): Add sigpipe.
75711         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
75712         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
75713         and GNULIB_STDIO_H_SIGPIPE are set.
75714         * lib/stdio-write.c: New file.
75715         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
75716         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
75717         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
75718         REPLACE_STDIO_WRITE_FUNCS.
75719         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
75720         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
75721         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
75722         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
75723         * modules/stdio (Files): Add lib/stdio-write.c.
75724         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
75725         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
75726         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
75727         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
75728         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
75729         REPLACE_FPRINTF_POSIX.
75730         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
75731         REPLACE_PRINTF_POSIX.
75732         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
75733         REPLACE_VFPRINTF_POSIX.
75734         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
75735         REPLACE_VPRINTF_POSIX.
75736         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
75737         SIGPIPE issue.
75738         * doc/posix-functions/fputc.texi: Likewise.
75739         * doc/posix-functions/fputs.texi: Likewise.
75740         * doc/posix-functions/fwrite.texi: Likewise.
75741         * doc/posix-functions/printf.texi: Likewise.
75742         * doc/posix-functions/putc.texi: Likewise.
75743         * doc/posix-functions/putchar.texi: Likewise.
75744         * doc/posix-functions/puts.texi: Likewise.
75745         * doc/posix-functions/vfprintf.texi: Likewise.
75746         * doc/posix-functions/vprintf.texi: Likewise.
75748         * modules/safe-write (Depends-on): Add write.
75750         * modules/sigpipe-tests: New file.
75751         * tests/test-sigpipe.c: New file.
75752         * tests/test-sigpipe.sh: New file.
75754         * modules/write: New file.
75755         * lib/unistd.in.h: Include <sys/types.h>.
75756         (write): New declaration.
75757         * lib/write.c: New file.
75758         * m4/write.m4: New file.
75759         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
75760         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
75761         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
75762         GNULIB_WRITE, REPLACE_WRITE.
75763         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
75764         and the SIGPIPE issue.
75766         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
75767         (raise): New declaration.
75768         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
75769         (ext_signal): New function.
75770         (rpl_raise): New function.
75771         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
75772         GNULIB_SIGNAL_H_SIGPIPE.
75773         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
75774         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
75776         * modules/sigpipe: New file.
75777         * m4/sigpipe.m4: New file.
75779 2008-09-25  Derek Price  <derek@ximbiot.com>
75780             Bruno Haible  <bruno@clisp.org>
75782         * gnulib-tool (func_import): Report all license incompatibilities, not
75783         just the first one.
75785 2008-09-25  Bruno Haible  <bruno@clisp.org>
75787         * gnulib-tool (func_import): When computing the edits, consider not
75788         only the Makefile.ams that exist but also those that will be generated.
75790 2008-09-25  Simon Josefsson  <simon@josefsson.org>
75792         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
75793         fixes gnulib-tool --test warning about duplicate dependency.
75795 2008-09-25  Bruno Haible  <bruno@clisp.org>
75797         * gnulib-tool: Don't ask the user to perform edits in the generated
75798         Makefile.ams.
75799         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
75800         apply to the Makefile.am being generated.
75801         (func_emit_tests_Makefile_am): Execute edits that apply to the
75802         Makefile.am being generated.
75803         (func_import): Setup list of Makefile.am edits before emitting the
75804         Makefile.ams, not at the end.
75805         (func_create_testdir): Update.
75806         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
75808 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
75810         * gnulib-tool (func_import): Store the --tests-base option in the
75811         comment in gnulib-cache.m4.
75813 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
75815         * NEWS: Document increased portability that sys_select now provides.
75817         * lib/sys_select.in.h: Install select wrapper.
75818         * lib/sys_socket.in.h: Use more descriptive name when there is no
75819         select wrapper.
75820         * lib/winsock-select.c: New.
75821         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
75822         Require gl_HEADER_SYS_SOCKET.
75823         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
75824         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
75825         * tests/test-sys_select.c: Add functional tests.
75827 2008-09-24  Eric Blake  <ebb9@byu.net>
75829         open, fopen: close fd leak in last patch
75830         * lib/open.c (rpl_open): Close fd before returning error.
75831         * lib/fopen.c (rpl_fopen): Close fd before returning error.
75832         * doc/posix-functions/open.texi (open): Document that Irix also
75833         has the bug.
75834         * doc/posix-functions/fopen.texi (fopen): Likewise.
75835         Reported by Paolo Bonzini.
75837 2008-09-24  Bruno Haible  <bruno@clisp.org>
75839         Ensure that a filename ending in a slash cannot be used to access a
75840         non-directory.
75841         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
75842         to check whether it's really a directory.
75843         * lib/fopen.c: Include fcntl.h, unistd.h.
75844         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
75845         and fdopen().
75846         * modules/fopen (Depends-on): Add unistd.
75847         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
75848         * tests/test-fopen.c (main): Likewise.
75849         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
75850         * doc/posix-functions/fopen.texi: Likewise.
75851         Reported by Eric Blake.
75853 2008-09-23  Eric Blake  <ebb9@byu.net>
75855         c-stack: avoid compiler optimizations when provoking overflow
75856         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
75857         recursion harder to optimize, to ensure a stack overflow occurs.
75858         * tests/test-c-stack.c (recurse): Likewise.
75859         Borrowed from libsigsegv.
75861         c-stack: work around Irix sigaltstack bug
75862         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
75863         whether sigaltstack uses wrong end of stack_t (copied in part from
75864         libsigsegv).
75865         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
75866         Irix bug, without requiring an over-allocation.
75867         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
75868         bug.
75870         fopen: document mingw bug on directories
75871         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
75872         not allowing a stream visiting a directory, even though reading
75873         from such a stream is not portable.
75875 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
75877         * lib/poll.c: Rewrite.
75878         * modules/poll: Depend on alloca.
75880 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
75882         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
75883         instead define prototypes for a full set of wrappers.  Ensure
75884         that Cygwin does not use the compatibility code, which is only
75885         for MinGW.
75886         * lib/winsock.c: New.
75887         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
75888         * modules/sys_socket: Add lib/winsock.c.
75890         * modules/poll-tests: Add errno and perror.
75891         * tests/test-poll.c: Use ioctl, not ioctlsocket.
75893 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
75895         * tests/test-poll.c: Downgrade minimum needed Winsock version.
75897 2008-09-23  Bruno Haible  <bruno@clisp.org>
75899         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
75900         * doc/glibc-functions/*: Likewise.
75902 2008-09-23  Simon Josefsson  <simon@josefsson.org>
75904         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
75905         success.
75907 2008-09-22  Eric Blake  <ebb9@byu.net>
75908             Bruno Haible  <bruno@clisp.org>
75910         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
75911         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
75912         supply %A but mishandle pseudo-NaN.
75913         Reported by Simon Josefsson.
75915 2008-09-21  Bruno Haible  <bruno@clisp.org>
75917         * tests/test-lock.c (main): Tweak skip message.
75918         * tests/test-tls.c (main): Likewise.
75920 2008-09-21  Bruno Haible  <bruno@clisp.org>
75922         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
75923         whether 'struct sigaction' has sa_sigaction here...
75924         (gl_PREREQ_SIG_HANDLER_H): ... not here.
75925         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
75927 2008-09-21  Bruno Haible  <bruno@clisp.org>
75929         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
75930         section.
75931         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
75932         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
75933         the new section.
75934         (Support for obsolete systems lacking POSIX:2001): New section.
75935         (String handling <string.h>): Move strdup to the new section.
75936         Suggested by Simon Josefsson and Paolo Bonzini.
75938 2008-09-21  Bruno Haible  <bruno@clisp.org>
75940         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
75941         exponents in %e and %g results on 'long double'. Needed for mingw's
75942         improved *printf functions.
75943         * tests/test-vasprintf-posix.c (test_function): Likewise.
75944         * tests/test-snprintf-posix.h (test_function): Likewise.
75945         * tests/test-sprintf-posix.h (test_function): Likewise.
75946         Reported by Eric Blake.
75948 2008-09-21  Bruno Haible  <bruno@clisp.org>
75950         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
75951         * tests/test-sprintf-posix.h (test_function): Likewise.
75953 2008-09-21  Bruno Haible  <bruno@clisp.org>
75955         * modules/getpass (Depends-on): Add strdup-posix.
75957         New module 'strdup-posix'.
75958         * modules/strdup-posix: New file.
75959         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
75960         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
75961         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
75962         REPLACE_STRDUP.
75963         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
75964         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
75965         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
75966         strdup-posix.
75968         * modules/strdup (Depends-on): Remove malloc-posix.
75970 2008-09-20  Bruno Haible  <bruno@clisp.org>
75972         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
75973         Wildenhues.
75975 2008-09-20  Bruno Haible  <bruno@clisp.org>
75977         Ensure that wint_t gets defined on IRIX 5.3.
75978         * lib/wchar.in.h (wint_t): Define if not defined by the system.
75979         * lib/wctype.in.h (wint_t): Likewise.
75980         (__wctype_wint_t): Remove type.
75981         (isw*): Use wint_t instead of __wctype_wint_t.
75982         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
75983         * modules/wchar (Files): Add m4/wint_t.m4.
75984         (Makefile.am): Substitute HAVE_WINT_T.
75985         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
75986         * tests/test-wctype.c: Check that wint_t is defined.
75987         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
75988         * doc/posix-headers/wctype.texi: Likewise.
75989         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
75991 2008-09-18  Bruno Haible  <bruno@clisp.org>
75993         * gnulib-tool (func_exit): Update comment.
75995 2008-09-18  Simon Josefsson  <simon@josefsson.org>
75997         * modules/getaddrinfo (Depends-on): Remove strdup, this module
75998         assumes strdup exists and does not depend on strdup to return
75999         ENOMEM on out of memory conditions.
76001 2008-09-18  Bruno Haible  <bruno@clisp.org>
76003         * lib/vasnprintf.c (VASNPRINTF): When printing ±0.0L in
76004         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
76005         digits for the exponent.
76007 2008-09-18  Jim Meyering  <meyering@redhat.com>
76008             Bruno Haible  <bruno@clisp.org>
76010         * lib/vasnprintf.c (decimal_point_char): Define also if
76011         NEED_PRINTF_INFINITE_LONG_DOUBLE.
76013 2008-09-16  Bruno Haible  <bruno@clisp.org>
76014         and Eric Blake  <ebb9@byu.net>
76016         vasnprintf: support Irix 5.3
76017         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
76018         that mishandle long double infinity.
76019         Reported by Tom G. Christensen.
76021 2008-09-16  Bruno Haible  <bruno@clisp.org>
76023         * doc/glibc-functions/scandir.texi: Mention the function is missing on
76024         Solaris 9.
76025         * doc/glibc-functions/alphasort.texi: Likewise.
76026         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
76028 2008-09-16  Jim Meyering  <meyering@redhat.com>
76030         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
76031         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
76032         a umask modification leak out of a subshell.  Otherwise, the
76033         opensolaris /bin/sh would be accepted and thus cause unwarranted
76034         failures in the coreutils test suite.
76036 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
76038         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
76039         to succeed.
76041 2008-09-16  Jim Meyering  <meyering@redhat.com>
76043         avoid spurious test failure when library is built without ACL support
76044         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
76045         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
76046         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
76047         * tests/test-copy-acl.sh: Likewise.
76049 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76051         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
76052         based on character occurrence counts.
76054 2008-09-15  Eric Blake  <ebb9@byu.net>
76056         tests: avoid some compiler warnings
76057         * tests/test-memchr.c (main): Pass NULL indirectly.
76058         * tests/test-closein.c (main): Avoid unused variable.
76060 2008-09-15  Bruno Haible  <bruno@clisp.org>
76062         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
76063         are missing on OpenBSD 4.0 individually.
76064         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
76066 2008-09-15  Bruno Haible  <bruno@clisp.org>
76068         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
76069         * doc/posix-functions/strerror.texi: Mention also Cygwin.
76070         * doc/posix-functions/perror.texi: Likewise.
76071         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
76072         is missing.
76073         Reported by Eric Blake.
76075         * lib/errno.in.h: Use replacement values >= 2000.
76076         Reported by Eric Blake.
76078 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76080         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
76081         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
76082         limit.
76083         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
76084         compareseq was aborted.
76086 2008-09-14  Bruno Haible  <bruno@clisp.org>
76088         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
76089         yvec_edit_count.
76090         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
76091         (fstrcmp_bounded): Simplify result computation accordingly.
76093 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76095         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
76096         (fstrcmp): Define in terms of fstrcmp_bounded.
76097         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
76098         lower_bound argument.
76099         Return quickly if the result is certainly < lower_bound.
76100         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
76102 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76104         * lib/diffseq.h (EARLY_ABORT): New macro.
76105         (compareseq): Change return type to bool. Return true when EARLY_ABORT
76106         evaluates to true.
76108 2008-09-14  Bruno Haible  <bruno@clisp.org>
76110         * modules/perror-tests: New file.
76111         * tests/test-perror.sh: New file.
76112         * tests/test-perror.c: New file.
76114         New module 'perror'.
76115         * lib/stdio.in.h (perror): New declaration.
76116         * lib/perror.c: New file.
76117         * m4/perror.m4: New file.
76118         * modules/perror: New file.
76119         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
76120         * doc/posix-functions/perror.texi: Mention the perror module.
76121         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
76122         REPLACE_PERROR.
76123         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
76124         REPLACE_PERROR.
76126 2008-09-14  Bruno Haible  <bruno@clisp.org>
76128         * modules/stdio (Makefile.am): Reorder to match the order in
76129         lib/stdio.in.h.
76130         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
76132 2008-09-13  Bruno Haible  <bruno@clisp.org>
76134         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
76136 2008-09-13  Bruno Haible  <bruno@clisp.org>
76138         Extend strerror to cover the added errno values.
76139         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
76140         (rpl_strerror): Provide error messages for the added errno values and
76141         for the WSA* values.
76142         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
76143         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
76144         strerror.
76145         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
76146         * modules/strerror (Depends-on): Add errno.
76147         * doc/posix-functions/strerror.texi: Document the change.
76148         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
76149         and EOVERFLOW.
76151 2008-09-13  Bruno Haible  <bruno@clisp.org>
76153         * modules/EOVERFLOW: Remove file.
76154         * m4/eoverflow.m4: Remove file.
76155         * modules/EOVERFLOW-tests: Remove file.
76156         * tests/test-EOVERFLOW.c: Remove file.
76157         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
76158         * modules/ftell (Depends-on): Likewise.
76159         * modules/getdelim (Depends-on): Likewise.
76160         * modules/getugroups (Depends-on): Likewise.
76161         * modules/poll (Depends-on): Likewise.
76162         * modules/snprintf (Depends-on): Likewise.
76163         * modules/sprintf-posix (Depends-on): Likewise.
76164         * modules/vasnprintf (Depends-on): Likewise.
76165         * modules/vasprintf (Depends-on): Likewise.
76166         * modules/vfprintf-posix (Depends-on): Likewise.
76167         * modules/vsnprintf (Depends-on): Likewise.
76168         * modules/vsprintf-posix (Depends-on): Likewise.
76169         * modules/xvasprintf (Depends-on): Likewise.
76170         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
76171         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
76172         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
76173         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
76174         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
76175         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
76176         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
76177         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
76178         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
76179         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
76180         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
76181         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
76182         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
76183         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
76184         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
76185         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
76186         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
76187         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
76188         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
76189         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
76190         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
76191         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
76192         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
76193         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
76194         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
76195         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
76196         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
76197         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
76198         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
76199         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
76200         * MODULES.html.sh: Remove EOVERFLOW.
76201         * NEWS: Mention the change.
76203 2008-09-13  Bruno Haible  <bruno@clisp.org>
76205         * modules/errno-tests: New file.
76206         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
76208         * lib/errno.in.h: New file.
76209         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
76210         * modules/errno: New file.
76211         * doc/posix-headers/errno.texi: Update documentation.
76212         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
76214 2008-09-13  Bruno Haible  <bruno@clisp.org>
76216         * tests/test-poll.c: Use #if for native Windows, rather than testing
76217         __MSVCRT__.
76219 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
76220             Bruno Haible  <bruno@clisp.org>
76222         * lib/glob.c: Don't include <pwd.h> on native Windows.
76223         (WINDOWS32): New macro.
76224         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
76226 2008-09-13  Bruno Haible  <bruno@clisp.org>
76228         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
76229         (ETIMEDOUT): Remove macro.
76230         (glthread_cond_timedwait_multithreaded): New declaration.
76231         (glthread_cond_timedwait): Use it.
76232         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
76233         (glthread_cond_timedwait_multithreaded): New function.
76235 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
76237         * modules/poll-tests: Do not check for io.h.
76238         * tests/test-poll.c: Check for __MSVCRT__ instead.
76240 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
76242         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
76243         * modules/poll-tests: Add inet_pton, stdbool, sockets.
76244         * tests/test-poll.c: Use them.  Use _pipe on Windows.
76246 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
76248         * modules/poll-tests: New.
76249         * tests/test-poll.c: New.
76251 2008-09-12  Eric Blake  <ebb9@byu.net>
76253         frexp: test for NetBSD failure on -0.0
76254         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
76255         not all, bugs from NetBSD 3.0 have been fixed.
76256         * doc/posix-functions/frexp.texi (frexp): Document bug.
76257         Reported by Thomas Klausner.
76259         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
76260         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
76261         literal -0.0.
76262         Reported by Jonathan C. Patschke <jp@centtech.com>.
76264 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
76266         * lib/glthread/cond.h: Use dummy implementation also if
76267         USE_WIN32_THREADS.
76269 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
76271         * modules/fnmatch-posix (License): Change to LGPLv2+.
76272         * modules/fnmatch-gnu (License): Likewise.
76274 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
76276         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
76278 2008-09-11  Jim Meyering  <meyering@redhat.com>
76280         * users.txt: Add gtk-vnc.
76282 2008-09-08  Simon Josefsson  <simon@josefsson.org>
76284         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
76285         rotate amounts.
76287         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
76288         required for 16-bit and 8-bit rotates.
76289         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
76290         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
76291         UINT8_MAX instead of hard-coded constants.
76292         Suggested by Paul Eggert.
76294 2008-09-07  Bruno Haible  <bruno@clisp.org>
76296         * tests/test-striconveh.c (main): Check behaviour when converting from
76297         UTF-7.
76299         Make striconveh work better with stateful encodings.
76300         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
76301         that iconv does not increment the inptr when returning -1/EINVAL.
76303 2008-09-07  Bruno Haible  <bruno@clisp.org>
76305         * build-aux/config.rpath: Update according to libtool-2.2.6.
76306         * build-aux/config.libpath: Likewise.
76308 2008-09-06  Bruno Haible  <bruno@clisp.org>
76310         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
76311         * lib/freadptr.c (freadptr): Likewise.
76312         * lib/freadseek.c (freadptrinc): Likewise.
76313         Reported by Simon Josefsson.
76315 2008-09-06  Bruno Haible  <bruno@clisp.org>
76317         * modules/freadptr (License): Change to LGPLv2+.
76318         * modules/freadseek (License): Likewise.
76319         Suggested by Eric Blake.
76321         * modules/memchr2 (License): Change to LGPLv2+.
76322         Approved by Eric Blake.
76324 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76325             Bruno Haible  <bruno@clisp.org>
76327         Make gnulib-tool work with native 'sed' on AIX.
76328         * gnulib-tool (sed_noop): New variable.
76329         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
76330         func_add_or_update, func_create_testdir): Use it to initialize sed
76331         script variables.
76332         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
76334 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
76335             Bruno Haible  <bruno@clisp.org>
76337         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
76338         also works after #include directives.
76340 2008-09-04  Ondřej Vašík  <ovasik@redhat.com>
76342         getdate.y: reject an out-of-range timezone value
76343         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
76344         the range [-24...+24].  When specified with only one or two digits,
76345         * tests/test-getdate.c: Tests for the fix.
76346         * doc/getdate.texi: Document this change.
76348 2008-09-03  Bruno Haible  <bruno@clisp.org>
76350         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
76352 2008-09-02  Simon Josefsson  <simon@josefsson.org>
76354         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
76355         <bruce.korb@gmail.com> with ideas from Ben Pfaff
76356         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
76357         Blake <ebb9@byu.net>.
76359         * tests/test-bitrotate.c: Add more test vectors.
76361 2008-09-02  Eric Blake  <ebb9@byu.net>
76363         vasnprintf-posix: handle large precision via %.*d
76364         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
76365         when handling it ourselves.
76366         * tests/test-vasnprintf-posix.c (test_function): Add test.
76367         * tests/test-snprintf-posix.h (test_function): Likewise.
76368         * tests/test-sprintf-posix.h (test_function): Likewise.
76369         * tests/test-vasprintf-posix.c (test_function): Likewise.
76370         Reported by Alain Guibert.
76372 2008-09-01  Eric Blake  <ebb9@byu.net>
76374         c-stack: make configure-time check more robust
76375         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
76376         successful sigaction call.
76377         Reported by Tom G. Christensen.
76379 2008-09-01  Bruno Haible  <bruno@clisp.org>
76381         New module 'findprog-lgpl'.
76382         * modules/findprog-lgpl: New file.
76383         * lib/findprog-lgpl.c: New file.
76384         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
76385         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
76386         to decide whether to use strdup or xstrdup, concatenated_filename or
76387         xconcatenated_filename.
76389 2008-09-01  Bruno Haible  <bruno@clisp.org>
76391         Split module 'concat-filename' into 'concat-filename' (LGPL) and
76392         'xconcat-filename' (GPL).
76393         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
76394         (License): Change to LGPLv2+.
76395         * modules/xconcat-filename: New file.
76396         * lib/concat-filename.h (concatenated_filename): Change specification.
76397         (xconcatenated_filename): New declaration.
76398         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
76399         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
76400         memory situations.
76401         * lib/xconcat-filename.c: New file.
76402         * NEWS: Mention the change.
76403         * lib/findprog.c: Include concat-filename.h, not filename.h.
76404         (find_in_path): Use xconcatenated_filename instead of
76405         concatenated_filename.
76406         * lib/javacomp.c: Include concat-filename.h, not filename.h.
76407         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
76408         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
76409         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
76410         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
76411         instead of concatenated_filename.
76412         * lib/javaexec.c: Include concat-filename.h, not filename.h.
76413         (execute_java_class): Use xconcatenated_filename instead of
76414         concatenated_filename.
76415         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
76416         * modules/javacomp (Depends-on): Likewise.
76417         * modules/javaexec (Depends-on): Likewise.
76419 2008-09-01  Bruno Haible  <bruno@clisp.org>
76421         Split module 'filename' into 'filename' and 'concat-filename'.
76422         * modules/filename: Keep only lib/filename.h.
76423         (License): Change to LGPLv2+.
76424         * modules/concat-filename: New file, extracted from modules/filename.
76425         * lib/filename.h (concatenated_filename): Remove declaration.
76426         * lib/concat-filename.h: New file, extracted from lib/filename.h.
76427         * lib/concat-filename.c: Include concat-filename.h.
76428         * NEWS: Mention the change.
76430 2008-09-01  Simon Josefsson  <simon@josefsson.org>
76432         * lib/bitrotate.h (rotl8, rotr8): Add.
76434         * modules/bitrotate (configure.ac): Need
76435         AC_REQUIRE([AC_C_INLINE]).
76436         (Description): Mention stdint.h.  Reported by Bruno Haible
76437         <bruno@clisp.org>.
76439         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
76440         Paolo Bonzini <bonzini@gnu.org>.
76442 2008-08-31  Bruno Haible  <bruno@clisp.org>
76444         Assume Solaris specific bi-arch conventions on Solaris systems.
76445         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
76446         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
76447         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
76448         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
76449         like acl_libdirstem.
76450         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
76451         acl_libdirstem.
76452         * NEWS: Mention the change.
76453         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
76455 2008-08-31  Jim Meyering  <meyering@redhat.com>
76457         * lib/strftime.h: Add comments describing the two added arguments.
76459         remove duplicate #include directives
76460         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
76461         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
76463 2008-08-31  Bruno Haible  <bruno@clisp.org>
76465         New module 'sigpipe-die'.
76466         * modules/sigpipe-die: New file.
76467         * lib/sigpipe-die.h: New file.
76468         * lib/sigpipe-die.c: New file.
76469         * MODULES.html.sh (Signal handling): Add sigpipe-die.
76471 2008-08-31  Bruno Haible  <bruno@clisp.org>
76473         Don't override previously installed signal handlers.
76474         * lib/fatal-signal.c (saved_sigactions): New variable.
76475         (uninstall_handlers): Reset the signal to the saved handler, not
76476         to SIG_DFL (except when ignored).
76477         (install_handlers): Save the previous handlers.
76479 2008-08-30  Bruno Haible  <bruno@clisp.org>
76481         * gnulib-tool (func_reset_sigpipe): New function.
76482         (func_get_automake_snippet, func_modules_transitive_closure,
76483         func_import): Invoke it before a join command that reads from stdin,
76484         to avoid "echo: write error: Broken pipe" error messages on stderr.
76485         Reported by Sam Steingold <sds@gnu.org>.
76487 2008-08-30  Bruno Haible  <bruno@clisp.org>
76489         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
76490         Code copied from m4/open.m4.
76491         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
76492         access and the filename ends in a slash. Code copied from lib/open.c.
76493         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
76494         * tests/test-fopen.c (main): Check against bug with trailing slash.
76496 2008-08-29  Bruno Haible  <bruno@clisp.org>
76498         Avoid some "gcc -pedantic" warnings.
76499         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
76500         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
76501         * lib/dirent.in.h: Likewise.
76502         * lib/fcntl.in.h: Likewise.
76503         * lib/float.in.h: Likewise.
76504         * lib/iconv.in.h: Likewise.
76505         * lib/inttypes.in.h: Likewise.
76506         * lib/locale.in.h: Likewise.
76507         * lib/math.in.h: Likewise.
76508         * lib/netinet_in.in.h: Likewise.
76509         * lib/search.in.h: Likewise.
76510         * lib/signal.in.h: Likewise.
76511         * lib/stdarg.in.h: Likewise.
76512         * lib/stdint.in.h: Likewise.
76513         * lib/stdio.in.h: Likewise.
76514         * lib/stdlib.in.h: Likewise.
76515         * lib/string.in.h: Likewise.
76516         * lib/strings.in.h: Likewise.
76517         * lib/sys_select.in.h: Likewise.
76518         * lib/sys_socket.in.h: Likewise.
76519         * lib/sys_stat.in.h: Likewise.
76520         * lib/sys_time.in.h: Likewise.
76521         * lib/sysexits.in.h: Likewise.
76522         * lib/time.in.h: Likewise.
76523         * lib/unistd.in.h: Likewise.
76524         * lib/wchar.in.h: Likewise.
76525         * lib/wctype.in.h: Likewise.
76526         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
76527         * modules/fchdir (Makefile.am): Likewise.
76528         * modules/fcntl (Makefile.am): Likewise.
76529         * modules/float (Makefile.am): Likewise.
76530         * modules/iconv_open (Makefile.am): Likewise.
76531         * modules/inttypes (Makefile.am): Likewise.
76532         * modules/locale (Makefile.am): Likewise.
76533         * modules/math (Makefile.am): Likewise.
76534         * modules/netinet_in (Makefile.am): Likewise.
76535         * modules/search (Makefile.am): Likewise.
76536         * modules/signal (Makefile.am): Likewise.
76537         * modules/stdarg (Makefile.am): Likewise.
76538         * modules/stdint (Makefile.am): Likewise.
76539         * modules/stdio (Makefile.am): Likewise.
76540         * modules/stdlib (Makefile.am): Likewise.
76541         * modules/string (Makefile.am): Likewise.
76542         * modules/strings (Makefile.am): Likewise.
76543         * modules/sys_select (Makefile.am): Likewise.
76544         * modules/sys_socket (Makefile.am): Likewise.
76545         * modules/sys_stat (Makefile.am): Likewise.
76546         * modules/sys_time (Makefile.am): Likewise.
76547         * modules/sysexits (Makefile.am): Likewise.
76548         * modules/time (Makefile.am): Likewise.
76549         * modules/unistd (Makefile.am): Likewise.
76550         * modules/wchar (Makefile.am): Likewise.
76551         * modules/wctype (Makefile.am): Likewise.
76552         Reported by Reuben Thomas <rrt@sc3d.org>.
76554 2008-08-29  Bruno Haible  <bruno@clisp.org>
76556         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
76557         any more.
76559 2008-08-29  Simon Josefsson  <simon@josefsson.org>
76561         * MODULES.html.sh (Misc): Add bitrotate.
76563         * modules/bitrotate: New file.
76565         * lib/bitrotate.h: New file.
76567         * modules/bitrotate-tests: New file.
76569         * tests/test-bitrotate.c: New file.
76571         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
76572         on the bitrotate module.
76574         * lib/arctwo.c: Use new bitrotate module.
76576 2008-08-29  Jim Meyering  <meyering@redhat.com>
76578         bootstrap: merge changes from coreutils
76579         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
76580         of copied files.  Remove a kludge, now that this is fixed.
76581         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
76582         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
76583         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
76585 2008-08-29  Bruno Haible  <bruno@clisp.org>
76587         * MODULES.html.sh: Remove --cvs-urls option.
76589 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
76591         maint.mk: adjust to file name change
76592         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
76594 2008-08-28  Jim Meyering  <meyering@redhat.com>
76596         * modules/getndelim2 (License): Relicense to LGPLv2+.
76597         Approved by Richard Stallman for the version of 1995, and by
76598         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
76600 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
76602         * lib/getdelim.c (flockfile, funlockfile): Make all of them
76603         dummy if one is not available.  Do not touch them if
76604         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
76605         (getc_maybe_unlocked): New.
76606         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
76608 2008-08-26  Eric Blake  <ebb9@byu.net>
76610         doc/INSTALL: resync from autoconf
76611         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
76612         (INSTALL_PRELUDE): Delete; this is done more efficiently by
76613         moving...
76614         * install.texi [!autoconf]: ...here.  Resync from autoconf.
76615         * INSTALL: Regenerate.
76616         * INSTALL.ISO: New file.
76617         * INSTALL.UTF-8: Likewise.
76619 2008-08-26  Jim Meyering  <meyering@redhat.com>
76621         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
76622         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
76623         these definitions conditional, so that they may be overridden, too.
76625 2008-08-26  Bruno Haible  <bruno@clisp.org>
76627         Generate INSTALL file variants with prettier quotes.
76628         * doc/Makefile (INSTALL_PRELUDE): New macro.
76629         (INSTALL): Use it.
76630         (INSTALL.ISO, INSTALL.UTF-8): New rules.
76632 2008-08-26  Bruno Haible  <bruno@clisp.org>
76634         Run makeinfo in an English locale.
76635         * doc/Makefile (MAKEINFO): New variable.
76637 2008-08-26  Bruno Haible  <bruno@clisp.org>
76639         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
76640         Suggested by Eric Blake.
76642 2008-08-25  Bruno Haible  <bruno@clisp.org>
76644         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
76646 2008-08-25  Eric Blake  <ebb9@byu.net>
76648         c-stack: test that stack overflow can be caught
76649         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
76650         that platform allows handling stack overflow; at least OS/2 EMX
76651         has sigaltstack, but crashes before transferring control to
76652         handler on stack overflow.
76653         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
76654         check for HAVE_STACK_OVERFLOW_HANDLING.
76655         Reported by Elbert Pol.
76657 2008-08-25  Bruno Haible  <bruno@clisp.org>
76659         * doc/posix-functions/strftime.texi: Fix description of strftime
76660         module.
76662 2008-08-24  Bruno Haible  <bruno@clisp.org>
76664         * tests/uniwidth/test-uc_width2.c: New file.
76665         * tests/uniwidth/test-uc_width2.sh: New file.
76666         * modules/uniwidth/width-tests (Files): Add the new files.
76667         (TESTS): Add uniwidth/test-uc_width2.sh.
76668         (TESTS_ENVIRONMENT): New variable.
76669         (check_PROGRAMS): Add test-uc_width2.
76670         (test_uc_width2_SOURCES): New variable.
76672         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
76673         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
76674         not 0x00AB.
76675         Reported by Alexander V. Lukyanov <lav@netis.ru>.
76677 2008-08-22  Eric Blake  <ebb9@byu.net>
76679         test-lock, test-tls: mention why a test is skipped
76680         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
76681         skipped.
76682         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
76684         count-one-bits: relax license
76685         * modules/count-one-bits (License): Relicense to LGPLv2+.
76686         Suggested by Ludovic Courtès, approved by Ben Pfaff.
76688 2008-08-22  Andreas Schwab  <schwab@suse.de>
76690         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
76691         Remove spurious space in assignment.
76693 2008-08-21  Simon Josefsson  <simon@josefsson.org>
76695         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
76696         Paul Eggert <eggert@CS.UCLA.EDU>.
76698 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
76700         * modules/gettext: Add m4/threadlib.m4.
76702 2008-08-19  Eric Blake  <ebb9@byu.net>
76704         test-c-stack: fix compilation failure on FreeBSD 5.0
76705         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
76706         headers before <sys/resource.h>.
76707         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
76708         the bug.
76709         Reported by Nelson H. F. Beebe.
76711         strverscmp: migrate from "strverscmp.h" to <string.h>
76712         * modules/string (Makefile.am): Add new hooks.
76713         * modules/strverscmp (Files): Remove strverscmp.h.
76714         (Depends-on): Add string.
76715         (configure.ac): Add indicator.
76716         (Include): Mention new header.
76717         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
76718         defaults.
76719         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
76720         results.
76721         * lib/strverscmp.h: Delete.
76722         * lib/string.in.h (strverscmp): Provide declaration, when needed.
76723         * tests/test-strverscmp.c (includes): Adjust client.
76724         * lib/check-version.c (includes): Likewise.
76725         * NEWS: Document the change.
76727         strverscmp: add unit test
76728         * modules/strverscmp-tests: New file.
76729         * tests/test-strverscmp.c: Likewise.
76731 2008-08-19  Simon Josefsson  <simon@josefsson.org>
76733         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
76734         regarding Windows crypto stuff, from Mono.
76736 2008-08-19  Adam Strzelecki  <ono@java.pl>  (tiny change)
76738         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
76739         if present, for intel RND.  Return error on failures.
76741 2008-08-18  Ben Pfaff  <blp@gnu.org>
76743         gitlog-to-changelog: give better diagnostic for failed pipe-open
76744         * build-aux/gitlog-to-changelog: Improve error message: suggest
76745         that the version of Git may be too old.
76747 2008-08-18  Simon Josefsson  <simon@josefsson.org>
76749         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
76750         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
76752 2008-08-18  Bruno Haible  <bruno@clisp.org>
76754         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
76755         pthread_in_use().
76757 2008-08-18  Bruno Haible  <bruno@clisp.org>
76759         * lib/glthread/threadlib.c: Include <pthread.h>.
76761 2008-08-18  Bruno Haible  <bruno@clisp.org>
76763         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
76764         glthread_recursive_lock_* macros.
76765         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
76766         Fix syntax error.
76768 2008-08-18  Bruno Haible  <bruno@clisp.org>
76770         * lib/glthread/thread.c: Avoid forcing a context switch right after
76771         thread creation.
76773 2008-08-17  Bruno Haible  <bruno@clisp.org>
76775         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
76776         * lib/glthread/thread.h: Provide Win32 specific implementation.
76777         * modules/thread (Files): Add lib/glthread/thread.c.
76778         (Depends-on): Add lock.
76779         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
76781 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
76783         New module 'yield'.
76784         * modules/yield: New file.
76785         * lib/glthread/yield.h: New file.
76786         * m4/yield.m4: New file.
76787         * MODULES.html.sh (Multithreading): Add yield.
76789 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
76791         New module 'thread'.
76792         * modules/thread: New file.
76793         * lib/glthread/thread.h: New file.
76794         * m4/thread.m4: New file.
76795         * MODULES.html.sh (Multithreading): Add thread.
76797 2008-08-17  Bruno Haible  <bruno@clisp.org>
76799         * lib/glthread/lock.h: Include <stdlib.h> always.
76800         * lib/glthread/tls.h: Likewise.
76801         * lib/glthread/cond.h: Likewise.
76803 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
76805         New module 'cond'.
76806         * modules/cond: New file.
76807         * lib/glthread/cond.h: New file.
76808         * lib/glthread/cond.c: New file.
76809         * m4/cond.m4: New file.
76810         * MODULES.html.sh (Multithreading): Add cond.
76812 2008-08-16  Eric Blake  <ebb9@byu.net>
76814         c-stack: fix regression on Irix 5.3 from 2008-06-21
76815         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
76816         sa_sigaction...
76817         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
76818         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
76819         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
76820         * modules/signal (Makefile.am): Use the value.
76821         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
76822         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
76823         * doc/posix-headers/signal.texi (signal.h): Document this
76824         portability issue.
76825         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
76826         Reported by Tom G. Christensen.
76828 2008-08-17  Bruno Haible  <bruno@clisp.org>
76830         New module 'threadlib'.
76831         * modules/threadlib: New file.
76832         * lib/glthread/threadlib.c: New file, extracted from
76833         lib/glthread/lock.c.
76834         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
76835         functions.
76836         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
76837         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
76838         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
76839         macros.
76840         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
76841         (gl_DISABLE_THREADS): Remove macro.
76842         * modules/lock (Files): Remove build-aux/config.rpath.
76843         (Depends-on): Remove havelib. Add threadlib.
76844         (configure.ac-early): Remove section.
76845         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
76846         * modules/tls (Depends-on): Remove lock. Add threadlib.
76847         (Link): New section, copied from threadlib.
76848         * MODULES.html.sh (Multithreading): Add threadlib.
76850 2008-08-14  Bruno Haible  <bruno@clisp.org>
76852         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
76853         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
76854         glthread_rwlock_unlock, glthread_rwlock_destroy,
76855         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
76856         glthread_recursive_lock_destroy): Define as macros always.
76857         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
76858         glthread_lock_lock.
76859         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
76860         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
76861         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
76862         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
76863         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
76864         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
76865         (glthread_recursive_lock_lock_func): Renamed from
76866         glthread_recursive_lock_lock.
76867         (glthread_recursive_lock_unlock_func): Renamed from
76868         glthread_recursive_lock_unlock.
76869         (glthread_recursive_lock_destroy_func): Renamed from
76870         glthread_recursive_lock_destroy.
76872 2008-08-14  Bruno Haible  <bruno@clisp.org>
76874         * lib/glthread/lock.h: Renamed from lib/lock.h.
76875         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
76876         * lib/glthread/tls.h: Renamed from lib/tls.h.
76877         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
76878         * lib/fstrcmp.c: Update includes.
76879         * lib/strsignal.c: Update includes.
76880         * modules/lock (Files, Makefile.am): Update.
76881         (Include): Change to "glthread/lock.h".
76882         * modules/tls (Files, Makefile.am): Update.
76883         (Include): Change to "glthread/tls.h".
76884         * tests/test-lock.c: Update includes.
76885         * tests/test-tls.c: Update includes.
76886         * NEWS: Mention the renamed header files.
76888 2008-08-11  Jim Meyering  <meyering@redhat.com>
76890         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
76892 2008-08-11  Eric Blake  <ebb9@byu.net>
76894         test-c-stack: avoid C99-ism
76895         * tests/test-c-stack.c (main): Fix whitespace, move declaration
76896         before statement.
76897         Reported by Alain Guibert.
76899 2008-08-10  Jim Meyering  <meyering@redhat.com>
76901         ensure that return value of uinttostr et al are not ignored
76902         * lib/inttostr.h (__GNUC_PREREQ): Define.
76903         (__attribute_warn_unused_result__): Define.
76904         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
76906 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
76908         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
76909         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
76911 2008-08-07  Jim Meyering  <meyering@redhat.com>
76913         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
76915         * modules/mkstemp (License): Relicense under LGPLv2+.
76916         * modules/tempname (License): Likewise.
76918 2008-08-06  Bruno Haible  <bruno@clisp.org>
76920         * lib/poll.c (poll): Further micro-optimization.
76922 2008-08-06  Jim Meyering  <meyering@redhat.com>
76924         inet_pton.c: use locale-independent tolower
76925         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
76926         (inet_pton6): Use c_tolower rather than tolower.
76927         * modules/inet_pton (Depends-on): Add c-ctype.
76929 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
76931         * lib/poll.c (poll): Avoid division when timeout is 0, cache
76932         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
76934 2008-08-06  Jim Meyering  <meyering@redhat.com>
76936         * modules/inet_pton (License): Relicense under LGPLv2+.
76938 2008-08-03  Bruno Haible  <bruno@clisp.org>
76940         Additional non-aborting API for lock and tls.
76941         * lib/lock.h: Include <errno.h>.
76942         (glthread_lock_init): New macro/function.
76943         (gl_lock_init): Define as wrapper around glthread_lock_init.
76944         (glthread_lock_lock): New macro/function.
76945         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
76946         (glthread_lock_unlock): New macro/function.
76947         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
76948         (glthread_lock_destroy): New macro/function.
76949         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
76950         (glthread_rwlock_init): New macro/function.
76951         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
76952         (glthread_rwlock_rdlock): New macro/function.
76953         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
76954         (glthread_rwlock_wrlock): New macro/function.
76955         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
76956         (glthread_rwlock_unlock): New macro/function.
76957         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
76958         (glthread_rwlock_destroy): New macro/function.
76959         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
76960         (glthread_recursive_lock_init): New macro/function.
76961         (gl_recursive_lock_init): Define as wrapper around
76962         glthread_recursive_lock_init.
76963         (glthread_recursive_lock_lock): New macro/function.
76964         (gl_recursive_lock_lock): Define as wrapper around
76965         glthread_recursive_lock_lock.
76966         (glthread_recursive_lock_unlock): New macro/function.
76967         (gl_recursive_lock_unlock): Define as wrapper around
76968         glthread_recursive_lock_unlock.
76969         (glthread_recursive_lock_destroy): New macro/function.
76970         (gl_recursive_lock_destroy): Define as wrapper around
76971         glthread_recursive_lock_destroy.
76972         (glthread_once): New macro/function.
76973         (gl_once): Define as wrapper around glthread_once.
76974         Update function declarations.
76975         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
76976         glthread_rwlock_init. Return error code.
76977         (glthread_rwlock_rdlock_multithreaded): Renamed from
76978         glthread_rwlock_rdlock. Return error code.
76979         (glthread_rwlock_wrlock_multithreaded): Renamed from
76980         glthread_rwlock_wrlock. Return error code.
76981         (glthread_rwlock_unlock_multithreaded): Renamed from
76982         glthread_rwlock_unlock. Return error code.
76983         (glthread_rwlock_destroy_multithreaded): Renamed from
76984         glthread_rwlock_destroy. Return error code.
76985         (glthread_recursive_lock_init_multithreaded): Renamed from
76986         glthread_recursive_lock_init. Return error code.
76987         (glthread_recursive_lock_lock_multithreaded): Renamed from
76988         glthread_recursive_lock_lock. Return error code.
76989         (glthread_recursive_lock_unlock_multithreaded): Renamed from
76990         glthread_recursive_lock_unlock. Return error code.
76991         (glthread_recursive_lock_destroy_multithreaded): Renamed from
76992         glthread_recursive_lock_destroy. Return error code.
76993         (glthread_once_call): Make static.
76994         (glthread_once_multithreaded): Renamed from glthread_once.
76995         * lib/tls.h: Include <errno.h>.
76996         (glthread_tls_key_init): New macro/function.
76997         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
76998         (glthread_tls_set): New macro/function.
76999         (gl_tls_set): Define as wrapper around glthread_tls_set.
77000         (glthread_tls_key_destroy): New macro/function.
77001         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
77002         Update function declarations.
77003         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
77004         glthread_tls_get.
77005         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
77007 2008-08-04  Eric Blake  <ebb9@byu.net>
77009         gnumakefile: use space, not TAB, outside of targets
77010         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
77012 2008-08-02  Jim Meyering  <meyering@redhat.com>
77014         getdate.y: avoid locale-dependent date parsing failure
77015         In Turkish locales, getdate would fail to recognize keywords
77016         containing a lowercase "i".  The solution is not to rely on
77017         locale-sensitive case-conversion.
77018         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
77019         (lookup_word): Use c_toupper in place of toupper.
77020         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
77021         Reported by Vefa Bicakci <bicave@superonline.com> in
77022         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
77023         * modules/getdate (Depends-on): Add c-ctype.
77025 2008-08-02  Bruno Haible  <bruno@clisp.org>
77027         * gnulib-tool (func_import): When updating or creating a .gitignore
77028         file, prepend each added line with a slash, and ignore leading slashes
77029         from the existing lines.
77030         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
77032 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77034         Portability fix for GNU make 3.79.1.
77035         * top/GNUmakefile: Avoid 'else COND', which older GNU make
77036         versions do not understand.
77038 2008-08-01  Bruno Haible  <bruno@clisp.org>
77040         Work around bug of HP-UX 10.20 cc with -0.0 literal.
77041         * tests/test-isnanf.h (zero): New variable.
77042         (main): Avoid literal -0.0f.
77043         * tests/test-isnand.h (zero): New variable.
77044         (main): Avoid literal -0.0.
77045         * tests/test-isnanl.h (zero): New variable.
77046         (main): Avoid literal -0.0L.
77047         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
77048         (test_float, test_double, test_long_double): Avoid literals -0.0f,
77049         -0.0, -0.0L.
77050         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
77051         (test_signbitd): Avoid literal -0.0.
77052         (test_signbitl): Avoid literal -0.0L.
77053         * tests/test-ceilf1.c (zero): New variable.
77054         (main): Avoid literal -0.0f.
77055         * tests/test-ceill.c (zero): New variable.
77056         (main): Avoid literal -0.0L.
77057         * tests/test-floorf1.c (zero): New variable.
77058         (main): Avoid literal -0.0f.
77059         * tests/test-floorl.c (zero): New variable.
77060         (main): Avoid literal -0.0L.
77061         * tests/test-roundf1.c (zero): New variable.
77062         (main): Avoid literal -0.0f.
77063         * tests/test-round1.c (zero): New variable.
77064         (main): Avoid literal -0.0.
77065         * tests/test-roundl.c (zero): New variable.
77066         (main): Avoid literal -0.0L.
77067         * tests/test-truncf1.c (zero): New variable.
77068         (main): Avoid literal -0.0f.
77069         * tests/test-trunc1.c (zero): New variable.
77070         (main): Avoid literal -0.0.
77071         * tests/test-truncl.c (zero): New variable.
77072         (main): Avoid literal -0.0L.
77073         * tests/test-frexp.c (zero): New variable.
77074         (main): Avoid literal -0.0.
77075         * tests/test-frexpl.c (zero): New variable.
77076         (main): Avoid literal -0.0L.
77077         * tests/test-ldexpl.c (zero): New variable.
77078         (main): Avoid literal -0.0L.
77079         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
77080         (zerod, zerol): New variables.
77081         (test_function): Avoid literals -0.0, -0.0L.
77082         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
77083         (zerod, zerol): New variables.
77084         (test_function): Avoid literals -0.0, -0.0L.
77085         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
77086         (zerod, zerol): New variables.
77087         (test_function): Avoid literals -0.0, -0.0L.
77088         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
77089         (zerod, zerol): New variables.
77090         (test_function): Avoid literals -0.0, -0.0L.
77091         * tests/test-strtod.c (zero): New variable.
77092         (main): Avoid literal -0.0.
77093         Reported by Jonathan C. Patschke <jp@centtech.com>.
77095 2008-07-31  Jim Meyering  <meyering@redhat.com>
77097         sha256.h: correct definition of SHA224_DIGEST_SIZE
77098         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
77099         Reported by Paulie Pena IV <paulie4@gmail.com>.
77100         Define as 224 / 8, rather than as a literal.
77101         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
77102         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
77103         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
77105 2008-07-31  Bruno Haible  <bruno@clisp.org>
77107         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
77108         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
77109         Reported by Jonathan Patschke <jp@centtech.com>.
77111 2008-07-31  Bruno Haible  <bruno@clisp.org>
77113         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
77114         Reported by Paolo Bonzini <bonzini@gnu.org>.
77116 2008-07-30  Eric Blake  <ebb9@byu.net>
77118         test-strtod: allow compilation without -lm
77119         * tests/test-strtod.c (main): Avoid link dependence on fabs.
77120         Reported by Dennis Clarke <blastwave@gmail.com>.
77122 2008-07-28  Jim Meyering  <meyering@redhat.com>
77124         bootstrap: work also when there are no .po files in po/
77125         * build-aux/bootstrap (update_po_files): Complete the change
77126         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
77128 2008-07-27  Jim Meyering  <meyering@redhat.com>
77130         * users.txt: Add zile.
77132 2008-07-26  Ben Pfaff  <blp@gnu.org>
77134         Add missing dependencies on new m4/exponent[fdl].m4 files.
77135         * modules/isnanf-nolibm: Add m4/exponentf.m4.
77136         * modules/isnand-nolibm: Add m4/exponentd.m4.
77137         * modules/isnanl-nolibm: Add m4/exponentl.m4.
77138         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
77139         m4/isnan[fdl].m4, because the macros actually used moved.
77140         Reported by Jim Meyering.
77142 2008-07-14  Ben Pfaff  <blp@gnu.org>
77144         Add isinf module.
77145         * lib/isinf.c: New file.
77146         * lib/math.in.h: Define isinf macro if we have decided to replace
77147         it.
77148         * m4/isinf.m4: New file.
77149         * m4/math_h.m4: Initialize and substitute variables for isinf
77150         module.
77151         * modules/isinf: New file.
77152         * modules/isinf-tests: New file.
77153         * modules/math: Add substitutions for new module.
77154         * tests/test-isinf.c: New file.
77155         * doc/posix-functions/isinf.texi: Mention new module.
77156         * MODULES.html.sh: Mention new module.
77158 2008-07-14  Ben Pfaff  <blp@gnu.org>
77160         Factor out some macros for use by additional modules.
77161         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
77162         exponentf.m4.
77163         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
77164         exponentd.m4.
77165         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
77166         file exponentl.m4.
77167         * m4/exponentf.m4: New file.
77168         * m4/exponentd.m4: New file.
77169         * m4/exponentl.m4: New file.
77170         * modules/isnanf: Use new file m4/exponentf.m4.
77171         * modules/isnand: Use new file m4/exponentd.m4.
77172         * modules/isnanl: Use new file m4/exponentl.m4.
77174 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
77176         mktime.c: normalize tp->tm_isdst value to -1/0/1.
77177         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
77178         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
77179         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
77181         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
77182         readlink on platforms without PATH_MAX.
77184 2008-07-21  Eric Blake  <ebb9@byu.net>
77186         Warn, not fail, on stale version.
77187         * top/GNUmakefile (_curr-ver): Tone down previous patch.
77189         Don't allow installation with stale devel version number.
77190         * top/GNUmakefile (_is-install-target): New macro.
77191         (_curr-ver): Forbid installation with stale version number.
77193 2008-07-20  Bruno Haible  <bruno@clisp.org>
77195         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
77196         TESTS_ENVIRONMENT.
77197         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
77199 2008-07-20  Bruno Haible  <bruno@clisp.org>
77201         * lib/c-stack.h (c_stack_action): Add documentation.
77202         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
77204 2008-07-20  Bruno Haible  <bruno@clisp.org>
77206         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
77207         * modules/readlink (License): Likewise.
77209 2008-07-17  Eric Blake  <ebb9@byu.net>
77211         * modules/c-stack (Link): Fix typo.
77213         Make c-stack use libsigsegv, when available.
77214         * modules/c-stack (Depends-on): Add libsigsegv.
77215         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
77216         needed.
77217         * lib/c-stack.c (SIGSTKSZ): Define fallback.
77218         (segv_handler, overflow_handler, c_stack_action)
77219         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
77220         implementation when libsigsegv is available, but only when using
77221         the library is necessary.
77222         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
77223         comment, explaining why XSI check fails on Linux.
77224         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
77225         * tests/test-c-stack2.sh: Tweak skip message.
77226         * NEWS: Document new link-time requirements.
77228 2008-07-16  Eric Blake  <ebb9@byu.net>
77230         c-stack: Expose false positives when not using libsigsegv.
77231         * modules/c-stack-tests (Files): Expand test.
77232         * tests/test-c-stack.c (main): Add means to conditionally trigger
77233         non-overflow SIGSEGV.
77234         * tests/test-c-stack2.sh: New file.
77236 2008-07-14  Bruno Haible  <bruno@clisp.org>
77238         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
77239         Reported by Eric Blake.
77241 2008-07-14  Sam Steingold  <sds@gnu.org>
77242             Bruno Haible  <bruno@clisp.org>
77244         New module libsigsegv.
77245         * modules/libsigsegv: New file.
77246         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
77247         modifications.
77248         * MODULES.html.sh (Signal handling): New section.
77250 2008-07-14  Bruno Haible  <bruno@clisp.org>
77252         * modules/unictype/ctype-* (Description): Add the word "function".
77253         Improves the resulting doc in MODULES.html.
77255 2008-07-12  Ben Pfaff  <blp@gnu.org>
77257         Add longlong module.
77258         * modules/longlong: New file.
77260 2008-07-12  Bruno Haible  <bruno@clisp.org>
77262         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
77263         to empty.
77265 2008-07-10  Ben Pfaff  <blp@gnu.org>
77267         Add isnan module.
77268         * doc/posix-functions/isnan.texi: Mention new module.
77269         * lib/math.in.h: Define isnan macro if we have decided to replace
77270         it.
77271         * m4/isnan.m4: New file.
77272         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
77273         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
77274         also.
77275         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
77276         redundancy.
77277         * m4/math_h.m4: Initialize and substitute variables for isnan
77278         module.
77279         * modules/isnan: New file.
77280         * modules/isnan-tests: New file.
77281         * modules/math: Add substitutions for new module.
77282         * tests/test-isnan.c: New file.
77283         * MODULES.html.sh: Mention new module.
77285 2008-07-10  Ben Pfaff  <blp@gnu.org>
77287         Add isnanf module.
77288         * lib/isnanf.m4: New file.
77289         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
77290         (gl_HAVE_ISNANF_IN_LIBM): New macro.
77291         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
77292         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
77293         * modules/isnanf: New file.
77294         * modules/isnanf-tests: New file.
77295         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
77296         files.
77297         * tests/test-isnanf-nolibm.c: factored most of its contents into
77298         new file tests/test-isnanf.h.
77299         * tests/test-isnanf.h: New file.
77300         * tests/test-isnanf.c: New file.
77301         * MODULES.html.sh: Mention new module.
77302         * doc/glibc-functions/isnanf.texi: Mention new module.
77304 2008-07-10  Ben Pfaff  <blp@gnu.org>
77306         Add isnand module.
77307         * lib/isnand.h: New file.
77308         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
77309         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
77310         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
77311         functionality also.
77312         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
77313         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
77314         (gl_HAVE_ISNAND_IN_LIBM): New macro.
77315         * modules/isnand: New file.
77316         * modules/isnand-tests: New file.
77317         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
77318         files.
77319         * tests/test-isnand-nolibm.c: factored most of its contents into
77320         new file tests/test-isnand.h.
77321         * tests/test-isnand.h: New file.
77322         * tests/test-isnand.c: New file.
77323         * MODULES.html.sh: Mention new module.
77325 2008-07-10  Ben Pfaff  <blp@gnu.org>
77327         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
77328         * lib/isnand.h: Rename lib/isnand-nolibm.h.
77329         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
77330         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
77331         * modules/isnanf-nolibm: Update references to renamed files.
77332         * modules/isnand-nolibm: Likewise.
77333         * modules/isnanf-nolibm-tests: Likewise.
77334         * modules/isnand-nolibm-tests: Likewise.
77335         * lib/frexp.c: Likewise.
77336         * lib/isfinite.c: Likewise.
77337         * lib/signbitd.c: Likewise.
77338         * lib/signbitf.c: Likewise.
77339         * lib/vasnprintf.c: Likewise.
77340         * tests/test-ceilf1.c: Likewise.
77341         * tests/test-ceilf2.c: Likewise.
77342         * tests/test-floorf1.c: Likewise.
77343         * tests/test-floorf2.c: Likewise.
77344         * tests/test-frexp.c: Likewise.
77345         * tests/test-round1.c: Likewise.
77346         * tests/test-round2.c: Likewise.
77347         * tests/test-roundf1.c: Likewise.
77348         * tests/test-strtod.c: Likewise.
77349         * tests/test-trunc1.c: Likewise.
77350         * tests/test-trunc2.c: Likewise.
77351         * tests/test-truncf1.c: Likewise.
77352         * tests/test-truncf2.c: Likewise.
77353         * NEWS: Mention the renamed header files.
77355 2008-07-11  Jim Meyering  <meyering@redhat.com>
77357         vc-list-files: make the last-resort awk code more portable
77358         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
77359         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
77360         does not support it.
77362 2008-07-10  Eric Blake  <ebb9@byu.net>
77364         Work with tar's bootstrap.
77365         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
77366         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
77367         an m4 comment.
77369 2008-07-09  Jim Meyering  <meyering@redhat.com>
77371         posix-shell.m4: fix typo that made this test malfunction
77372         * m4/posix-shell.m4: Remove capitalization in variable name.
77374 2008-07-08  Bruno Haible  <bruno@clisp.org>
77376         * m4/onceonly.m4: Update comments.
77377         Reported by Ben Pfaff <blp@cs.stanford.edu>.
77379 2008-07-04  Jim Meyering  <meyering@redhat.com>
77381         * users.txt: Add vc-dwim.
77382         (bison, coreutils): Use the gitweb URL.
77384 2008-07-03  Jim Meyering  <meyering@redhat.com>
77386         * users.txt: Add libffcall.  From Sam Steingold.
77388 2008-07-03  Ondřej Vašík  <ovasik@redhat.com>
77390         getdate.y: do not ignore TZ with relative day, month or year offset
77391         * lib/getdate.y (get_date): Move the tz-handling block to follow the
77392         relative-date-handling, since otherwise, the latter would clobber the
77393         sole output (an updated Start value) of the tz-handling block.
77394         * tests/test-getdate.c: Tests for the fix
77396 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77398         Recognize 'foo_LIBRARIES += libgnu.a'.
77399         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
77400         makefile snippet has already specified an installation location,
77401         also using '+='.
77403 2008-07-02  Ondřej Vašík  <ovasik@redhat.com>
77405         getdate.y: factor out common actions
77406         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
77407         Use them in place of open-coded actions.
77409 2008-07-01  Simon Josefsson  <simon@josefsson.org>
77411         Add self-test for getdate module.
77412         * modules/getdate-tests: New file.
77413         * tests/test-getdate.c: New file.
77415 2008-06-29  Bruno Haible  <bruno@clisp.org>
77417         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
77418         .gitignore.
77419         Reported by Sylvain Beucler <beuc@beuc.net>.
77421 2008-06-29  Bruno Haible  <bruno@clisp.org>
77423         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
77424         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
77426 2008-06-29  Bruno Haible  <bruno@clisp.org>
77428         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
77429         EXTRA_DIST.
77430         Reported by Sylvain Beucler <beuc@beuc.net>.
77432 2008-06-26  Jim Meyering  <meyering@redhat.com>
77434         make several modules depend on the "open" module
77435         This provides slightly increased consistency when opening-for-write
77436         the name of a non-directory spelled with a trailing slash.
77437         * modules/chdir-safer: Likewise.
77438         * modules/chown: Likewise.
77439         * modules/clean-temp: Likewise.
77440         * modules/copy-file: Likewise.
77441         * modules/fchdir: Likewise.
77442         * modules/fcntl-safer: Likewise.
77443         * modules/pipe: Likewise.
77444         * modules/utime: Likewise.
77445         Prompted by Eric Blake and Bruno Haible.
77447 2008-06-24  Andreas Schwab  <schwab@suse.de>
77449         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
77450         literals can be used as initializers for global variables.
77452 2008-06-23  Eric Blake  <ebb9@byu.net>
77454         Make gnulib-cache.m4 easier to diff.
77455         * gnulib-tool (func_import): Allow newlines when reading cached
77456         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
77458 2008-06-23  Bruno Haible  <bruno@clisp.org>
77460         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
77461         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
77462         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
77463         m4/signalblocking.m4.
77464         (gl_PREREQ_SIGACTION): Don't invoke it.
77465         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
77466         gl_PREREQ_SIG_HANDLER_H.
77467         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
77468         Don't check for sigaction here.
77470 2008-06-23  Bruno Haible  <bruno@clisp.org>
77472         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
77473         (install_handlers): Don't set the SA_RESETHAND flag.
77475 2008-06-23  Bruno Haible  <bruno@clisp.org>
77477         * m4/sigaction.m4: Comment fixes.
77478         * lib/signal.in.h: Likewise.
77480 2008-06-23  Eric Blake  <ebb9@byu.net>
77482         Fix typo.
77483         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
77485         Avoid SA_ namespace.
77486         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
77487         Reported by Ralf Wildenhues.
77489         Avoid test failure due to SA_RESTORER.
77490         * tests/test-sigaction.c (SA_MASK): New macro.
77491         (main): Avoid failing due to extension flags being set.
77492         Reported by Jim Meyering.
77494         Revert use of sig-handler.h in sigprocmask.c.
77495         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
77496         it requires the existence of struct sigaction.
77497         * lib/sigprocmask.c (handler_t): Restore typedef.
77498         (rpl_signal, old_handlers): Use local type.
77500 2008-06-22  Bruno Haible  <bruno@clisp.org>
77502         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
77503         conditionally.
77504         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
77506 2008-06-22  Bruno Haible  <bruno@clisp.org>
77508         * doc/posix-functions/siginterrupt.texi: Move note.
77510         * lib/signal.in.h (SA_RESTART): New macro.
77511         * lib/sigaction.c: Update comment.
77513         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
77515         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
77516         (gl_PREREQ_SIGPROCMASK): Invoke it.
77517         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
77519         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
77521         * lib/sigprocmask.c: Update a comment.
77523 2008-06-21  Eric Blake  <ebb9@byu.net>
77525         Use sigaction module rather than signal().
77526         * modules/c-stack (Depends-on): Add sigaction.
77527         * modules/fatal-signal (Depends-on): Likewise.
77528         * modules/nanosleep (Depends-on): Likewise.
77529         * modules/sigprocmask (Files): Add sig-handler.h.
77530         * modules/sigaction (Files): Likewise.
77531         * lib/sig-handler.h (get_handler): New file, suggested by Paul
77532         Eggert.
77533         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
77534         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
77535         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
77536         (init_fatal_signals): Likewise.
77537         * lib/nanosleep.c (rpl_nanosleep): Likewise.
77538         (siginterrupt): Delete fallback.
77539         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
77540         instead.
77541         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
77542         siginterrupt.
77544         New module sigaction, for mingw.
77545         * modules/sigaction: New module...
77546         * modules/sigaction-tests: ...and its test.
77547         * m4/sigaction.m4: New file.
77548         * lib/sigaction.c: Likewise.
77549         * tests/test-sigaction.c: Likewise.
77550         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
77551         * modules/signal (Makefile.am): Likewise.
77552         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
77553         needed.
77554         * doc/posix-headers/signal.texi (signal.h): Mention provided
77555         types.
77556         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
77557         that sigaction is preferable.
77558         * doc/posix-functions/sigaction.texi (sigaction): Mention new
77559         module.
77560         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
77561         sigaction.
77563         Improve robustness of sigprocmask by overriding signal.
77564         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
77565         is in use.
77566         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
77567         (SIGKILL, SIGSTOP): Provide fallbacks.
77568         (rpl_signal): Implement.
77569         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
77570         signal can be called inside handlers.
77572         Fix nanosleep module on mingw.
77573         * modules/nanosleep (Depends-on): Add sys_select.
77574         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
77576         Fix licensing of sigprocmask.
77577         * modules/raise (License): Relicense as LGPL.
77579 2008-06-21  Bruno Haible  <bruno@clisp.org>
77581         * lib/propername.c (proper_name_utf8): Don't use the transliterated
77582         result if it contains question marks.
77583         Reported by Michael Geng <linux@michaelgeng.de>.
77585 2008-06-19  Bruno Haible  <bruno@clisp.org>
77587         Fix CVS-ism.
77588         * doc/gnulib.texi: Include updated-stamp.texi.
77589         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
77590         (updated-stamp.texi): New rule.
77591         (gnulib.info): Depend on it.
77592         * doc/.gitignore: Add updated-stamp.texi.
77593         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
77595 2008-06-19  Bruno Haible  <bruno@clisp.org>
77597         * doc/Makefile (gnulib.info): Update and simplify dependencies.
77598         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
77600 2008-06-19  Eric Blake  <ebb9@byu.net>
77602         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
77603         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
77604         Reported by Stepan Kasal.
77606 2008-06-18  Bruno Haible  <bruno@clisp.org>
77608         * lib/fatal-signal.c (init_fatal_signals): Add comment.
77609         Reported by Eric Blake.
77611 2008-06-18  Eric Blake  <ebb9@byu.net>
77613         Work around cygwin 1.5.25 strsignal bug.
77614         * tests/test-strsignal.c: Allow for const char *.
77615         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
77617 2008-06-18  Simon Josefsson  <simon@josefsson.org>
77619         * users.txt: Update URL to article and add author/date
77620         information.
77622 2008-06-17  Bruno Haible  <bruno@clisp.org>
77624         New macro gl_DISABLE_THREADS.
77625         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
77626         if the user did not pass --enable-threads or --disable-threads option.
77627         (gl_DISABLE_THREADS): New macro.
77628         Reported by Eric Blake <ebb9@byu.net>.
77630 2008-06-17  Bruno Haible  <bruno@clisp.org>
77632         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
77633         when the macro ignores it.
77634         Based on a patch by Eric Blake <ebb9@byu.net>.
77636 2008-06-17  Bruno Haible  <bruno@clisp.org>
77638         * modules/tls (License): Change to LGPLv2+.
77639         Reported by Eric Blake.
77641 2008-06-17  Eric Blake  <ebb9@byu.net>
77643         Simplify c-stack prerequisites.
77644         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
77645         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
77646         no longer requires <ucontext.h> to exist.  Optimize setrlimit
77647         check.
77648         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
77649         <sys/resource.h>.
77651         Move c-stack test into testsuite.
77652         * modules/c-stack-tests: New file.
77653         * lib/c-stack.c [DEBUG]: Move test program...
77654         * tests/test-c-stack.c: ...into this new file.  Skip rather than
77655         fail test if sigaltstack is lacking.
77656         * tests/test-c-stack.sh: New driver file.
77658 2008-06-16  Eric Blake  <ebb9@byu.net>
77660         Use raise module consistently.
77661         * modules/fatal-signal (Depends-on): Add raise.
77662         * modules/sigprocmask (Depends-on): Likewise.
77663         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
77664         * lib/sigprocmask.c (sigprocmask): Likewise.
77665         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
77666         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
77668         Fix compliance bug in sigpending.
77669         * lib/sigprocmask.c (sigpending): Return pending array via
77670         parameter, not return value.
77672 2008-06-14  Eric Blake  <ebb9@byu.net>
77674         Improve obstack-printf test code.
77675         * tests/test-obstack-printf.c (test_function): Fix comment, and
77676         simplify usage of obstack_* in macros.  Add a test for coverage.
77677         Reported by Bruno Haible.
77679 2008-06-14  Bruno Haible  <bruno@clisp.org>
77681         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
77682         array size as a constant, not as a const variable.
77683         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
77684         AC_USE_SYSTEM_EXTENSIONS.
77685         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
77686         Test whether the obstack_printf function actually exists.
77687         * modules/obstack-printf (Depends-on): Add extensions.
77688         (Include): Remove obstack.h.
77689         * modules/obstack-printf-posix (Depends-on): Add extensions.
77690         (Include): Remove obstack.h.
77692 2008-06-13  Eric Blake  <ebb9@byu.net>
77694         Add obstack-printf and obstack-printf-posix modules.
77695         * modules/obstack-printf: New file.
77696         * modules/obstack-printf-posix: Likewise.
77697         * MODULES.html.sh (Misc): Mention them.
77698         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
77699         Likewise.
77700         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
77701         Likewise.
77702         * modules/stdio (Makefile.am): Accomodate new modules.
77703         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
77704         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
77705         Declare.
77706         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
77707         functions.
77708         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
77709         (gl_REPLACE_OBSTACK_PRINTF): New macros
77710         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
77711         * tests/test-obstack-printf.c: New file.
77712         * modules/obstack-printf-tests: Likewise.
77713         * modules/obstack-printf-posix-tests: Likewise.
77715 2008-06-11  Bruno Haible  <bruno@clisp.org>
77717         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
77718         * lib/open.c: Include errno.h.
77719         (open): Fail when attempting to write to a file that has a trailing
77720         slash.
77721         * tests/test-open.c (main): Test against trailing slash bug.
77722         * doc/posix-functions/open.texi: Mention the trailing slash bug.
77724 2008-06-10  Bruno Haible  <bruno@clisp.org>
77726         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
77727         for $? to work inside the trap command, with various /bin/sh-s.
77728         * tests/test-vc-list-files-cvs.sh: Likewise.
77730 2008-06-10  Bruno Haible  <bruno@clisp.org>
77732         * lib/acl-internal.h: Don't include gettext.h here.
77733         * lib/set-mode-acl.c: Include gettext.h here.
77734         * lib/copy-acl.c: Likewise.
77736 2008-06-10  Bruno Haible  <bruno@clisp.org>
77738         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
77739         * lib/wait-process.c (wait_subprocess): Likewise.
77740         * lib/execute.h (execute): Add termsigp argument.
77741         * lib/execute.c (execute): Likewise.
77742         * lib/csharpcomp.c (compile_csharp_using_pnet,
77743         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
77744         * lib/csharpexec.c (execute_csharp_using_pnet,
77745         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
77746         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
77747         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
77748         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
77749         is_jikes_present): Update.
77750         * lib/javaexec.c (execute_java_class): Update.
77751         * lib/javaversion.c (execute_and_read_line): Update.
77752         * NEWS: Document the changes.
77753         Reported by Eric Blake.
77755 2008-06-10  Eric Blake  <ebb9@byu.net>
77757         Add missing include.
77758         * tests/test-strstr.c (includes): Add <signal.h>.
77759         * tests/test-strcasestr.c (includes): Likewise.
77760         * tests/test-memmem.c (includes): Likewise.
77762 2008-06-10  Bruno Haible  <bruno@clisp.org>
77764         * lib/wait-process.c (wait_subprocess): Add an assertion.
77766 2008-06-10  Bruno Haible  <bruno@clisp.org>
77768         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
77770 2008-06-10  Bruno Haible  <bruno@clisp.org>
77772         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
77773         using alarm().
77774         * tests/test-strcasestr.c (main): Likewise.
77775         * tests/test-strstr.c (main): Likewise.
77777 2008-06-09  Bruno Haible  <bruno@clisp.org>
77779         Work around the Solaris 10 ACE ACLs ABI change.
77780         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
77781         declare if ACL_NO_TRIVIAL is present.
77782         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
77783         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
77784         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
77785         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
77786         define if ACL_NO_TRIVIAL is present.
77787         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
77788         and use the current ABI.
77789         (file_has_acl): Use same #if condition as elsewhere.
77790         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
77791         in use, and use the current ABI.
77792         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
77793         Reported by Jim Meyering.
77795 2008-06-09  Eric Blake  <ebb9@byu.net>
77797         Work around environments that (stupidly) ignore SIGALRM.
77798         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
77799         before using alarm().
77800         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
77801         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
77802         Reported by Ian Beckwith <ianb@erislabs.net>.
77804         Produce autobuild blurb earlier in log.
77805         * modules/autobuild (configure.ac-early): Move AB_INIT here.
77807 2008-06-09  Jim Meyering  <meyering@redhat.com>
77808         and Ondřej Vašík  <ovasik@redhat.com>
77810         utimens.c: correct kernel bug work-around
77811         Ondřej Vašík found that the invalid return value of 280 indicates
77812         failure, not success, and the kernel bug we're trying to work
77813         around affects not just the utimensat call, but also the fallback
77814         futimens call.
77815         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
77816         not success.
77817         [HAVE_FUTIMENS]: Use the same work-around, here.
77819 2008-06-09  Jim Meyering  <meyering@redhat.com>
77821         add more guards around definition of ACE_-related code
77822         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
77823         ALLOW and ACE_OWNER are also defined.
77825 2008-06-08  Bruno Haible  <bruno@clisp.org>
77827         * lib/acl-internal.h: Add me as co-author.
77828         * lib/file-has-acl.c: Likewise.
77829         * lib/set-mode-acl.c: Likewise.
77830         * lib/copy-acl.c: Likewise.
77832 2008-06-08  Bruno Haible  <bruno@clisp.org>
77834         Add support for AIX ACLs.
77835         * lib/acl-internal.h (acl_nontrivial): New declaration.
77836         * lib/file-has-acl.c (acl_nontrivial): New function.
77837         (file_has_acl): Add implementation using AIX 4 ACL API.
77838         * lib/set-mode-acl.c (qset_acl): Likewise.
77839         * lib/copy-acl.c (qcopy_acl): Likewise.
77841 2008-06-08  Bruno Haible  <bruno@clisp.org>
77843         Add support for HP-UX ACLs.
77844         * lib/acl-internal.h (acl_nontrivial): New declaration.
77845         * lib/file-has-acl.c (acl_nontrivial): New function.
77846         (file_has_acl): Add implementation using HP-UX 11 ACL API.
77847         * lib/set-mode-acl.c (qset_acl): Likewise.
77848         * lib/copy-acl.c (qcopy_acl): Likewise.
77850 2008-06-08  Bruno Haible  <bruno@clisp.org>
77852         Add support for Cygwin ACLs.
77853         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
77854         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
77855         the chmod_or_fchmod call.
77856         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
77858 2008-06-08  Bruno Haible  <bruno@clisp.org>
77860         Fix bug with setuid modes in Solaris 10+ code.
77861         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
77862         succeeded, when the mode contains some special bits.
77864 2008-06-08  Bruno Haible  <bruno@clisp.org>
77866         Add support for Solaris 7..10 ACLs.
77867         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
77868         declarations.
77869         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
77870         functions.
77871         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
77872         * lib/set-mode-acl.c (qset_acl): Likewise.
77873         * lib/copy-acl.c (qcopy_acl): Likewise.
77875 2008-06-08  Bruno Haible  <bruno@clisp.org>
77877         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
77878         declaration.
77879         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
77880         (acl_access_nontrivial): Remove MacOS X case.
77881         (file_has_acl): Use acl_extended_nontrivial.
77882         * lib/copy-acl.c (qcopy_acl): Likewise.
77884 2008-06-08  Bruno Haible  <bruno@clisp.org>
77886         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
77888 2008-06-08  Jim Meyering  <meyering@redhat.com>
77890         * modules/acl (Maintainer): Add Bruno Haible.
77892 2008-06-07  Bruno Haible  <bruno@clisp.org>
77894         Improve support for Tru64 ACLs.
77895         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
77896         ACL on OSF/1.
77898 2008-06-07  Bruno Haible  <bruno@clisp.org>
77900         Add support for MacOS X ACLs.
77901         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
77902         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
77903         * lib/set-mode-acl.c (qset_acl): Likewise.
77904         * lib/copy-acl.c (qcopy_acl): Likewise.
77906 2008-06-07  Bruno Haible  <bruno@clisp.org>
77908         Fix memory leak introduced on 2008-05-22.
77909         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
77910         use.
77912 2008-06-07  Bruno Haible  <bruno@clisp.org>
77914         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
77915         to construct an empty ACL.
77917 2008-06-07  Bruno Haible  <bruno@clisp.org>
77919         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
77920         precisely.
77921         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
77923 2008-06-07  Bruno Haible  <bruno@clisp.org>
77925         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
77926         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
77928 2008-06-07  Bruno Haible  <bruno@clisp.org>
77930         * doc/posix-functions/_setjmp.texi: Explain the use of this function
77931         regardless of POSIX.
77932         * doc/posix-functions/_longjmp.texi: Likewise.
77933         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
77934         SystemV platform in this case.
77936 2008-06-06  Eric Blake  <ebb9@byu.net>
77938         Document abort() bugs.
77939         * doc/posix-functions/abort.texi (abort): Mention anomalies.
77941         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
77942         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
77943         sigsetjmp.
77944         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
77945         siglongjmp, but only as a macro.
77946         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
77947         is obsolete.
77948         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
77950         Tweak documentation to cover cygwin argz bugs.
77951         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
77952         argz bug fix; no code change needed since no cygwin releases
77953         occurred between the last fix and the bug being tested.
77954         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
77955         module and recently fixed cygwin bugs.
77956         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
77957         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
77958         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
77959         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
77960         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
77961         Likewise.
77962         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
77963         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
77964         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
77965         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
77966         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
77967         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
77968         Likewise.
77970         Avoid gcc warning on cygwin.
77971         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
77972         !ACL_NO_TRIVIAL]: Avoid unused variable.
77974 2008-06-05  Eric Blake  <ebb9@byu.net>
77976         Be tolerant of UNKNOWN version in gnulib-tool test dir.
77977         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
77978         git-version-gen fails to come up with a version.
77979         Reported by Simon Josefsson.
77981 2008-06-05  Jim Meyering  <meyering@redhat.com>
77982             Paul Eggert  <eggert@cs.ucla.edu>
77984         utimens.c: work around a probable Linux kernel bug
77985         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
77986         appears to be a kernel bug that causes utimensat to return 280
77987         instead of 0, indicating success.
77989 2008-06-04  Bruno Haible  <bruno@clisp.org>
77991         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
77992         2008-06-01 commit.
77994 2008-06-04  Bruno Haible  <bruno@clisp.org>
77996         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
77997         * lib/file-has-acl.c (acl_access_nontrivial): New function.
77998         (file_has_acl): Use it. Save errno afterwards.
77999         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
78001 2008-06-03  Bruno Haible  <bruno@clisp.org>
78003         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
78004         draft code. Simplify #ifs.
78005         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
78006         Put Solaris code after POSIX-draft code. Fix comments regarding
78007         Solaris 10, HP-UX. Mention Cygwin.
78008         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
78010 2008-06-03  Eric Blake  <ebb9@byu.net>
78012         Provide fallback for older kernels.
78013         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
78014         Provide runtime fallback if kernel lacks support.
78015         Reported by Mike Frysinger.
78017 2008-06-02  Bruno Haible  <bruno@clisp.org>
78019         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
78020         it exists.
78022 2008-06-02  Bruno Haible  <bruno@clisp.org>
78024         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
78025         * lib/copy-acl.c (qcopy_acl): Update comment.
78027 2008-06-02  Bruno Haible  <bruno@clisp.org>
78029         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
78030         like ACL APIs.
78032 2008-06-02  Bruno Haible  <bruno@clisp.org>
78034         * tests/test-file-has-acl.sh: Use different code for Cygwin.
78035         * tests/test-set-mode-acl.sh: Likewise.
78036         * tests/test-copy-acl.sh: Likewise.
78037         * tests/test-copy-file.sh: Likewise.
78039 2008-06-02  Bruno Haible  <bruno@clisp.org>
78041         * tests/test-file-has-acl.sh: Remove unused code.
78043 2008-06-01  Bruno Haible  <bruno@clisp.org>
78045         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
78046         (copy_acl): Just a wrapper around qcopy_acl that emits the error
78047         messages.
78048         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
78050 2008-06-01  Bruno Haible  <bruno@clisp.org>
78052         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
78053         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
78054         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
78055         APIs.
78056         * modules/acl-tests (configure.ac): Remove tests now contained in
78057         m4/acl.m4.
78059 2008-06-02  Jim Meyering  <meyering@redhat.com>
78061         announce-gen: use a better key-server host name
78062         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
78063         it may be more consistently reliable.  Suggested by Werner Koch
78064         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
78066 2008-06-01  Bruno Haible  <bruno@clisp.org>
78068         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
78069         Reported by Voroskoi Andras <voroskoi@gmail.com>.
78071 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
78073         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
78075 2008-06-01  Bruno Haible  <bruno@clisp.org>
78077         New ACL tests.
78078         * tests/test-file-has-acl.sh: New file.
78079         * tests/test-file-has-acl.c: New file.
78080         * tests/test-set-mode-acl.sh: New file.
78081         * tests/test-set-mode-acl.c: New file.
78082         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
78083         * tests/test-copy-acl.c: New file.
78084         * modules/acl-tests: New file, based on modules/copy-file-tests.
78085         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
78086         (Depends-on): Add acl-tests.
78087         (configure.ac): Remove checks.
78088         (Makefile.am): Don't create test-sameacls program here any more.
78090 2008-06-01  Bruno Haible  <bruno@clisp.org>
78092         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
78093         * tests/test-sameacls.c: Include progname.h.
78094         (main): Invoke set_program_name. Portability fixes for MacOS X,
78095         Solaris, HP-UX.
78097 2008-06-01  Bruno Haible  <bruno@clisp.org>
78099         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
78100         function.
78101         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
78103 2008-06-01  Bruno Haible  <bruno@clisp.org>
78105         * modules/rpmatch (Depends-on): Add strdup.
78107 2008-06-01  Bruno Haible  <bruno@clisp.org>
78109         * lib/pipe.c: Include unistd-safer.h.
78110         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
78111         * modules/pipe (Depends-on): Add unistd-safer.
78113 2008-05-30  Simon Josefsson  <simon@josefsson.org>
78115         * modules/autobuild (configure.ac): Call AB_INIT.
78117 2008-05-30  Simon Josefsson  <simon@josefsson.org>
78119         * tests/test-getaddrinfo.c: Don't print debug messages by default.
78120         Suggested by Bruno Haible <bruno@clisp.org>.
78122 2008-05-30  Simon Josefsson  <simon@josefsson.org>
78124         * tests/test-base64.c: Cast size_t to unsigned long when invoking
78125         printf.  Use %lu instead of %d.  Reported by Bruno Haible
78126         <bruno@clisp.org>.
78128 2008-05-29  Eric Blake  <ebb9@byu.net>
78130         Prefer new POSIX 200x interfaces over futimesat.
78131         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
78132         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
78133         when available.
78134         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
78136 2008-05-28  Bruno Haible  <bruno@clisp.org>
78138         * modules/stpcpy (License): Change to LGPLv2+.
78139         Requested by David Lutterkort <dlutter@redhat.com>.
78141 2008-05-27  Bruno Haible  <bruno@clisp.org>
78143         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
78144         current mingw.
78145         Reported by Jose E. Marchesi <jemarch@gnu.org>.
78147 2008-05-27  Bruno Haible  <bruno@clisp.org>
78149         * modules/iconv_open (Link): New section, from module 'iconv'.
78150         * modules/striconv (Link): Likewise.
78151         * modules/striconveh (Link): Likewise.
78152         * modules/xstriconv (Link): Likewise.
78153         * modules/unicodeio (Link): Likewise.
78154         * modules/propername (Link): Likewise.
78155         Reported by Jim Meyering.
78157 2008-05-26  Jim Meyering  <meyering@redhat.com>
78159         sha256: do not artificially restrict buffer length to be < 2^32
78160         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
78161         uint32_t to size_t.
78162         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
78163         to match.
78165         avoid unaligned access errors, e.g., on sparc
78166         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
78167         direct access through a possibly-unaligned uint64* pointer.
78168         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
78169         direct access through a possibly-unaligned uint32* pointer.
78170         Prompted by this patch from Tom "spot" Callaway:
78171         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
78173         sha512.c: fix typo in comment
78174         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
78176 2008-05-25  Bruno Haible  <bruno@clisp.org>
78178         * lib/set-mode-acl.c: Renamed from lib/acl.c.
78179         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
78180         (Makefile.am): Update lib_SOURCES.
78182 2008-05-25  Bruno Haible  <bruno@clisp.org>
78184         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
78186 2008-05-25  Jim Meyering  <meyering@redhat.com>
78188         useless-if-before-free: freed expr may have white-space differences
78189         * build-aux/useless-if-before-free: Recognize cases in which the
78190         freed expression differs from the tested one in embedded white
78191         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
78192         $1 was used, so we can't make any regexp shy.  Improved tests now
78193         detect this.
78195         useless-if-before-free: accept white space in the expression.
78196         * build-aux/useless-if-before-free: For now, any white space
78197         in the expression must be identical in the free argument.
78199         useless-if-before-free: efficiency tweak
78200         * build-aux/useless-if-before-free: Make the expression-matching
78201         regexp "shy".
78202         Make the *outer* regexp shy, not the expr-matching one.
78204         update code-in-comment to accept cast of free arg
78205         * build-aux/useless-if-before-free: Update regexp.
78207 2008-05-25  Bruno Haible  <bruno@clisp.org>
78209         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
78210         * modules/copy-file-tests (Files, Makefile.am): Update.
78211         * tests/test-copy-file.c (func_test_copy): Update.
78213 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
78215         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
78217 2008-05-23  Bruno Haible  <bruno@clisp.org>
78219         Improve support for ACLs on OSF/1.
78220         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
78221         Remove fallback for unknown flavors of ACLs.
78223 2008-05-22  Bruno Haible  <bruno@clisp.org>
78225         Add support for ACLs on OSF/1.
78226         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
78227         replacements.
78228         (acl_free_text): New macro fallback.
78229         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
78230         acl_free.
78231         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
78232         acl_free_text function. Require AC_C_INLINE.
78234 2008-05-22  Bruno Haible  <bruno@clisp.org>
78236         Make copy_acl work on MacOS X 10.5.
78237         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
78238         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
78239         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
78240         If MODE_INSIDE_ACL, don't assume that every system has the same text
78241         representation for ACLs as FreeBSD.
78242         * lib/copy-acl.c (copy_acl): Add support for platforms with
78243         !MODE_INSIDE_ACL.
78244         * lib/file-has-acl.c (file_has_acl): Likewise.
78245         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
78246         FreeBSD, MacOS X, or IRIX, respectively.
78248 2008-05-22  Bruno Haible  <bruno@clisp.org>
78250         * lib/acl.h: Don't include <sys/acl.h>.
78251         (GETACLCNT): Move fallback to lib/acl-internal.h.
78252         * lib/acl-internal.h: Include <sys/acl.h> here.
78253         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
78255 2008-05-22  Bruno Haible  <bruno@clisp.org>
78257         Split off copy_acl function to separate file.
78258         * lib/copy-acl.c: New file, extracted from lib/acl.c.
78259         * lib/acl.c (copy_acl): Moved function to separate file.
78260         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
78261         * modules/acl (Files): Add lib/copy-acl.c.
78262         (Makefiles.am): Augment lib_SOURCES.
78264 2008-05-22  Bruno Haible  <bruno@clisp.org>
78266         * modules/copy-file-tests: New file.
78267         * tests/test-copy-file.sh: New file.
78268         * tests/test-copy-file.c: New file.
78269         * tests/test-copy-file-sameacls.c: New file.
78271 2008-05-22  Eric Blake  <ebb9@byu.net>
78273         Avoid gcc warning.
78274         * tests/test-memcmp.c (main): Pass NULL indirectly.
78276 2008-05-21  Bruno Haible  <bruno@clisp.org>
78278         Add reference doc about ACLs.
78279         * doc/acl-resources.txt: New file.
78280         * doc/acl-cygwin.txt: New file.
78282 2008-05-21  Bruno Haible  <bruno@clisp.org>
78284         Avoid one more warning from gcc.
78285         * lib/vasnprintf.c (IF_LINT): Update comments.
78286         (VASNPRINTF): Use it also for the 'prefix' array initializer.
78288 2008-05-21  Jim Meyering  <meyering@redhat.com>
78290         avoid a warning from gcc
78291         * lib/vasnprintf.c (IF_LINT): Define.
78292         (scale10_round_decimal_long_double):
78293         Use it to avoid a "may be used uninitialized" warning.
78294         (scale10_round_decimal_double): Likewise.
78296 2008-05-21  Simon Josefsson  <simon@josefsson.org>
78298         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
78299         declared.
78301 2008-05-20  Bruno Haible  <bruno@clisp.org>
78303         * tests/test-memcmp.c (main): Test also the sign of the result. Test
78304         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
78306 2008-05-20  Simon Josefsson  <simon@josefsson.org>
78308         * modules/memcmp-tests: New file.
78309         * tests/test-memcmp.c: New file.
78311 2008-05-19  Bruno Haible  <bruno@clisp.org>
78313         * modules/propername (Notice, configure.ac): Put quoted "..." into
78314         --keyword option.
78315         * lib/propername.h: Update comments accordingly.
78316         Reported by Eric Blake.
78318 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
78320         * modules/getpass-gnu (Depends-on): Add fseeko.
78322 2008-05-19  Simon Josefsson  <simon@josefsson.org>
78324         * modules/base64-tests: New file.
78326 2008-05-19  Bo Borgerson  <gigabo@gmail.com>
78328         * lib/base64.c (base64_decode_ctx): If a decode context structure
78329         was passed in use it to ignore newlines.  If a context structure
78330         was _not_ passed in, continue to treat newlines as garbage (this
78331         is the historical behavior).  Formerly base64_decode.
78332         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
78333         takes a decode context structure.
78334         * lib/base64.h (base64_decode): Macro for four-argument calls.
78335         (base64_decode_alloc): Likewise.
78336         * lib/base64.c (base64_decode_ctx): If a decode context structure
78337         was passed in use it to ignore newlines.  If a context structure
78338         was _not_ passed in, continue to treat newlines as garbage (this
78339         is the historical behavior).  Formerly base64_decode.
78340         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
78341         takes a decode context structure.
78342         * lib/base64.h (base64_decode): Macro for four-argument calls.
78343         (base64_decode_alloc): Likewise.
78345 2008-05-19  Jim Meyering  <meyering@redhat.com>
78347         avoid a warning from gcc
78348         * lib/trim.c (IF_LINT): Define.
78349         (trim2): Use it to avoid a "may be used uninitialized" warning.
78351         Fix doc typo.
78352         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
78354 2008-05-19  Bruno Haible  <bruno@clisp.org>
78356         * doc/glibc-functions/getpass.texi: Document limits of other
78357         implementations.
78359 2008-05-19  Simon Josefsson  <simon@josefsson.org>
78360             Bruno Haible <bruno@clisp.org>
78362         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
78364 2008-05-18  Bruno Haible  <bruno@clisp.org>
78366         * modules/propername: New file, from GNU gettext.
78367         * lib/propername.h: New file, from GNU gettext.
78368         * lib/propername.c: New file, from GNU gettext.
78369         * MODULES.html.sh (Internationalization functions): Add propername.
78371 2008-05-16  Jim Meyering  <meyering@redhat.com>
78372             Bruno Haible  <bruno@clisp.org>
78374         Avoid some warnings from "gcc -Wshadow".
78375         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
78377 2008-05-15  Eric Blake  <ebb9@byu.net>
78379         Extend previous patch to cygwin 1.7.0.
78380         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
78381         fast implementation in cygwin >= 1.7.0.
78382         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
78383         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
78385 2008-05-15  Bruno Haible  <bruno@clisp.org>
78387         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
78388         implementation in glibc >= 2.9.
78389         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
78390         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
78392 2008-05-15  Bruno Haible  <bruno@clisp.org>
78394         * MODULES.html.sh (Internationalization functions): Remove linebreak.
78395         (Unicode string functions): Add unilbrk/*.
78396         Reported by Karl Berry.
78398 2008-05-15  Eric Blake  <ebb9@byu.net>
78400         Fix violation of <stdbool.h> replacement in regex.
78401         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
78402         * lib/regexec.c (re_search_internal): Likewise.
78403         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
78405 2008-05-15  Jim Meyering  <meyering@redhat.com>
78407         avoid distracting test output when git or cvs is not found
78408         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
78409         * tests/test-vc-list-files-git.sh: Likewise.
78411 2008-05-15  Eric Blake  <ebb9@byu.net>
78413         Glibc finally accepted the memmem speedup code, bugzilla #5514.
78414         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
78415         glibc version.
78416         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
78417         * doc/posix-functions/strstr.texi (strstr): Likewise.
78418         * lib/str-two-way.h (MAX): Sychronize with glibc.
78420 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
78422         * lib/regcomp.c (optimize_utf8): Add a note on why we test
78423         opr.ctx_type.
78424         (calc_first): Initialize constraint field.
78425         (duplicate_node_closure): Use it instead of special casing ANCHORS.
78426         Fix grammar.
78427         (duplicate_node): Merge constraint field for all node types.
78428         (calc_eclosure_iter): Look at constraint field for all node types.
78429         * lib/regex_internal.c (create_cd_newstate): Don't look at
78430         opr.ctx_type.
78432 2008-05-14  Bruno Haible  <bruno@clisp.org>
78434         Help GCC to do better code generation.
78435         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
78436         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
78437         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
78438         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
78439         Declare with attribute 'malloc' if supported.
78441 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
78443         use "echo STR|wc -c" rather than unportable "expr length STR"
78444         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
78445         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
78447 2008-05-14  Jim Meyering  <meyering@redhat.com>
78449         use dd ibs=$n count=1 ... rather than less-portable head -c$n
78450         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
78451         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
78452         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
78453         via Collin Lasse.
78455 2008-05-14  Eric Blake  <ebb9@byu.net>
78457         Avoid quadratic growth in gl_LIBSOURCES.
78458         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
78459         Suggested by Bruno Haible.
78461         Test xmemdup0.
78462         * modules/xmemdup0-tests: New file.
78463         * tests/test-xmemdup0.c: Likewise.
78465 2008-05-13  Eric Blake  <ebb9@byu.net>
78467         Split xmemdup0 into its own module.
78468         * modules/xmemdup0: New file.
78469         * lib/xmemdup0.h: Likewise.
78470         * lib/xmemdup0.c: Likewise.
78471         * MODULES.html.sh (Memory management functions): Add xmemdup0.
78472         * lib/xalloc.h (xmemdup0): Remove.
78473         * lib/xmalloc.c (xmemdup0): Likewise.
78475 2008-05-13  Eric Blake  <ebb9@byu.net>
78476             Bruno Haible  <bruno@clisp.org>
78478         Reduce number of forks required during autoconf.
78479         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
78480         and gl_LIBSOURCES_DIR.
78481         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
78482         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
78483         m4_syscmd per file.
78484         <m4_foreach_w>: Move...
78485         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
78487 2008-05-13  Eric Blake  <ebb9@byu.net>
78489         * gnulib-tool: Fix various comment typos.
78491 2008-05-12  Bruno Haible  <bruno@clisp.org>
78493         Tailor the linebreaking algorithm.
78494         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
78496 2008-05-12  Bruno Haible  <bruno@clisp.org>
78498         Update to Unicode 5.0.0.
78499         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
78500         LBP_JV, LBP_JT. Redistribute values.
78501         (unilbrk_table): Change size.
78502         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
78503         Unicode TR#14 rev. 22.
78504         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
78505         LBP_JV, LBP_JT. Redistribute values.
78506         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
78507         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
78508         Update.
78509         * lib/unilbrk/lbrkprop1.h: Regenerated.
78510         * lib/unilbrk/lbrkprop2.h: Regenerated.
78511         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
78512         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
78513         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
78514         Likewise.
78515         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
78516         Likewise.
78517         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
78518         result.
78519         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
78520         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
78521         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
78522         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
78523         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
78524         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
78526 2008-05-11  Bruno Haible  <bruno@clisp.org>
78528         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
78530 2008-05-11  Bruno Haible  <bruno@clisp.org>
78532         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
78533         * modules/unilbrk/gen-lbrk: New file.
78535 2008-05-11  Bruno Haible  <bruno@clisp.org>
78537         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
78538         * m4/sha512.m4 (gl_SHA512): Likewise.
78540 2008-05-11  Jim Meyering  <meyering@redhat.com>
78542         New modules: crypto/sha256, crypto/sha512 (from coreutils)
78543         * modules/crypto/sha256: New file.
78544         * modules/crypto/sha512: Likewise.
78545         * lib/sha256.c: Likewise.
78546         * lib/sha256.h: Likewise.
78547         * lib/sha512.c: Likewise.
78548         * lib/sha512.h: Likewise.
78549         * lib/u64.h: Likewise.
78550         * m4/sha256.m4: Likewise.
78551         * m4/sha512.m4: Likewise.
78552         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
78554 2008-05-10  Bruno Haible  <bruno@clisp.org>
78556         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
78557         (Input/Output <stdio.h>): Add xprintf.
78558         (Signal handling <signal.h>): Add strsignal.
78559         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
78560         (Core language properties): Add func.
78561         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
78562         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
78563         strings.
78564         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
78565         (Input/output): New section.
78566         (File system functions): Add openat-die, stat-macros.
78567         (Networking functions): Add sockets.
78568         (Unicode string functions): Add unictype/*.
78569         (Support for building libraries and executables): Add gperf.
78570         (Support for building documentation): Add agpl-3.0.
78571         (Misc): Add nocrash.
78573 2008-05-10  Bruno Haible  <bruno@clisp.org>
78575         * modules/unictype/gen-ctype: New file.
78577 2008-05-10  Jim Meyering  <meyering@redhat.com>
78579         Make chdir-safer.c more efficient on a system with no symlinks.
78580         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
78581         also if ELOOP is zero.  Suggested by Bruno Haible.
78583         Make chdir-safer.c slightly safer.
78584         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
78585         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
78587         Avoid compile failure on systems without ELOOP (like mingw).
78588         * lib/chdir-safer.c (ELOOP): Define if not already defined.
78589         Reported by Bruno Haible.
78591 2008-05-10  Bruno Haible  <bruno@clisp.org>
78593         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
78594         (is_utf8_encoding): Use a case-insensitive comparison.
78595         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
78596         streq.
78598 2008-05-10  Bruno Haible  <bruno@clisp.org>
78600         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
78601         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
78602         * lib/unilbrk/ulc-common.h (iconv_string_length,
78603         iconv_string_keeping_offsets): Remove declarations.
78604         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
78605         Don't include <iconv.h>, streq.h, xsize.h.
78606         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
78607         conversion.
78608         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
78609         <iconv.h>, streq.h, xsize.h.
78610         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
78611         conversion.
78612         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
78613         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
78614         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
78615         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
78617 2008-05-10  Bruno Haible  <bruno@clisp.org>
78619         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
78620         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
78622         * modules/unilbrk/u32-width-linebreaks-tests: New file.
78623         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
78625         * modules/unilbrk/u16-width-linebreaks-tests: New file.
78626         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
78628         * modules/unilbrk/u8-width-linebreaks-tests: New file.
78629         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
78631         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
78632         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
78634         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
78635         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
78637         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
78638         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
78640         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
78641         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
78643 2008-05-10  Bruno Haible  <bruno@clisp.org>
78645         Split up 'linebreak' module.
78646         * lib/unilbrk.h: New file, based on lib/linebreak.h.
78647         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
78648         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
78649         modifications.
78650         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
78651         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
78652         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
78653         lib/linebreak.c.
78654         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
78655         lib/linebreak.c.
78656         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
78657         lib/linebreak.c.
78658         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
78659         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
78660         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
78661         lib/linebreak.c.
78662         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
78663         lib/linebreak.c.
78664         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
78665         lib/linebreak.c.
78666         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
78667         lib/linebreak.c.
78668         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
78669         lib/linebreak.c.
78670         * modules/unilbrk/base: New file.
78671         * modules/unilbrk/tables: New file.
78672         * modules/unilbrk/u8-possible-linebreaks: New file.
78673         * modules/unilbrk/u16-possible-linebreaks: New file.
78674         * modules/unilbrk/u32-possible-linebreaks: New file.
78675         * modules/unilbrk/ulc-common: New file.
78676         * modules/unilbrk/ulc-possible-linebreaks: New file.
78677         * modules/unilbrk/u8-width-linebreaks: New file.
78678         * modules/unilbrk/u16-width-linebreaks: New file.
78679         * modules/unilbrk/u32-width-linebreaks: New file.
78680         * modules/unilbrk/ulc-width-linebreaks: New file.
78681         * lib/linebreak.h: Remove file.
78682         * lib/linebreak.c: Remove file.
78683         * m4/linebreak.m4: Remove file.
78684         * modules/linebreak: Remove file.
78685         * NEWS: Mention the changes.
78687 2008-05-09  Eric Blake  <ebb9@byu.net>
78689         Add xmemdup0.
78690         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
78691         implementation.
78692         * lib/xmalloc.c (xmemdup0): New C implementation.
78694 2008-05-08  Bruno Haible  <bruno@clisp.org>
78696         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
78698 2008-05-07  Eric Blake  <ebb9@byu.net>
78700         Support cross-compilation of <wctype.h>.
78701         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
78702         AC_CACHE_CHECK.
78704 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
78706         * build-aux/vc-list-files: Add support for bzr.
78708 2008-05-03  Jim Meyering  <meyering@redhat.com>
78710         avoid failed assertion with tight malloc
78711         * tests/test-getndelim2.c: Correct an off-by-one assertion.
78713 2008-05-03  Simon Josefsson  <simon@josefsson.org>
78715         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
78716         are needed from arpa/inet.h.
78717         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
78718         Reported by Bruno Haible.
78720 2008-05-02  Jim Meyering  <meyering@redhat.com>
78722         avoid compilation error on FreeBSD 6
78723         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
78725 2008-05-01  Jim Meyering  <meyering@redhat.com>
78727         useless-if-before-free: correct --help's exit status description
78728         * build-aux/useless-if-before-free (usage): Like grep, exit 0
78729         for one or more matches, etc.  Reported by Bruno Haible.
78731         vc-list-files: make the stand-alone gnulib test work
78732         * modules/vc-list-files-tests (configure.ac):
78733         Define and AC_SUBST abs_aux_dir.
78734         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
78735         $(abs_top_srcdir) to each script and having each of them
78736         duplicate the work of setting PATH, set PATH here, using
78737         the new variable, abs_aux_dir instead.
78738         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
78739         * tests/test-vc-list-files-git.sh: Likewise.
78740         Reported by Bruno Haible.
78742 2008-05-01  Bruno Haible  <bruno@clisp.org>
78744         * lib/getndelim2.c (getndelim2): Fix newsize computation during
78745         reallocation. Rename 'done' to 'found_delimiter'.
78747 2008-05-01  Jim Meyering  <meyering@redhat.com>
78749         vc-list-files: accommodate /bin/sh like the one from Solaris 10
78750         * build-aux/vc-list-files: Use `...`, not $(...).
78752 2008-04-30  Jim Meyering  <meyering@redhat.com>
78754         add tests for vc-list-files
78755         * modules/vc-list-files-tests: New module.
78756         * tests/test-vc-list-files-cvs.sh: New file.
78757         * tests/test-vc-list-files-git.sh: New file.
78759         avoid a warning from gcc
78760         * lib/getndelim2.c (IF_LINT): Define.
78761         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
78763         vc-list-files: work properly with build-aux/cvsu, too
78764         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
78765         to all cvs-based clauses.
78767         vc-list-files: work properly in the CVS+awk case, too
78768         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
78770         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
78771         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
78772         take more than one file argument, so .  Add quotes, just in case $dir
78773         ever contains a shell meta-character.  Prompted by Soren Hansen in
78774         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
78776 2008-04-29  Eric Blake  <ebb9@byu.net>
78778         Optimize getndelim2 to use block operations when possible.
78779         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
78780         freadseek, and memchr2.
78781         * lib/getndelim2.c (getndelim2): Use them for block reads.
78783 2008-04-29  Bruno Haible  <bruno@clisp.org>
78785         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
78786         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
78787         * modules/inet_ntop (Depends-on): Add extensions.
78788         * modules/inet_pton (Depends-on): Likewise.
78789         Reported by Simon Josefsson.
78791 2008-04-29  Jim Meyering  <meyering@redhat.com>
78793         When the is more than one match in a block, match all of them.
78794         * build-aux/useless-if-before-free: Iterate through each block
78795         until there are no more matches.
78797         Fix broken useless-if-before-free script.
78798         * build-aux/useless-if-before-free: Fix typo: missing "?" after
78799         the expression to match cast of argument to free-like function.
78801 2008-04-29  Eric Blake  <ebb9@byu.net>
78803         Use new header.
78804         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
78806 2008-04-29  Jim Meyering  <meyering@redhat.com>
78808         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
78809         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
78810         by gnulib to exist and to declare e.g., inet_ntop.
78811         Don't include "inet_ntop.h", now removed.
78813         * m4/arpa_inet_h.m4: Remove trailing blanks.
78815 2008-04-29  Eric Blake  <ebb9@byu.net>
78817         Silence valgrind on safe reads beyond potential array bounds.
78818         * lib/rawmemchr.valgrind: New file.
78819         * lib/strchrnul.valgrind: Likewise.
78820         * modules/rawmemchr (Files): Distribute new file.
78821         * modules/strchrnul (Files): Likewise.
78822         Suggested by Bruno Haible.
78824 2008-04-29  Bruno Haible  <bruno@clisp.org>
78826         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
78827         (inet_ntop, inet_pton): Change portability warning's wording.
78828         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
78829         Invoke gl_CHECK_NEXT_HEADERS.
78830         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
78831         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
78832         set ARPA_INET_H.
78833         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
78834         * modules/arpa_inet (Description): No longer only for systems that
78835         lack it.
78836         (Depends-on): Add include_next.
78837         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
78838         HAVE_ARPA_INET_H.
78840 2008-04-29  Jim Meyering  <meyering@redhat.com>
78842         * modules/mkdir (License): Re-license as LGPLv2+.
78844 2008-04-29  Bruno Haible  <bruno@clisp.org>
78846         * modules/rawmemchr (Maintainer): Set to Eric.
78847         * modules/strchrnul (Maintainer): Likewise.
78849 2008-04-29  Simon Josefsson  <simon@josefsson.org>
78851         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
78852         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
78854         * modules/arpa_inet (arpa/inet.h): Use them.
78856 2008-04-28  Eric Blake  <ebb9@byu.net>
78858         Test getndelim2.
78859         * modules/getndelim2-tests: New file.
78860         * tests/test-getndelim2.c: Likewise.
78861         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
78862         stream.
78863         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
78865         * MODULES.html.sh: Document new module.
78867 2008-04-20  Bruno Haible  <bruno@clisp.org>
78869         * lib/c-stack.c (die): Use raise.
78870         * modules/c-stack (Depends-on): Add raise.
78872 2008-04-28  Bruno Haible  <bruno@clisp.org>
78874         Expect rpmatch to be declared.
78875         * lib/yesno.c (rpmatch): Remove declaration.
78877         Declare rpmatch.
78878         * lib/stdlib.in.h (rpmatch): New declaration.
78879         * lib/rpmatch.c: Include <stdlib.h> first.
78880         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
78881         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
78882         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
78883         HAVE_RPMATCH.
78884         * modules/rpmatch (Depends-on): Add stdlib, extensions.
78885         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
78886         (Include): Set to <stdlib.h>.
78887         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
78888         HAVE_RPMATCH.
78889         * NEWS: Document the change.
78891 2008-04-28  Bruno Haible  <bruno@clisp.org>
78893         Change rpmatch to use nl_langinfo when appropriate.
78894         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
78895         (N_): New macro.
78896         (localized_pattern): New function/macro.
78897         (try): Remove match, nomatch arguments. Copy the pattern into safe
78898         memory before caching it.
78899         (rpmatch): Use localized_pattern. Add translator comments.
78900         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
78901         Suggested by Eric Blake.
78902         * modules/rpmatch (Depends-on): Add stdbool.
78904 2008-04-28  Eric Blake  <ebb9@byu.net>
78906         Add rawmemchr module, matching glibc.
78907         * modules/string (Makefile.am): New indicator.
78908         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
78909         * lib/string.in.h (rawmemchr): Declare when appropriate.
78910         * modules/rawmemchr: New file.
78911         * m4/rawmemchr.m4: Likewise.
78912         * lib/rawmemchr.c: Likewise.
78913         * modules/rawmemchr-tests: Likewise.
78914         * tests/test-rawmemchr.c: Likewise.
78915         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
78916         module.
78917         * modules/strchrnul (Depends-on): Add rawmemchr.
78918         * lib/strchrnul.c (strchrnul): Optimize a corner case.
78920         Whitespace cleanup.
78921         * tests/test-strchrnul.c: Reindent.
78922         * lib/strchrnul.c: Likewise.
78924         Optimize and test strchrnul.
78925         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
78926         * modules/strchrnul-tests: New file.
78927         * tests/test-strchrnul.c: Likewise.
78929         Remove intprops dependency.
78930         * modules/memchr (Depends-on): Remove intprops.
78931         * modules/memrchr (Depends-on): Likewise.
78932         * modules/memchr2 (Depends-on): Likewise.
78933         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
78934         * lib/memrchr.c (__memrchr): Likewise.
78935         * lib/memrchr2.c (memchr2): Likewise.
78936         Reported by Simon Josefsson.
78938 2008-04-28  Simon Josefsson  <simon@josefsson.org>
78940         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
78941         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
78943 2008-04-28  Simon Josefsson  <simon@josefsson.org>
78945         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
78947         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
78949         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
78951         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
78952         declarations.
78953         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
78955         * m4/inet_pton.m4: Don't check for header files.
78957         * m4/inet_ntop.m4: Don't check for header files.
78959 2008-04-28  Simon Josefsson  <simon@josefsson.org>
78961         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
78962         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
78963         trigger for cygwin).
78964         Reported by Bruno Haible  <bruno@clisp.org>.
78966 2008-04-28  Bruno Haible  <bruno@clisp.org>
78968         * doc/posix-functions/strdup.texi: Mention mingw problem.
78970 2008-04-27  Bruno Haible  <bruno@clisp.org>
78972         * modules/stat-time-tests (Depends-on): Add sleep.
78973         * tests/test-stat-time.c (force_unlink): New function.
78974         (cleanup): Use it.
78975         (test_mtime): Remove the ctime related tests.
78976         (test_ctime): New function, containing the ctime related tests.
78977         (main): Call test_ctime, except on native Windows platforms.
78979 2008-04-27  Bruno Haible  <bruno@clisp.org>
78981         * lib/rpmatch.c (rpmatch): Add some comments.
78982         Reported by James Youngman <jay@gnu.org>.
78984 2008-04-27  Bruno Haible  <bruno@clisp.org>
78986         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
78987         quiet NaNs.
78989 2008-04-27  Bruno Haible  <bruno@clisp.org>
78991         Make test-yesno.sh work on mingw.
78992         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
78993         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
78994         (main): Set stdin to binary mode.
78995         * modules/yesno-tests (Depends-on): Add binary-io.
78997 2008-04-27  Bruno Haible  <bruno@clisp.org>
78999         Fix 'isfinite' on x86, x86_64, ia64 platforms.
79000         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
79001         argument that lie outside the IEEE 854 domain.
79002         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
79003         (gl_ISFINITE): Use it.
79004         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
79006 2008-04-27  Bruno Haible  <bruno@clisp.org>
79008         Allow local renaming in config.h.
79009         * lib/memrchr.c (memrchr): Don't undefine outside libc.
79011 2008-04-27  Bruno Haible  <bruno@clisp.org>
79013         * lib/memchr.c (__memchr): Change type of 'i'.
79014         * lib/memchr2.c (memchr2): Likewise.
79016 2008-04-26  Eric Blake  <ebb9@byu.net>
79017         and Bruno Haible  <bruno@clisp.org>
79019         Optimize and test memrchr.
79020         * modules/memrchr (Depends-on): Add intprops.
79021         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
79022         * modules/memrchr-tests: New file.
79023         * tests/test-memrchr.c: New file.
79025 2008-04-26  Bruno Haible  <bruno@clisp.org>
79027         Add tentative support for DragonFly BSD.
79028         * lib/stdio-impl.h: Add macros for DragonFly BSD.
79029         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
79030         fp.
79031         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
79032         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
79033         * lib/fpurge.c (fpurge): Likewise.
79034         * lib/freadable.c (freaadable): Likewise.
79035         * lib/freadahead.c (freadahead): Likewise.
79036         * lib/freading.c (freading): Likewise.
79037         * lib/freadptr.c (freadptr): Likewise.
79038         * lib/freadseek.c (freadptrinc): Likewise.
79039         * lib/fseeko.c (fseeko): Likewise.
79040         * lib/fseterr.c (fseterr): Likewise.
79041         * lib/fwritable.c (fwritable): Likewise.
79042         * lib/fwriting.c (fwriting): Likewise.
79044 2008-04-26  Bruno Haible  <bruno@clisp.org>
79046         * lib/stdio-impl.h: New file.
79047         * lib/fbufmode.c: Include stdio-impl.h.
79048         (fbufmode): Use fp_, remove redundant #defines.
79049         * lib/fflush.c: Include stdio-impl.h.
79050         (clear_ungetc_buffer): Remove redundant #defines.
79051         * lib/fpurge.c: Include stdio-impl.h.
79052         (fpurge): Remove redundant #defines.
79053         * lib/freadable.c: Include stdio-impl.h.
79054         (freadable): Remove redundant #defines.
79055         * lib/freadahead.c: Include stdio-impl.h.
79056         (freadahead): Remove redundant #defines.
79057         * lib/freading.c: Include stdio-impl.h.
79058         (freading): Remove redundant #defines.
79059         * lib/freadptr.c: Include stdio-impl.h.
79060         (freadptr): Remove redundant #defines.
79061         * lib/freadseek.c: Include stdio-impl.h.
79062         (freadptrinc): Remove redundant #defines.
79063         * lib/fseeko.c: Include stdio-impl.h.
79064         (rpl_fseeko): Remove redundant #defines.
79065         * lib/fseterr.c: Include stdio-impl.h.
79066         (fseterr): Remove redundant #defines.
79067         * lib/fwritable.c: Include stdio-impl.h.
79068         (fwritable: Remove redundant #defines.
79069         * lib/fwriting.c: Include stdio-impl.h.
79070         (fwriting): Remove redundant #defines.
79071         * modules/fbufmode (Files): Add lib/stdio-impl.h.
79072         * modules/fflush (Files): Likewise.
79073         * modules/fpurge (Files): Likewise.
79074         * modules/freadable (Files): Likewise.
79075         * modules/freadahead (Files): Likewise.
79076         * modules/freading (Files): Likewise.
79077         * modules/freadptr (Files): Likewise.
79078         * modules/freadseek (Files): Likewise.
79079         * modules/fseeko (Files): Likewise.
79080         * modules/fseterr (Files): Likewise.
79081         * modules/fwritable (Files): Likewise.
79082         * modules/fwriting (Files): Likewise.
79084 2008-04-26  Bruno Haible  <bruno@clisp.org>
79086         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
79087         restore_seek_optimization, update_fpos_cache): New functions, extracted
79088         from rpl_fflush.
79089         (rpl_fflush): Use them.
79090         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
79091         (gl_REPLACE_FFLUSH): Use it.
79093 2008-04-26  Bruno Haible  <bruno@clisp.org>
79095         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
79096         on Solaris.
79097         * tests/test-xstrtoimax.sh: Likewise.
79098         * tests/test-xstrtoumax.sh: Likewise.
79099         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
79101 2008-04-26  Bruno Haible  <bruno@clisp.org>
79103         * modules/memchr-tests: New file.
79104         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
79106 2008-04-26  Eric Blake  <ebb9@byu.net>
79107             Bruno Haible  <bruno@clisp.org>
79109         * lib/memchr.c: Include intprops.h.
79110         (__memchr): Optimize parallel detection of matching bytes. Rename local
79111         variables. Add explanatory comments.
79113 2008-04-26  Bruno Haible  <bruno@clisp.org>
79115         Fix module 'memchr', broken since 2000-10-28.
79116         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
79118 2008-04-26  Bruno Haible  <bruno@clisp.org>
79120         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
79121         comments.
79123 2008-04-25  Eric Blake  <ebb9@byu.net>
79125         Use native fstatat on cygwin 1.7.0.
79126         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
79127         first.
79129 2008-04-23  Eric Blake  <ebb9@byu.net>
79131         Improve memchr2 performance.
79132         * lib/memchr2.c (memchr2): Further optimize parallel detection of
79133         NUL bytes.
79134         * modules/memchr2 (Depends-on): Use intprops.h.
79136 2008-04-23  Simon Josefsson  <simon@josefsson.org>
79138         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
79139         an inline function instead of a CPP macro.  Patch by Ben Pfaff
79140         <blp@cs.stanford.edu>.
79142 2008-04-23  Simon Josefsson  <simon@josefsson.org>
79144         * lib/arpa_inet.in.h: New file.
79146         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
79147         (Makefile.am): Sed in substitute header file.
79149         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
79150         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
79152         * modules/inet_ntop (configure.ac): Use
79153         gl_ARPA_INET_MODULE_INDICATOR.
79155         * modules/inet_pton (configure.ac): Use
79156         gl_ARPA_INET_MODULE_INDICATOR.
79158 2008-04-22  Jim Meyering  <meyering@redhat.com>
79160         * modules/verify (License): Re-license as LGPLv2+.
79162 2008-04-22  Simon Josefsson  <simon@josefsson.org>
79164         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
79165         parameter to void* as per POSIX standard (MinGW uses char*).
79167 2008-04-21  Bruno Haible  <bruno@clisp.org>
79169         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
79170         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
79171         Define to replacements if REPLACE_ISWCNTRL is 1.
79172         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
79173         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
79174         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
79175         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
79176         what it fixes.
79177         * doc/posix-functions/iswalpha.texi: Likewise.
79178         * doc/posix-functions/iswblank.texi: Likewise.
79179         * doc/posix-functions/iswcntrl.texi: Likewise.
79180         * doc/posix-functions/iswdigit.texi: Likewise.
79181         * doc/posix-functions/iswgraph.texi: Likewise.
79182         * doc/posix-functions/iswlower.texi: Likewise.
79183         * doc/posix-functions/iswprint.texi: Likewise.
79184         * doc/posix-functions/iswpunct.texi: Likewise.
79185         * doc/posix-functions/iswspace.texi: Likewise.
79186         * doc/posix-functions/iswupper.texi: Likewise.
79187         * doc/posix-functions/iswxdigit.texi: Likewise.
79188         Reported by Alain Guibert.
79190 2008-04-21  Bruno Haible  <bruno@clisp.org>
79192         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
79193         Patch by Alain Guibert.
79195 2008-04-21  Bruno Haible  <bruno@clisp.org>
79197         Fix test failures on mingw.
79198         * tests/test-xstrtol.c (print_no_progname): New function.
79199         (main): Install it in error_print_progname hook.
79200         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
79201         * tests/test-xstrtoimax.sh: Likewise.
79202         * tests/test-xstrtoumax.sh: Likewise.
79204 2008-04-21  Bruno Haible  <bruno@clisp.org>
79206         Fix test failure on mingw.
79207         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
79209 2008-04-21  Bruno Haible  <bruno@clisp.org>
79211         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
79212         Actually assign a value.
79214 2008-04-20  Bruno Haible  <bruno@clisp.org>
79216         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
79217         take 2.
79218         * lib/canonicalize.c (canonicalize_file_name): Elide if the
79219         'canonicalize-lgpl' module is also used.
79220         * lib/canonicalize-lgpl.c: Undo last change.
79221         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
79223 2008-04-20  Bruno Haible  <bruno@clisp.org>
79225         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
79226         config.h. Provide _mkdir based fallback for mingw.
79227         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
79228         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
79229         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
79230         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
79231         rather than defining mkdir in config.h.
79232         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
79233         (gl_SYS_STAT_H_DEFAULTS): New macro.
79234         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
79235         HAVE_IO_H any more.
79236         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
79237         HAVE_DECL_MKDIR and HAVE_IO_H.
79239 2008-04-20  Bruno Haible  <bruno@clisp.org>
79241         * lib/isapipe.c: Port to native Windows platforms.
79243 2008-04-20  Bruno Haible  <bruno@clisp.org>
79245         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
79247 2008-04-21  Eric Blake  <ebb9@byu.net>
79249         Work around preprocessors that don't handle UINTMAX_MAX.
79250         * lib/memchr2.c (memchr2): Avoid embedded #if.
79251         Reported by Alain Guibert, fix suggested by Bruno Haible.
79253 2008-04-21  Simon Josefsson  <simon@josefsson.org>
79255         * doc/posix-functions/strftime.texi (strftime): Explain better
79256         Windows incompatibility.  Suggested by Micah Cowan
79257         <micah@cowan.name>.
79259 2008-04-20  Bruno Haible  <bruno@clisp.org>
79261         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
79262         unistr/u8-mblen.
79264 2008-04-20  Bruno Haible  <bruno@clisp.org>
79266         Fix test failure on platforms with non-GNU iconv.
79267         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
79268         (U_TO_U8): Use it, rather than u16_to_u8.
79269         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
79270         units at the end of the input string.
79271         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
79273 2008-04-20  Bruno Haible  <bruno@clisp.org>
79275         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
79276         when the resulting length is 0.
79277         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
79279 2008-04-20  Bruno Haible  <bruno@clisp.org>
79281         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
79282         works.
79283         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
79285 2008-04-20  Bruno Haible  <bruno@clisp.org>
79287         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
79288         * modules/tsearch-tests (configure.ac): Test for initstate function.
79290 2008-04-20  Bruno Haible  <bruno@clisp.org>
79292         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
79293         for nlink_t if missing.
79294         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
79296 2008-04-19  Bruno Haible  <bruno@clisp.org>
79298         Work around snprintf bug on Linux libc5.
79299         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
79300         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
79301         gl_SNPRINTF_SIZE1.
79302         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
79303         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
79304         that test failed.
79305         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
79306         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
79307         * modules/snprintf (Files): Add m4/printf.m4.
79308         * modules/vsnprintf (Files): Likewise.
79309         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
79310         * doc/posix-functions/vsnprintf.texi: Likewise.
79312 2008-04-19  Bruno Haible  <bruno@clisp.org>
79314         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
79315         from 0.0058 to less than 10^-7.
79317 2008-04-19  Bruno Haible  <bruno@clisp.org>
79319         Fix rounding when a precision is given.
79320         * lib/vasnprintf.c (is_borderline): New function.
79321         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
79322         9...9x.
79323         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
79324         %e, %g.
79325         * tests/test-vasprintf-posix.c (test_function): Likewise.
79326         * tests/test-snprintf-posix.h (test_function): Likewise.
79327         * tests/test-sprintf-posix.h (test_function): Likewise.
79328         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
79329         * tests/test-printf-posix.h (test_function): Likewise.
79330         * tests/test-printf-posix.output: Update.
79331         Reported by John Darrington <john@darrington.wattle.id.au> via
79332         Ben Pfaff <blp@cs.stanford.edu>.
79334 2008-04-18  Simon Josefsson  <simon@josefsson.org>
79336         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
79337         Suggested by Bruno Haible <bruno@clisp.org>.
79339 2008-04-17  Bruno Haible  <bruno@clisp.org>
79341         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
79342         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
79343         implementation.
79344         Patch by Bruce Merry <bmerry@gmail.com>.
79346 2008-04-17  Simon Josefsson  <simon@josefsson.org>
79348         * doc/posix-functions/strftime.texi (strftime): Mention that %e
79349         doesn't work under Windows.
79351 2008-04-16  Bruno Haible  <bruno@clisp.org>
79353         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
79354         New macros.
79355         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
79356         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
79357         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
79358         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
79359         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
79360         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
79361         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
79362         macros.
79363         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
79364         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
79365         Northern Sotho, Uighur.
79367 2008-04-16  Bruno Haible  <bruno@clisp.org>
79369         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
79370         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
79371         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
79372         Reported by Daniel Bergström <daniel@octocode.com>.
79374 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
79375             Bruno Haible  <bruno@clisp.org>
79377         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
79378         function.
79379         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
79380         New functions, mostly extracted from gl_locale_name_default.
79381         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
79383 2008-04-16  Eric Blake  <ebb9@byu.net>
79385         Adjust strtod detection to catch glibc 2.7 bug.
79386         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
79387         Reported by John Gatewood Ham.
79389 2008-04-16  Bruno Haible  <bruno@clisp.org>
79391         Add tentative support for Linux libc5.
79392         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
79393         * lib/fpurge.c (fpurge): Likewise.
79394         * lib/freadable.c (freadable): Likewise.
79395         * lib/freadahead.c (freadahead): Likewise.
79396         * lib/freading.c (freading): Likewise.
79397         * lib/freadptr.c (freadptr): Likewise.
79398         * lib/freadseek.c (freadptrinc): Likewise.
79399         * lib/fseeko.c (rpl_fseeko): Likewise.
79400         * lib/fseterr.c (fseterr): Likewise.
79401         * lib/fwritable.c (fwritable): Likewise.
79402         * lib/fwriting.c (fwriting): Likewise.
79403         Reported by Alain Guibert <alguibert+bts@free.fr>.
79405 2008-04-15  Bruno Haible  <bruno@clisp.org>
79407         * modules/mathl (configure.ac): Define module indicator.
79409 2008-04-15  Bruno Haible  <bruno@clisp.org>
79411         * lib/logl.c (logl): Remove unused variables.
79413 2008-04-15  Bruno Haible  <bruno@clisp.org>
79415         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
79416         fails.
79418 2008-04-15  Bruno Haible  <bruno@clisp.org>
79420         * lib/trim.c (trim2): Fix argument of isspace() macro.
79422 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
79424         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
79425         to 0.
79426         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
79428 2008-04-14  Bruno Haible  <bruno@clisp.org>
79430         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
79431         AC_LANG_PROGRAM argument.
79432         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
79433         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
79434         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
79435         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
79436         * m4/math_h.m4 (gl_MATH_H): Likewise.
79437         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
79438         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
79439         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
79440         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
79441         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
79442         * m4/regex.m4 (gl_REGEX): Likewise.
79443         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
79444         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
79445         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
79446         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
79447         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
79448         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
79449         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
79450         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
79452 2008-04-14  Jim Meyering  <meyering@redhat.com>
79454         test-strtod: fix typos: s/abs/fabs/
79455         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
79457 2008-04-13  Bruno Haible  <bruno@clisp.org>
79459         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
79460         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
79461         module is also used and while not building the reloc-wrapper.
79463 2008-04-13  Bruno Haible  <bruno@clisp.org>
79465         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
79467 2008-04-13  Bruno Haible  <bruno@clisp.org>
79469         Fix AIX compilation failure introduced on 2008-04-02.
79470         * tests/test-frexp.c (exp): Undefine before redefining.
79471         * tests/test-frexpl.c (exp): Likewise.
79473 2008-04-13  Bruno Haible  <bruno@clisp.org>
79475         Work around a HP-UX stdio bug.
79476         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
79477         * tests/test-ftello.c (main): Likewise.
79478         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
79479         * doc/posix-functions/ftello.texi: Likewise.
79481 2008-04-13  Bruno Haible  <bruno@clisp.org>
79483         Make test-signbit pass on HP-UX/hppa.
79484         * tests/test-signbit.c (minus_zerol): New variable.
79485         (test_signbitl): Use it.
79487 2008-04-13  Bruno Haible  <bruno@clisp.org>
79489         Make truncl work on OSF/1 4.0.
79490         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
79491         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
79492         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
79493         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
79494         HAVE_DECL_TRUNCL.
79495         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
79496         HAVE_DECL_TRUNCL.
79497         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
79499 2008-04-13  Bruno Haible  <bruno@clisp.org>
79501         * lib/unictype.h: Remove trailing comma from enumeration definitions.
79503 2008-04-13  Bruno Haible  <bruno@clisp.org>
79505         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
79506         expression, so as to avoid HP-UX 11 cc compiler bug.
79508 2008-04-13  Bruno Haible  <bruno@clisp.org>
79510         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
79512 2008-04-13  Bruno Haible  <bruno@clisp.org>
79514         * lib/git-merge-changelog.c: Remove empty declaration outside of
79515         functions.
79517 2008-04-13  Bruno Haible  <bruno@clisp.org>
79519         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
79521 2008-04-13  Bruno Haible  <bruno@clisp.org>
79523         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
79524         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
79525         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
79526         also if it exists but lacks definitions of the SHUT_* macros.
79527         * modules/sys_socket (Description): Update.
79528         Reported by Elbert Pol <e.pol@chello.nl>.
79530 2008-04-13  Bruno Haible  <bruno@clisp.org>
79532         * lib/localcharset.c (OS2): Don't redefine if already defined.
79533         Reported by Elbert Pol <e.pol@chello.nl>.
79535 2008-04-13  Bruno Haible  <bruno@clisp.org>
79537         * lib/binary-io.h [__EMX__]: Include <io.h>.
79538         Reported by Elbert Pol <e.pol@chello.nl>.
79540 2008-04-12  Bruno Haible  <bruno@clisp.org>
79542         * lib/fpucw.h: Enable the definitions also for x86_64.
79543         Needed for NetBSD/x86_64.
79544         Reported by Thomas Klausner <tk@giga.or.at>.
79546 2008-04-12  Bruno Haible  <bruno@clisp.org>
79548         * tests/test-strtod.c: Include isnand.h.
79549         (main): Use isnand instead of isnan.
79550         Reported by Jim Meyering.
79552 2008-04-12  Bruno Haible  <bruno@clisp.org>
79554         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
79555         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
79557 2008-04-12  Jim Meyering  <meyering@redhat.com>
79559         * m4/math_h.m4 (gl_MATH_H): Fix typos.
79561 2008-04-12  Bruno Haible  <bruno@clisp.org>
79563         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
79564         Reported by Elbert Pol <e.pol@chello.nl>.
79566 2008-04-12  Eric Blake  <ebb9@byu.net>
79568         Work around Solaris 10 math.h bug.
79569         * m4/math_h.m4 (gl_MATH_H): Check for bug.
79570         (gl_MATH_H_DEFAULTS): Set up default.
79571         * modules/math (Makefile.am): Replace new indicators.
79572         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
79573         * tests/test-math.c (main): Test this.
79574         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
79575         * doc/posix-headers/math.texi (math.h): Mention bug.
79576         Reported by Nelson H. F. Beebe and Jim Meyering.
79578 2008-04-11  Bruno Haible  <bruno@clisp.org>
79580         Adapt to future versions of Apple GCC.
79581         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
79582         Reported by Peter O'Gorman <peter@pogma.com>.
79584 2008-04-11  Bruno Haible  <bruno@clisp.org>
79586         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
79588 2008-04-11  Bruno Haible  <bruno@clisp.org>
79590         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
79592         * modules/getaddrinfo-tests (Makefile.am): Define
79593         test_getaddrinfo_LDADD.
79595 2008-04-11  Bruno Haible  <bruno@clisp.org>
79597         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
79598         (init): Fix syntax error.
79599         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
79600         is declared.
79602 2008-04-11  Bruno Haible  <bruno@clisp.org>
79604         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
79605         * modules/glob (Depends-on): Add stdbool.
79607 2008-04-11  Bruno Haible  <bruno@clisp.org>
79609         * lib/trim.c: Include <string.h>.
79611 2008-04-11  Eric Blake  <ebb9@byu.net>
79613         Avoid compile failure on OS/2.
79614         * lib/regex_internal.h (internal_function): Disable optimization
79615         on OS/2 (__EMX__), where it caused compiler error.
79616         Reported by Elbert Pol.
79618 2008-04-11  Bruno Haible  <bruno@clisp.org>
79620         Flush the standard error stream before aborting. Needed on mingw.
79621         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
79622         * tests/test-array_list.c (ASSERT): Likewise.
79623         * tests/test-array_oset.c (ASSERT): Likewise.
79624         * tests/test-avltree_list.c (ASSERT): Likewise.
79625         * tests/test-avltree_oset.c (ASSERT): Likewise.
79626         * tests/test-avltreehash_list.c (ASSERT): Likewise.
79627         * tests/test-binary-io.c (ASSERT): Likewise.
79628         * tests/test-byteswap.c (ASSERT): Likewise.
79629         * tests/test-c-ctype.c (ASSERT): Likewise.
79630         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
79631         * tests/test-c-strcasestr.c (ASSERT): Likewise.
79632         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
79633         * tests/test-c-strstr.c (ASSERT): Likewise.
79634         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
79635         * tests/test-canonicalize.c (ASSERT): Likewise.
79636         * tests/test-carray_list.c (ASSERT): Likewise.
79637         * tests/test-ceilf1.c (ASSERT): Likewise.
79638         * tests/test-ceilf2.c (ASSERT): Likewise.
79639         * tests/test-ceill.c (ASSERT): Likewise.
79640         * tests/test-count-one-bits.c (ASSERT): Likewise.
79641         * tests/test-fbufmode.c (ASSERT): Likewise.
79642         * tests/test-fflush2.c (ASSERT): Likewise.
79643         * tests/test-floorf1.c (ASSERT): Likewise.
79644         * tests/test-floorf2.c (ASSERT): Likewise.
79645         * tests/test-floorl.c (ASSERT): Likewise.
79646         * tests/test-fopen.c (ASSERT): Likewise.
79647         * tests/test-fpending.c (ASSERT): Likewise.
79648         * tests/test-fprintf-posix.c (ASSERT): Likewise.
79649         * tests/test-fpurge.c (ASSERT): Likewise.
79650         * tests/test-freadable.c (ASSERT): Likewise.
79651         * tests/test-freadahead.c (ASSERT): Likewise.
79652         * tests/test-freading.c (ASSERT): Likewise.
79653         * tests/test-freadptr.c (ASSERT): Likewise.
79654         * tests/test-freadptr2.c (ASSERT): Likewise.
79655         * tests/test-freadseek.c (ASSERT): Likewise.
79656         * tests/test-freopen.c (ASSERT): Likewise.
79657         * tests/test-frexp.c (ASSERT): Likewise.
79658         * tests/test-frexpl.c (ASSERT): Likewise.
79659         * tests/test-fseek.c (ASSERT): Likewise.
79660         * tests/test-fseeko.c (ASSERT): Likewise.
79661         * tests/test-fstrcmp.c (ASSERT): Likewise.
79662         * tests/test-ftell.c (ASSERT): Likewise.
79663         * tests/test-ftello.c (ASSERT): Likewise.
79664         * tests/test-func.c (ASSERT): Likewise.
79665         * tests/test-fwritable.c (ASSERT): Likewise.
79666         * tests/test-fwriting.c (ASSERT): Likewise.
79667         * tests/test-getdelim.c (ASSERT): Likewise.
79668         * tests/test-getline.c (ASSERT): Likewise.
79669         * tests/test-i-ring.c (ASSERT): Likewise.
79670         * tests/test-iconv-utf.c (ASSERT): Likewise.
79671         * tests/test-iconv.c (ASSERT): Likewise.
79672         * tests/test-isfinite.c (ASSERT): Likewise.
79673         * tests/test-isnand.c (ASSERT): Likewise.
79674         * tests/test-isnanf.c (ASSERT): Likewise.
79675         * tests/test-isnanl.h (ASSERT): Likewise.
79676         * tests/test-ldexpl.c (ASSERT): Likewise.
79677         * tests/test-linked_list.c (ASSERT): Likewise.
79678         * tests/test-linkedhash_list.c (ASSERT): Likewise.
79679         * tests/test-localename.c (ASSERT): Likewise.
79680         * tests/test-lseek.c (ASSERT): Likewise.
79681         * tests/test-mbscasecmp.c (ASSERT): Likewise.
79682         * tests/test-mbscasestr1.c (ASSERT): Likewise.
79683         * tests/test-mbscasestr2.c (ASSERT): Likewise.
79684         * tests/test-mbscasestr3.c (ASSERT): Likewise.
79685         * tests/test-mbscasestr4.c (ASSERT): Likewise.
79686         * tests/test-mbschr.c (ASSERT): Likewise.
79687         * tests/test-mbscspn.c (ASSERT): Likewise.
79688         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
79689         * tests/test-mbspbrk.c (ASSERT): Likewise.
79690         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
79691         * tests/test-mbsrchr.c (ASSERT): Likewise.
79692         * tests/test-mbsspn.c (ASSERT): Likewise.
79693         * tests/test-mbsstr1.c (ASSERT): Likewise.
79694         * tests/test-mbsstr2.c (ASSERT): Likewise.
79695         * tests/test-mbsstr3.c (ASSERT): Likewise.
79696         * tests/test-memchr2.c (ASSERT): Likewise.
79697         * tests/test-memmem.c (ASSERT): Likewise.
79698         * tests/test-open.c (ASSERT): Likewise.
79699         * tests/test-printf-frexp.c (ASSERT): Likewise.
79700         * tests/test-printf-frexpl.c (ASSERT): Likewise.
79701         * tests/test-printf-posix.c (ASSERT): Likewise.
79702         * tests/test-quotearg.c (ASSERT): Likewise.
79703         * tests/test-rbtree_list.c (ASSERT): Likewise.
79704         * tests/test-rbtree_oset.c (ASSERT): Likewise.
79705         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
79706         * tests/test-round1.c (ASSERT): Likewise.
79707         * tests/test-roundf1.c (ASSERT): Likewise.
79708         * tests/test-roundl.c (ASSERT): Likewise.
79709         * tests/test-signbit.c (ASSERT): Likewise.
79710         * tests/test-sleep.c (ASSERT): Likewise.
79711         * tests/test-snprintf-posix.c (ASSERT): Likewise.
79712         * tests/test-snprintf.c (ASSERT): Likewise.
79713         * tests/test-sprintf-posix.c (ASSERT): Likewise.
79714         * tests/test-stat-time.c (ASSERT): Likewise.
79715         * tests/test-strcasestr.c (ASSERT): Likewise.
79716         * tests/test-strerror.c (ASSERT): Likewise.
79717         * tests/test-striconv.c (ASSERT): Likewise.
79718         * tests/test-striconveh.c (ASSERT): Likewise.
79719         * tests/test-striconveha.c (ASSERT): Likewise.
79720         * tests/test-strsignal.c (ASSERT): Likewise.
79721         * tests/test-strstr.c (ASSERT): Likewise.
79722         * tests/test-strtod.c (ASSERT): Likewise.
79723         * tests/test-trunc1.c (ASSERT): Likewise.
79724         * tests/test-trunc2.c (ASSERT): Likewise.
79725         * tests/test-truncf1.c (ASSERT): Likewise.
79726         * tests/test-truncf2.c (ASSERT): Likewise.
79727         * tests/test-truncl.c (ASSERT): Likewise.
79728         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
79729         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
79730         * tests/test-vasnprintf.c (ASSERT): Likewise.
79731         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
79732         * tests/test-vasprintf.c (ASSERT): Likewise.
79733         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
79734         * tests/test-vprintf-posix.c (ASSERT): Likewise.
79735         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
79736         * tests/test-vsnprintf.c (ASSERT): Likewise.
79737         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
79738         * tests/test-wcwidth.c (ASSERT): Likewise.
79739         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
79740         * tests/test-xprintf-posix.c (ASSERT): Likewise.
79741         * tests/test-xvasprintf.c (ASSERT): Likewise.
79742         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
79743         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
79744         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
79745         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
79746         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
79747         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
79748         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
79749         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
79750         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
79751         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
79752         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
79753         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
79754         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
79755         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
79756         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
79757         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
79758         * tests/unictype/test-block_list.c (ASSERT): Likewise.
79759         * tests/unictype/test-block_of.c (ASSERT): Likewise.
79760         * tests/unictype/test-block_test.c (ASSERT): Likewise.
79761         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
79762         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
79763         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
79764         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
79765         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
79766         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
79767         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
79768         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
79769         * tests/unictype/test-combining.c (ASSERT): Likewise.
79770         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
79771         * tests/unictype/test-digit.c (ASSERT): Likewise.
79772         * tests/unictype/test-mirror.c (ASSERT): Likewise.
79773         * tests/unictype/test-numeric.c (ASSERT): Likewise.
79774         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
79775         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
79776         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
79777         * tests/unictype/test-scripts.c (ASSERT): Likewise.
79778         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
79779         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
79780         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
79781         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
79782         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
79783         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
79784         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
79785         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
79786         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
79787         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
79788         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
79789         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
79790         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
79791         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
79792         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
79793         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
79794         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
79795         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
79796         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
79797         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
79798         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
79799         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
79800         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
79801         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
79802         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
79803         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
79804         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
79805         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
79806         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
79807         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
79808         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
79809         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
79810         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
79811         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
79812         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
79813         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
79814         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
79815         Reported by Eric Blake.
79817 2008-04-11  Bruno Haible  <bruno@clisp.org>
79819         * lib/wchar.in.h: Tweak comment.
79821 2008-04-11  Bruno Haible  <bruno@clisp.org>
79823         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
79824         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
79825         gl_COMMON.
79826         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
79828 2008-04-11  Bruno Haible  <bruno@clisp.org>
79830         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
79832 2008-04-11  Simon Josefsson  <simon@josefsson.org>
79834         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
79835         of attempting to use non-existing /dev/*random.  Based on patch
79836         from Adam Strzelecki <ono@java.pl> in
79837         <http://lists.gnu.org/r/help-gsasl/2008-02/msg00000.html>.
79839 2008-04-08  Bruno Haible  <bruno@clisp.org>
79841         Add tentative support for emx+gcc.
79842         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
79843         * lib/fpurge.c (fpurge): Likewise.
79844         * lib/freadable.c (freadable): Likewise.
79845         * lib/freadahead.c (freadahead): Likewise.
79846         * lib/freading.c (freading): Likewise.
79847         * lib/freadptr.c (freadptr): Likewise.
79848         * lib/freadseek.c (freadptrinc): Likewise.
79849         * lib/fseeko.c (rpl_fseeko): Likewise.
79850         * lib/fseterr.c (fseterr): Likewise.
79851         * lib/fwritable.c (fwritable): Likewise.
79852         * lib/fwriting.c (fwriting): Likewise.
79853         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
79855 2008-04-09  Eric Blake  <ebb9@byu.net>
79857         Avoid some autoconf warnings.
79858         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
79859         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
79860         * m4/afs.m4 (gl_AFS): Likewise.
79861         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
79862         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
79863         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
79864         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
79865         (gl_INTEGER_TYPE_SUFFIX): Likewise.
79866         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
79867         (AC_CHECK_DECLS_ONCE): Likewise.
79868         Rename file...
79869         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
79870         gnulib-tool requires autoconf 2.59 or better.
79871         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
79873 2008-04-08  Eric Blake  <ebb9@byu.net>
79875         Use 'git describe --match' if present (added in git 1.5.5).
79876         * build-aux/git-version-gen: Limit result to tags that match 'v*'
79877         if possible.
79879 2008-04-08  Bruno Haible  <bruno@clisp.org>
79881         Add tentative support for OpenServer.
79882         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
79883         _ptr, _cnt.
79884         * lib/fpurge.c (fpurge): Likewise.
79885         * lib/freadable.c (freadable): Likewise.
79886         * lib/freadahead.c (freadahead): Likewise.
79887         * lib/freading.c (freading): Likewise.
79888         * lib/freadptr.c (freadptr): Likewise.
79889         * lib/freadseek.c (freadptrinc): Likewise.
79890         * lib/fseeko.c (rpl_fseeko): Likewise.
79891         * lib/fseterr.c (fseterr): Likewise.
79892         * lib/fwritable.c (fwritable): Likewise.
79893         * lib/fwriting.c (fwriting): Likewise.
79894         Reported by Roger Cornelius <rac@tenzing.org> and
79895         Brian K. White <brian@aljex.com>.
79897 2008-04-06  Jim Meyering  <meyering@redhat.com>
79899         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
79901 2008-04-06  Bruno Haible  <bruno@clisp.org>
79903         Avoid possible error with non-ASCII bytes in UTF-8 locales.
79904         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
79905         * tests/test-printf-posix.sh: Likewise.
79906         * tests/test-vfprintf-posix.sh: Likewise.
79907         * tests/test-vprintf-posix.sh: Likewise.
79908         * tests/test-xprintf-posix.sh: Likewise.
79910 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79912         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
79913         hide error from 'ls', needed on OS/2.
79914         Report by Elbert Pol <elbert.pol@gmail.com>.
79916 2008-04-04  Eric Blake  <ebb9@byu.net>
79918         Make test-fseeko.c failures meaningful.
79919         * tests/test-fseeko.c: Print line number on failure.
79920         * tests/test-fseek.c: Likewise.
79921         Reported by Nelson H. F. Beebe.
79923         Improve strtod bug detection check.
79924         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
79925         required for Solaris 10.
79926         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
79928 2008-04-04  Bruno Haible  <bruno@clisp.org>
79930         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
79931         by m4/setenv.m4.
79933 2008-04-03  Eric Blake  <ebb9@byu.net>
79935         Ensure sane .version contents.
79936         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
79937         version string.
79938         * build-aux/git-version-gen: Improve documentation.
79940         Make GNU make output nicer.
79941         * top/GNUmakefile [!_have-Makefile]: Add dependency on
79942         MAKECMDGOALS to enforce message for all command line targets.  Set
79943         srcdir for use in maint.mk.
79945         Another maintainer tweak.
79946         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
79947         a target that regenerates version.
79949 2008-04-03  Jim Meyering  <meyering@redhat.com>
79951         vc-list-files: don't cause coreutils "make po-check" failure
79952         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
79954 2008-04-03  Eric Blake  <ebb9@byu.net>
79956         Allow VPATH usage of vc-list-files.
79957         * build-aux/vc-list-files (scriptversion): Add timestamp.
79958         (options): Add --help, --version, -C.
79959         (CVS): Support installed cvsu.
79961 2008-04-02  Bruno Haible  <bruno@clisp.org>
79963         Avoid some "statement with no effect" warnings from gcc.
79964         * tests/test-wctype.c (main): Explicitly ignore unused values.
79965         Reported by Jim Meyering.
79967 2008-04-02  Jim Meyering  <meyering@redhat.com>
79969         Avoid some warnings from "gcc -Wshadow".
79970         * tests/test-frexp.c (exp): Define to a different identifier.
79971         * tests/test-frexpl.c (exp): Likewise.
79973 2008-04-03  Jim Meyering  <meyering@redhat.com>
79975         bootstrap: remove dangling *.[ch] symlinks from lib
79976         * build-aux/bootstrap [dangling symlink removal]: Move find's
79977         -depth option to precede all others, to avoid a warning.
79978         Remove *.[ch] files too, and from "$source_base" (usually lib/).
79980 2008-04-02  Bruno Haible  <bruno@clisp.org>
79982         Avoid some warnings from "gcc -Wshadow".
79983         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
79984         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
79985         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
79986         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
79987         Reported by Jim Meyering.
79989 2008-04-01  Bruno Haible  <bruno@clisp.org>
79991         Fix test to work on IRIX 6.5 with cc.
79992         * tests/test-math.c (numeric_equal): New function.
79993         (main): Use it.
79995 2008-04-01  Bruno Haible  <bruno@clisp.org>
79997         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
79999 2008-04-01  Bruno Haible  <bruno@clisp.org>
80001         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
80002         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
80003         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
80004         (Depends-on): Remove math.
80006         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
80007         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
80008         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
80009         (Depends-on): Remove math.
80011         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
80012         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
80013         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
80014         (Depends-on): Remove math.
80015         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
80016         (Depends-on): Remove math.
80018         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
80019         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
80020         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
80021         (Depends-on): Remove math.
80022         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
80023         (Depends-on): Remove math.
80025         * tests/test-round1.c: Include nan.h.
80026         (main): Use NaNd instead of NAN.
80027         * modules/round-tests (Files): Add tests/nan.h.
80029         * tests/test-trunc1.c: Include nan.h.
80030         (main): Use NaNd instead of NAN.
80031         * modules/trunc-tests (Files): Add tests/nan.h.
80033         * tests/test-roundf1.c: Include nan.h.
80034         (main): Use NaNf instead of NAN.
80035         * modules/roundf-tests (Files): Add tests/nan.h.
80037         * tests/test-truncf1.c: Include nan.h.
80038         (main): Use NaNf instead of NAN.
80039         * modules/truncf-tests (Files): Add tests/nan.h.
80041         * tests/test-ceilf1.c: Include nan.h.
80042         (main): Use NaNf instead of NAN.
80043         * modules/ceilf-tests (Files): Add tests/nan.h.
80045         * tests/test-floorf1.c: Include nan.h.
80046         (main): Use NaNf instead of NAN.
80047         * modules/floorf-tests (Files): Add tests/nan.h.
80049         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
80050         (main): Use NaNf instead of NAN.
80051         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
80053         * tests/test-isnand.c: Include nan.h instead of <math.h>.
80054         (main): Use NaNd instead of NAN.
80055         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
80057         * tests/test-frexp.c: Include nan.h.
80058         (main): Use NaNd instead of NAN.
80059         * modules/frexp-tests (Files): Add tests/nan.h.
80061         * lib/isnan.c: Don't include <math.h>.
80062         (FUNC): Don't use NAN macro.
80063         * modules/isnand-nolibm (Depends-on): Remove math.
80064         * modules/isnanf-nolibm (Depends-on): Remove math.
80065         * modules/isnanl (Depends-on): Remove math.
80066         * modules/isnanl-nolibm (Depends-on): Remove math.
80068         * tests/nan.h: New file.
80070 2008-04-01  Eric Blake  <ebb9@byu.net>
80072         Fix typos.
80073         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
80074         values to be the right type.
80076         For now, cater to gnulib strtod inaccuracies.
80077         * tests/test-strtod.c (main): Allow 1-ulp error on expected
80078         fractional results.  While not as nice from a QoI perspective, it
80079         is a quicker patch than correctly implementing decimal to binary
80080         rounding.
80082 2008-03-31  Eric Blake  <ebb9@byu.net>
80084         Guarantee a definition of NAN.
80085         * lib/math.in.h (NAN): Define if missing.
80086         * tests/test-math.c (main): Test it.
80087         * doc/posix-headers/math.texi (math.h): Document this.
80088         * lib/isnan.c (rpl_isnand): Use it.
80089         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
80090         * tests/test-floorf1.c (NaN): Likewise.
80091         * tests/test-frexp.c (NaN): Likewise.
80092         * tests/test-isnand.c (NaN): Likewise.
80093         * tests/test-isnanf.c (NaN): Likewise.
80094         * tests/test-round1.c (NaN): Likewise.
80095         * tests/test-roundf1.c (NaN): Likewise.
80096         * tests/test-snprintf-posix.h (NaN): Likewise.
80097         * tests/test-sprintf-posix.h (NaN): Likewise.
80098         * tests/test-trunc1.c (NaN): Likewise.
80099         * tests/test-truncf1.c (NaN): Likewise.
80100         * tests/test-vasnprintf-posix.c (NaN): Likewise.
80101         * tests/test-vasprintf-posix.c (NaN): Likewise.
80102         * modules/isnand-nolibm (Depends-on): Add math.
80103         * modules/isnanf-nolibm (Depends-on): Likewise.
80104         * modules/isnanl (Depends-on): Likewise.
80105         * modules/isnanl-nolibm (Depends-on): Likewise.
80106         * modules/snprintf-posix-tests (Depends-on): Likewise.
80107         * modules/sprintf-posix-tests (Depends-on): Likewise.
80108         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
80109         * modules/vsprintf-posix-tests (Depends-on): Likewise.
80110         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
80111         * modules/vasprintf-posix-tests (Depends-on): Likewise.
80113 2008-03-31  Bruno Haible  <bruno@clisp.org>
80115         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
80116         * doc/posix-functions/strtod.texi: Likewise.
80118 2008-03-31  Bruno Haible  <bruno@clisp.org>
80120         * tests/test-strtod.c (main): Don't use C99 syntax.
80122 2008-03-31  Bruno Haible  <bruno@clisp.org>
80124         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
80125         Reported by Eric Blake.
80127 2008-03-31  Jim Meyering  <meyering@redhat.com>
80129         Don't compare actual signbit return values.
80130         * tests/test-strtod.c (main): Rather, compare only their
80131         zero/non-zero nature.
80133 2008-03-31  Eric Blake  <ebb9@byu.net>
80135         More strtod documentation.
80136         * doc/posix-functions/strtod.texi (strtod): Interpret more test
80137         failures as distinct bugs.
80139 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
80141         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
80142         Problem reported by Erik Benada in
80143         <http://lists.gnu.org/r/bug-gnulib/2008-03/msg00249.html>.
80145 2008-03-30  Bruno Haible  <bruno@clisp.org>
80147         * tests/test-strtod.c: Add comments about which assertion fails on which
80148         platform.
80149         * doc/posix-functions/strtod.texi: Add info about many more platforms.
80151 2008-03-30  Eric Blake  <ebb9@byu.net>
80153         Test signbit behavior on zeros.
80154         * tests/test-signbit.c (test_signbitf): Add tests for zero.
80155         (test_signbitd, test_signbitl): Likewise.
80157         More strtod touchups.
80158         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
80159         sign of negative underflow, for now.  Use .5, not .1.
80160         * doc/posix-functions/strtod.texi (strtod): Mention these
80161         limitations.
80162         Reported by Jim Meyering.
80164 2008-03-30  Bruno Haible  <bruno@clisp.org>
80166         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
80167         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
80169 2008-03-30  Bruno Haible  <bruno@clisp.org>
80171         Avoid failure when attempting to return empty iconv results on some
80172         platforms.
80173         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
80174         allocation, don't report ENOMEM when the resulting string is empty.
80176 2008-03-30  Bruno Haible  <bruno@clisp.org>
80178         Fix buffer overrun.
80179         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
80180         Don't consider the width for tmp_length. Check count against tmp_length
80181         before doing the padding. Ensure enough allocation during padding.
80183 2008-03-30  Eric Blake  <ebb9@byu.net>
80185         strtod touchups.
80186         * lib/strtod.c (strtod): Avoid compiler warnings.
80187         Reported by Jim Meyering.
80189 2008-03-30  Bruno Haible  <bruno@clisp.org>
80191         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
80192         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
80193         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
80194         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
80195         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
80196         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
80197         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
80198         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
80200         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
80201         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
80202         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
80203         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
80204         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
80205         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
80206         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
80207         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
80209         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
80210         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
80211         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
80212         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
80213         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
80214         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
80215         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
80216         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
80218         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
80219         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
80221         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
80222         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
80224         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
80225         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
80227         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
80228         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
80229         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
80231         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
80232         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
80233         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
80235         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
80236         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
80237         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
80239         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
80240         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
80241         * modules/vasprintf (Depends-on): Add EOVERFLOW.
80243         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
80244         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
80245         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
80246         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
80247         (Depends-on): Add EOVERFLOW.
80248         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
80249         (Depends-on): Add EOVERFLOW.
80250         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
80251         (Depends-on): Add EOVERFLOW.
80252         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
80253         (Depends-on): Add EOVERFLOW.
80254         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
80255         (Depends-on): Add EOVERFLOW.
80256         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
80257         (Depends-on): Add EOVERFLOW.
80258         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
80259         (Depends-on): Add EOVERFLOW.
80260         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
80261         (Depends-on): Add EOVERFLOW.
80263         * lib/sprintf.c (EOVERFLOW): Remove fallback.
80264         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
80265         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
80267         * lib/snprintf.c (EOVERFLOW): Remove fallback.
80268         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
80269         * modules/snprintf (Depends-on): Add EOVERFLOW.
80271         * lib/poll.c (EOVERFLOW): Remove fallback.
80272         * modules/poll (Depends-on): Add EOVERFLOW.
80274         * lib/getugroups.c (EOVERFLOW): Remove fallback.
80275         * modules/getugroups (Depends-on): Add EOVERFLOW.
80277         * lib/getdelim.c (EOVERFLOW): Remove fallback.
80278         * modules/getdelim (Depends-on): Add EOVERFLOW.
80280         * lib/ftell.c (EOVERFLOW): Remove fallback.
80281         * modules/ftell (Depends-on): Add EOVERFLOW.
80283         * lib/fprintf.c (EOVERFLOW): Remove fallback.
80284         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
80285         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
80287         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
80289         * modules/EOVERFLOW-tests: New file.
80290         * tests/test-EOVERFLOW.c: New file.
80292         * modules/EOVERFLOW: New file.
80293         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
80295 2008-03-30  Bruno Haible  <bruno@clisp.org>
80297         Fix bug introduced on 2007-06-10.
80298         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
80299         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
80301 2008-03-30  Bruno Haible  <bruno@clisp.org>
80303         Improve freadseek's efficiency after ungetc.
80304         * lib/freadseek.c: Include freadahead.h.
80305         (freadptrinc): New function, extracted from freadseek.
80306         (freadseek): Use it in a loop. Use freadahead to determine the number
80307         of loop iterations.
80308         * modules/freadseek (Depends-on): Add freadahead.
80309         (configure.ac): Require AC_C_INLINE.
80311 2008-03-30  Bruno Haible  <bruno@clisp.org>
80313         * lib/freadseek.c (freadseek): Don't ignore the return value of
80314         freadptr.
80316 2008-03-29  Eric Blake  <ebb9@byu.net>
80318         Add hex float support.
80319         * modules/strtod (Depends-on): Add c-ctype.
80320         (Link): Mention POW_LIB.
80321         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
80322         whitespace between 'e' and exponent.
80323         * tests/test-strtod.c (main): Enable hex float tests.
80324         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
80325         now provides.
80327         Document various strtod bugs, with some fixes.
80328         * doc/posix-functions/strtod.texi (strtod): Document bugs with
80329         "-0x", "inf", "nan", and hex constants.
80330         * doc/posix-functions/atof.texi (atof): Likewise.
80331         * modules/stdlib (Makefile.am): Support strtod.
80332         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
80333         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
80334         detect additional strtod bugs.
80335         * lib/stdlib.in.h (rpl_strtod): Add declarations.
80336         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
80337         bool where appropriate.  Parse 'inf' and 'nan'.
80338         * tests/test-strtod.c: New file.
80339         * modules/strtod (Depends-on): Add stdbool, stdlib.
80340         (configure.ac): Turn on module indicator.
80341         * modules/strtod-tests: New module.
80343 2008-03-29  Eric Blake  <ebb9@byu.net>
80345         Fix ftell on mingw.
80346         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
80347         * modules/ftell-tests (Depends-on): Add binary-io.
80348         * modules/ftello-tests (Depends-on): Likewise.
80349         * tests/test-ftell.c (main): Enhance test to cover behavior after
80350         ungetc.  Enforce binary mode.
80351         * tests/test-ftello.c (main): Likewise.
80353         Pass test-freadseek on cygwin.
80354         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
80355         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
80356         ungetc buffer.
80358         * tests/test-fflush2.c (main): Fix typo.
80360 2008-03-29  Bruno Haible  <bruno@clisp.org>
80362         * tests/test-fflush2.c (main): Temporarily disable the contents of
80363         this test.
80364         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
80365         Reported by Eric Blake.
80367 2008-03-28  Simon Josefsson  <simon@josefsson.org>
80369         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
80370         (GC_SHA224_DIGEST_SIZE): Add.
80372         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
80373         (gc_hash_digest_length): Likewise.
80374         (gc_hash_buffer): Likewise.
80376 2008-03-25  Bruno Haible  <bruno@clisp.org>
80378         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
80379         detail which gettext release to use.
80380         Reported by Simon Josefsson.
80382 2008-03-26  Jim Meyering  <meyering@redhat.com>
80384         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
80385         * modules/gnumakefile (clean-GNUmakefile): Also, use
80386         test ... && ... || : syntax rather than if-then ... fi.
80388         gnumakefile: Don't double-quote-expand $(VPATH) value.
80389         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
80391 2008-03-24  Eric Blake  <ebb9@byu.net>
80393         Alter GNUmakefile to install into top directory.
80394         * modules/maintainer-makefile: Split, and add dependency...
80395         * modules/gnumakefile: to this new module.
80396         * build-aux/GNUmakefile: Move...
80397         * top/GNUmakefile: ...here.
80398         * build-aux/maint.mk: Move...
80399         * top/maint.mk: ...here.
80400         * MODULES.html.sh (Support for maintaining...): Document new
80401         module.
80403 2008-03-23  Bruno Haible  <bruno@clisp.org>
80405         * gnulib-tool: New options --vc-files, --no-vc-files.
80406         (func_usage): Document them.
80407         (vc_files): New variable.
80408         (func_import): Consider vc_files.
80409         (func_create_testdir): Set vc_files to empty.
80410         Suggested by Jim Meyering and Karl Berry.
80412 2008-03-23  Bruno Haible  <bruno@clisp.org>
80414         Fix regex compilation error on HP-UX 11.
80415         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
80416         * modules/regex (Files): Add m4/mbstate_t.m4.
80417         Reported by Ton Voon <ton.voon@altinity.com>.
80419 2008-03-23  Bruno Haible  <bruno@clisp.org>
80421         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
80423 2008-03-23  Eric Blake  <ebb9@byu.net>
80424             Bruno Haible  <bruno@clisp.org>
80426         Install files from top/ in the destination directory.
80427         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
80428         augmentation also for the files from top/.
80429         (func_import, func_create_testdir): Rewrite file names:
80430         top/filename -> filename.
80432 2008-03-23  Bruno Haible  <bruno@clisp.org>
80434         Tweak "gnulib --version" output.
80435         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
80437 2008-03-23  Bruno Haible  <bruno@clisp.org>
80439         Tweak "gnulib --version" output.
80440         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
80441         rather than contents of ChangeLog, when possible.
80443 2008-03-21  Eric Blake  <ebb9@byu.net>
80445         More --version tweaks.
80446         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
80447         date of last ChangeLog entry.
80449 2008-03-21  Jim Meyering  <meyering@redhat.com>
80451         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
80453 2008-03-20  Eric Blake  <ebb9@byu.net>
80455         VPATH fix.
80456         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
80458 2008-03-20  Simon Josefsson  <simon@josefsson.org>
80460         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
80461         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
80463 2008-03-20  Eric Blake  <ebb9@byu.net>
80465         Sync GNUmakefile with coreutils.
80466         * build-aux/GNUmakefile (have-Makefile): Rename...
80467         (_have-Makefile): ...to this, for namespace consideration.
80468         (GNUmakefile.cfg): Include, if present.
80469         (_autoreconf): Define a default.
80470         (_is-dist-target): New rule for rebuilds to pick up intra-release
80471         version.
80472         (maint-cfg.mk): Rename...
80473         (cfg.mk): ...to this.
80475 2008-03-18  Jim Meyering  <meyering@redhat.com>
80477         New script and module: mktempd
80478         * MODULES.html.sh (maint+release support): Add mktempd.
80479         * build-aux/mktempd: New file.
80480         * modules/mktempd: New file.
80482 2008-03-15  Jim Meyering  <meyering@redhat.com>
80484         Undo last change.
80485         * lib/sha1.c, lib/md5.c: 63 != ~63.
80486         Reported by Andreas Schwab.
80488         sha1.c, md5.c: Hoist a redundant expression.
80489         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
80490         "ctx->buflen" only once, before calling *_process_block.
80491         * lib/md5.c (md5_process_bytes): Likewise.
80493 2008-03-14  Eric Blake  <ebb9@byu.net>
80495         Bump copyright year in files generated by gnulib-tool.
80496         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
80497         gnulib-tool, rather than hard-coding it.
80499         Fix 'gnulib-tool --version' output to work with git.
80500         * gnulib-tool (func_gnulib_dir): New function, extracted from...
80501         (startup): ...here.
80502         (func_version): Use it to invoke git-version-gen, rather than
80503         relying on CVS keyword expansion.  Modernize wording.
80504         (cvsdatestamp, last_checkin_date, version): Kill unused
80505         variables.
80507 2008-03-12  Jim Meyering  <meyering@redhat.com>
80509         Recognize optional cast of the argument to free.
80510         * build-aux/useless-if-before-free: Update regexps.
80512         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
80514 2008-03-11  Bruno Haible  <bruno@clisp.org>
80516         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
80517         by a single package.
80518         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
80519         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
80520         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
80521         Reported by Sam Steingold <sds@gnu.org>.
80523 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
80525         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
80526         repositories.
80528 2008-03-11  Bruno Haible  <bruno@clisp.org>
80530         Avoid conflicts between local macro definitions.
80531         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
80532         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
80534 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
80535             Bruno Haible  <bruno@clisp.org>
80537         Make va_copy work with some version of xlc on AIX 5.1.
80538         * lib/stdarg.in.h: New file.
80539         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
80540         On AIX, use a <stdarg.h> file substitute.
80541         * modules/stdarg (Files): Add lib/stdarg.in.h.
80542         (Depends-on): Add include_next.
80543         (Makefile.am): Build a stdarg.h substitute if requested.
80544         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
80546 2008-03-10  Bruno Haible  <bruno@clisp.org>
80548         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
80549         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
80550         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
80552 2008-03-10  Bruno Haible  <bruno@clisp.org>
80554         * modules/stdlib (Depends-on): Add include_next, remove
80555         absolute-header.
80557 2008-03-09  Bruno Haible  <bruno@clisp.org>
80559         * lib/freadahead.h (freadahead): Document more precisely.
80560         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
80561         the sum of both buffer sizes.
80562         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
80563         * NEWS: Document the change.
80565 2008-03-09  Bruno Haible  <bruno@clisp.org>
80567         Extend freadptr to return also the buffer size.
80568         * lib/freadptr.h (freadptr): Add sizep argument.
80569         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
80570         (freadptr): Add sizep argument. Determine buffer size like freadahead
80571         does.
80572         * tests/test-freadptr.c: Don't include freadahead.h.
80573         (main): Adapt for new calling convention of freadptr.
80574         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
80575         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
80576         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
80577         tests/test-freadptr2.sh.
80578         (Depends): Remove freadahead.
80579         (TESTS): Add test-freadptr2.sh.
80580         (check_PROGRAMS): Add test-freadptr2.
80582 2008-03-09  Bruno Haible  <bruno@clisp.org>
80584         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
80585         Report and solution by Simon Josefsson.
80587 2008-03-06  Bruno Haible  <bruno@clisp.org>
80589         Make fflush after ungetc work on BSD platforms.
80590         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
80591         * tests/test-fflush2.c: New file.
80592         * tests/test-fflush2.sh: New file.
80593         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
80594         tests/test-fflush2.c.
80595         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
80596         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
80598 2008-03-06  Eric Blake  <ebb9@byu.net>
80600         Likewise for ftello.
80601         * modules/ftello (Dependencies): Add extensions.
80602         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
80604 2008-03-06  Bruno Haible  <bruno@clisp.org>
80606         * modules/fseeko (Dependencies): Add extensions.
80607         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
80608         Needed on glibc systems.
80610 2008-03-06  Bruno Haible  <bruno@clisp.org>
80612         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
80613         email address.
80614         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
80616 2008-03-06  Bruno Haible  <bruno@clisp.org>
80618         * users.txt: Add libgnupdf.
80620 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
80622         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
80623         (Header File Substitutes, Function Substitutes,
80624         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
80625         (Build robot for gnulib): Fix typo.
80627 2008-03-06  Bruno Haible  <bruno@clisp.org>
80629         * doc/gnulib-tool.texi (VCS Issues): Small updates.
80630         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
80632 2008-03-06  Bruno Haible  <bruno@clisp.org>
80634         * doc/func.texi: New file, extracted from doc/gnulib.texi.
80635         * doc/gnulib.texi: Include it.
80637 2008-03-06  Simon Josefsson  <simon@josefsson.org>
80639         * modules/func (License): Change license to unlimited; there was
80640         no LGPL parts in the module anyway.
80642 2008-03-06  Simon Josefsson  <simon@josefsson.org>
80644         * modules/__func__: Renamed to modules/func.
80645         * modules/__func__-tests: Renamed to modules/func-tests.
80646         * tests/test-__func__.c: Renamed to tests/test-func.c.
80647         * m4/__func__.m4: Renamed to m4/func.m4.
80648         * doc/gnulib.texi (__func__): Section renamed to func.
80649         Suggested by Eric Blake <ebb9@byu.net>.
80651 2008-03-06  Simon Josefsson  <simon@josefsson.org>
80653         * doc/gnulib.texi (__func__): Use C99 terminology when talking
80654         about __func__.  Make example self-contained.  Suggested by Eric
80655         Blake <ebb9@byu.net>.
80657         * tests/test-__func__.c (main): Avoid extraneous () around __func.
80658         Suggested by Eric Blake <ebb9@byu.net>.
80660 2008-03-06  Simon Josefsson  <simon@josefsson.org>
80662         * modules/__func__: New file.
80663         * modules/__func__-tests: New file.
80664         * tests/test-__func__.c: New file.
80665         * m4/__func__.m4: New file.
80666         * doc/gnulib.texi (__func__): Document __func__ module.
80668 2008-03-05  Simon Josefsson  <simon@josefsson.org>
80670         * modules/byteswap (License): Re-license as LGPLv2+.
80672 2008-03-05  Simon Josefsson  <simon@josefsson.org>
80674         * doc/Makefile: Add pdf target.
80676 2008-03-05  Simon Josefsson  <simon@josefsson.org>
80678         * modules/inline (License): Use 'unlimited', since there are only
80679         *.m4 files in this module.
80681 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
80682             Bruno Haible  <bruno@clisp.org>
80684         Add support for HP C 7.1 on OpenVMS 8.3.
80685         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
80687 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
80689         Update VMS specifics.
80690         * lib/getopt.c [VMS]: Remove include of unixlib.h.
80692 2008-03-02  Jim Meyering  <meyering@redhat.com>
80694         Remove the last dependency on the "free" module.
80695         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
80696         Reported by Bob Proulx.
80698         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
80700         Remove useless "if" tests before free.  Deprecate "free" module.
80701         * doc/posix-functions/free.texi: Mention that this
80702         module is no longer useful.
80703         * modules/free (Notice): Say this module is obsolete.
80704         * modules/readutmp (Depends-on): Remove free.
80705         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
80706         * lib/putenv.c (putenv): Likewise.
80707         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
80708         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
80709         * tests/test-c-strcasestr.c (main): Likewise.
80710         * tests/test-c-strstr.c (main): Likewise.
80711         * tests/test-mbscasestr1.c (main): Likewise.
80712         * tests/test-mbscasestr2.c (main): Likewise.
80713         * tests/test-mbsstr1.c (main): Likewise.
80714         * tests/test-mbsstr2.c (main): Likewise.
80715         * tests/test-memmem.c (main): Likewise.
80716         * tests/test-strcasestr.c (main): Likewise.
80717         * tests/test-striconv.c (main): Likewise.
80718         * tests/test-striconveh.c (main): Likewise.
80719         * tests/test-striconveha.c (main): Likewise.
80720         * tests/test-strstr.c (main): Likewise.
80722         * build-aux/git-version-gen: Adjust a comment and the Usage string.
80724         bootstrap: sync from coreutils again
80725         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
80727 2008-03-01  Jim Meyering  <meyering@redhat.com>
80729         bootstrap: sync from coreutils
80730         * build-aux/bootstrap (update_po_files): Copy a .po file into place
80731         also when the target doesn't exist.
80733 2008-03-01  Eric Blake  <ebb9@byu.net>
80735         Fix bugs in last patch.
80736         * lib/memchr2.c (memchr2): Fix typo.
80737         * tests/test-memchr2.c: Test previous bug, and don't use GNU
80738         extension.
80739         Reported by Bruce Korb.
80741         New module 'memchr2'.
80742         * modules/memchr2: New file.
80743         * modules/memchr2-tests: Likewise.
80744         * lib/memchr2.h: Likewise.
80745         * lib/memchr2.c: Likewise, based on memchr.c.
80746         * tests/test-memchr2.c: New test.
80747         * MODULES.html.sh (String handling): Add memchr2.
80749 2008-02-29  Bruno Haible  <bruno@clisp.org>
80751         * modules/freadseek-tests: New file.
80752         * tests/test-freadseek.sh: New file.
80753         * tests/test-freadseek.c: New file.
80755         New module 'freadseek'.
80756         * modules/freadseek: New file.
80757         * lib/freadseek.h: New file.
80758         * lib/freadseek.c: New file.
80759         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
80761 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
80763         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
80764         wydawca.
80766         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
80767         program_invocation_name and program_invocation_short_name are
80768         present.
80770 2008-02-28  Bruno Haible  <bruno@clisp.org>
80772         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
80773         * tests/test-freadptr.sh: Also test non-seekable stdin.
80775 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
80777         * build-aux/bootstrap (source_base, m4_base)
80778         (doc_base, tests_base): New variables.
80779         (gnulib_tool_options): Do not hardcode base directories, use
80780         the above variables instead.
80782 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
80784         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
80786 2008-02-28  Bruno Haible  <bruno@clisp.org>
80788         * modules/freadptr-tests: New file.
80789         * tests/test-freadptr.sh: New file.
80790         * tests/test-freadptr.c: New file.
80792         New module 'freadptr'.
80793         * modules/freadptr: New file.
80794         * lib/freadptr.h: New file.
80795         * lib/freadptr.c: New file.
80796         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
80798 2008-02-26  Karl Berry  <karl@freefriends.org>
80800         Sync from Libtool:
80801         * libltdl/argz.c (argz_add, argz_count): New functions.
80802         * libltdl/argz.in.h: Declare them.
80803         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
80805 2008-02-22  Bruno Haible  <bruno@clisp.org>
80807         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
80808         is a pointer type.  Needed for HP-UX 10.
80809         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
80810         * doc/posix-functions/gmtime_r.texi: Likewise.
80811         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
80813 2008-02-24  Bruno Haible  <bruno@clisp.org>
80815         * modules/environ-tests: New file.
80816         * tests/test-environ.c: New file.
80818         New module 'environ'.
80819         * modules/environ: New file.
80820         * lib/unistd.in.h (environ): New declaration.
80821         * m4/environ.m4: New file.
80822         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
80823         after use.
80824         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
80825         HAVE_DECL_ENVIRON.
80826         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
80827         HAVE_DECL_ENVIRON.
80828         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
80829         wrong claim that 'environ' is missing on some systems.
80830         * modules/execute (Depends-on): Add environ.
80831         * lib/execute.c (environ): Remove fallback declaration.
80832         * modules/pipe (Depends-on): Add environ.
80833         * lib/pipe.c (environ): Remove fallback declaration.
80834         * modules/setenv (Depends-on): Add environ.
80835         * lib/setenv.c (environ): Remove fallback declaration.
80836         * modules/unsetenv (Depends-on): Add environ.
80837         * lib/unsetenv.c (environ): Remove fallback declaration.
80838         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
80839         m4/environ.m4.
80840         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
80841         (gl_PREREQ_UNSETENV): Likewise.
80843 2008-02-24  Bruno Haible  <bruno@clisp.org>
80845         * doc/posix-functions/environ.texi: Document the MacOS X problem.
80847 2008-02-20  Bob Proulx  <bob@proulx.com>
80849         Enable use of older two part flavor 'git describe'.
80850         * build-aux/git-version-gen: If using the older two part flavor of
80851         git version then recreate the third part now present in the
80852         newer three part flavor of git describe.
80854 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
80856         * lib/fts.c (fts_build): Typo correction to comment.
80858 2008-02-17  Bruno Haible  <bruno@clisp.org>
80860         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
80861         generating no-op conflicts.
80863 2008-02-17  Bruno Haible  <bruno@clisp.org>
80865         Speed up by 10%.
80866         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
80867         result_entries, rather than an index-based loop.
80869 2008-02-17  Bruno Haible  <bruno@clisp.org>
80871         Speed up by 25%.
80872         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
80873         'hashcode_cached'.
80874         (entry_create): New function.
80875         (entry_hashcode): Use the cached hashcode if possible.
80876         (read_changelog_file, try_split_merged_entry): Use entry_create.
80878 2008-02-17  Bruno Haible  <bruno@clisp.org>
80880         Speed up from O(n^2) to O(n) for long ChangeLog files.
80881         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
80882         (read_changelog_file): Change implementation of entries_reversed list
80883         to rbtreehash.
80884         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
80886 2008-02-17  Bruno Haible  <bruno@clisp.org>
80888         New option --split-merged-entry.
80889         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
80890         (find_paragraph_end, try_split_merged_entry): New functions.
80891         (long_options): Add option --split-merged-entry.
80892         (usage): Document option --split-merged-entry.
80893         (main): Implement option --split-merged-entry.
80894         Reported by Eric Blake.
80896 2008-02-17  Bruno Haible  <bruno@clisp.org>
80898         * lib/git-merge-changelog.c: Include c-strstr.h.
80899         (main): Support the "git pull --rebase" situation.
80900         * modules/git-merge-changelog (Depends-on): Add c-strstr.
80901         Reported by Eric Blake.
80903 2008-02-16  Eric Blake  <ebb9@byu.net>
80905         Avoid doubling \ in common case of "c-maybe" quoting style.
80906         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
80907         eliding outer quotes.
80908         * lib/quotearg.h: Document this.
80909         * tests/test-quotearg.c (result_strings, inputs, results_g)
80910         (flag_results, locale_results): Test it by adding a new string to
80911         each test group.
80912         (compare_strings): Test new string.
80914 2008-02-13  Eric Blake  <ebb9@byu.net>
80916         Avoid trigraph quoting in default output.
80917         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
80918         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
80919         unless explicitly requested.
80920         * tests/test-quotearg.c (flag_results, main): Add additional tests.
80922 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
80924         Don't rely on signed integer overflowing to negative value.
80925         * lib/getugroups.c (getugroups): Include <limits.h>.
80926         Instead, compare against INT_MAX, and increment only if the test passes.
80928 2008-02-13  Jim Meyering  <meyering@redhat.com>
80929         and Eric Blake  <ebb9@byu.net>
80931         Avoid shadowing warning and compile errors on Linux.
80932         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
80933         forwarding macros on Linux.
80934         (dcgettext): Define a stub, for Linux.
80935         (results_g, main): Avoid warnings.
80937 2008-02-12  Eric Blake  <ebb9@byu.net>
80939         Silence warning in last patch.
80940         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
80942         Quotearg part 4: add tests, fix c-maybe colon quoting.
80943         * lib/quotearg.h: Improve documentation.
80944         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
80945         escapes when adding outer quotes.  When quoting trigraphs, use
80946         valid C notation.  When quoting NUL, omit extra characters if next
80947         character is not digit.  Alter prototype.
80948         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
80949         callers.
80950         * modules/quotearg-tests: New module.
80951         * tests/test-quotearg.c: New test.
80953 2008-02-07  Eric Blake  <ebb9@byu.net>
80955         Quotearg part 3: add flag to control outer quote elision.
80956         * lib/quotearg.h (c_maybe_quoting_style): New style.
80957         (enum quoting_flags): Better documentation of flags.
80958         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
80959         c-maybe style.
80960         (quotearg_buffer_restyled): Handle new flag to elide outer
80961         quotes.
80963         Quotearg part 2: add flag that can control NUL elision.
80964         * lib/quotearg.h (set_quoting_flags): New prototype.
80965         * lib/quotearg.c (struct quoting_options): Add flag field.
80966         (set_quoting_flags): New function.
80967         (quotearg_buffer_restyled): Add flags parameter.
80968         (quotearg_alloc_mem): Set the flag if length cannot be returned.
80969         (quotearg_n_options): Set the flag, since length cannot be
80970         returned.
80971         (quoting_options_from_style): Default flags correctly.
80973         Quotearg part 1: more wrappers, restore quotearg_char state.
80974         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
80975         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
80976         (quotearg_colon_mem): New wrappers.
80977         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
80978         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
80979         functions.
80980         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
80981         (quotearg_colon_mem): New functions.
80983 2008-02-11  Bruno Haible  <bruno@clisp.org>
80985         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
80986         library in the current directory: it does not work with parallel make.
80987         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
80989 2008-02-11  Bruno Haible  <bruno@clisp.org>
80991         * .gitattributes: New file.
80993 2008-02-11  Jim Meyering  <meyering@redhat.com>
80995         useless-if-before-free: Fix reversed exit values.
80996         * build-aux/useless-if-before-free: Use correct values
80997         for EXIT_MATCH and EXIT_NO_MATCH.
80999         * build-aux/useless-if-before-free: Close stdout carefully.
81001 2008-02-10  Bruno Haible  <bruno@clisp.org>
81003         New module 'git-merge-changelog'.
81004         * modules/git-merge-changelog: New file.
81005         * lib/git-merge-changelog.c: New file.
81007 2008-02-10  Jim Meyering  <meyering@redhat.com>
81009         useless-if-before-free: New option: --list (-l).
81011         useless-if-before-free: Don't exit immediately upon open failure.
81012         * build-aux/useless-if-before-free: Exit 2 for errors.
81013         Upon failure to open a file, don't exit immediately.
81014         Rather, just warn and continue with any remaining files.
81016 2008-02-10  Bruno Haible  <bruno@clisp.org>
81018         New abstract list operation 'node_set_value'.
81019         * lib/gl_list.h (gl_list_node_set_value): New function.
81020         (struct gl_list_implementation): New field node_set_value.
81021         * lib/gl_list.c (gl_list_node_set_value): New function.
81022         * lib/gl_array_list.c (gl_array_node_set_value): New function.
81023         (gl_array_list_implementation): Update.
81024         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
81025         (gl_carray_list_implementation): Update.
81026         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
81027         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
81028         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
81029         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
81030         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
81031         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
81032         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
81033         Update.
81034         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
81035         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
81036         (gl_sublist_list_implementation): Update.
81038 2008-02-10  Bruno Haible  <bruno@clisp.org>
81040         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
81041         Needed when ELEMENT is #defined to 'some_type *'.
81043 2008-02-10  Jim Meyering  <meyering@redhat.com>
81045         New script and module: useless-if-before-free
81046         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
81047         * build-aux/useless-if-before-free: New file.
81048         * modules/useless-if-before-free: New file.
81050         * build-aux/gitlog-to-changelog: Use committer date, not author date.
81052         xstrtol_error: Fix typo.
81053         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
81054         s/exit_failure/exit_status/.
81056 2008-02-09  Jim Meyering  <meyering@redhat.com>
81058         New script and module: gitlog-to-changelog
81059         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
81060         * modules/gitlog-to-changelog: New file.
81061         * build-aux/gitlog-to-changelog: New file.
81063 2008-02-08  Jim Meyering  <meyering@redhat.com>
81065         Avoid two "parameter unused" warnings.
81066         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
81067         Mark "st" as used.
81069         Use "git COMMAND", not "git-COMMAND".
81070         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
81071         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
81072         * build-aux/git-version-gen: Use "git status", not "git-status".
81074 2008-02-07  Bruno Haible  <bruno@clisp.org>
81076         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
81077         Avoids a crash on Windows Vista.
81078         Reported by Adam Strzelecki <ono@java.pl> via
81079         Simon Josefsson <simon@josefsson.org>.
81081 2008-02-06  Bruno Haible  <bruno@clisp.org>
81083         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
81084         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
81085         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
81086         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
81087         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
81088         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
81089         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
81090         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
81091         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
81092         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
81093         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
81094         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
81095         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
81096         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
81097         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
81098         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
81099         left-adjust flag.
81100         * tests/test-snprintf-posix.h (test_function): Likewise.
81101         * tests/test-sprintf-posix.h (test_function): Likewise.
81102         * tests/test-vasprintf-posix.c (test_function): Likewise.
81103         * doc/posix-functions/fprintf.texi: Update.
81104         * doc/posix-functions/printf.texi: Update.
81105         * doc/posix-functions/snprintf.texi: Update.
81106         * doc/posix-functions/sprintf.texi: Update.
81107         * doc/posix-functions/vfprintf.texi: Update.
81108         * doc/posix-functions/vprintf.texi: Update.
81109         * doc/posix-functions/vsnprintf.texi: Update.
81110         * doc/posix-functions/vsprintf.texi: Update.
81111         Reported by Peter Fales <psfales@alcatel-lucent.com>.
81113 2008-02-06  Bruno Haible  <bruno@clisp.org>
81115         Fix bug introduced on 2008-01-26.
81116         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
81118 2008-02-06  Bruno Haible  <bruno@clisp.org>
81120         Fix bug introduced on 2007-06-10.
81121         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
81122         !NEED_PRINTF_FLAG_ZERO.
81124 2008-02-05  Peter O'Gorman  <pogma@thewrittenword.com>
81126         getloadavg: use libperfstat on AIX5
81127         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
81129 2008-02-03  Bruno Haible  <bruno@clisp.org>
81131         * lib/diffseq.h: Add comments about required #includes.
81132         Reported by Michael Biggs <gnulib@doubleplum.net>.
81134 2008-02-01  Bruno Haible  <bruno@clisp.org>
81136         * users.txt: Add gnuit.
81138 2008-01-31  Bruno Haible  <bruno@clisp.org>
81140         * lib/md4.c (set_uint32): Mark as inline.
81141         * lib/md5.c (set_uint32): Likewise.
81142         * lib/sha1.c (set_uint32): Likewise.
81143         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
81144         * m4/md5.m4 (gl_MD5): Likewise.
81145         * m4/sha1.m4 (gl_SHA1): Likewise.
81147 2008-01-31  Jim Meyering  <meyering@redhat.com>
81149         Use "sizeof VAR", rather than a literal "4".
81150         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
81151         * lib/md4.c (md4_read_ctx): Likewise.
81152         * lib/sha1.c (sha1_read_ctx): Likewise.
81154 2008-01-31  Simon Josefsson  <simon@josefsson.org>
81156         * tests/test-sha1.c: New file, based on test-md5.c.
81158         * modules/crypto/sha1-tests: New file.
81160 2008-01-31  Simon Josefsson  <simon@josefsson.org>
81162         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
81164 2008-01-31  Jim Meyering  <meyering@redhat.com>
81166         Prefer "sizeof v" over the equivalent "4".
81167         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
81168         * lib/md5.c (set_uint32): Likewise.
81169         * lib/sha1.c (set_uint32): Likewise.
81171 2008-01-31  Simon Josefsson  <simon@josefsson.org>
81173         * lib/sha1.c (set_uint32): Mark function as static.
81175 2008-01-31  Simon Josefsson  <simon@josefsson.org>
81177         md2: clarify comments to say that alignment is not required.
81178         * lib/md2.h: Remove warning about alignment in comment.
81179         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
81180         never been required.
81182 2008-01-31  Simon Josefsson  <simon@josefsson.org>
81184         md4: adapt alignment constraint fix from sha1.
81185         * lib/md4.c (set_uint32): New function, from sha1.c
81186         (md4_read_ctx): Use it.
81187         (md4_finish_ctx): Doc fix.
81188         * lib/md4.h: Doc fix.
81190 2008-01-31  Simon Josefsson  <simon@josefsson.org>
81192         md5: adapt alignment constraint fix from sha1.
81193         * lib/md5.c (set_uint32): New function, from sha1.c
81194         (md5_read_ctx): Use it.
81195         (md5_finish_ctx): Doc fix.
81196         * lib/md5.h: Doc fix.
81198 2008-01-30  Peter Palfrader  <weasel@debian.org>
81200         sha1: remove the result buffer alignment constraint
81201         * lib/sha1.c (set_uint32): New function.
81202         (sha1_read_ctx): Rewrite to remove the result buffer alignment
81203         constraint.
81204         (sha1_finish_ctx): Remove comment warning about alignment constraint.
81205         * lib/sha1.h: Likewise.
81207 2008-01-30  Andreas Schwab  <schwab@suse.de>
81208             Bruno Haible  <bruno@clisp.org>
81210         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
81211         correct definition of LDBL_MIN_EXP.
81213 2008-01-30  Karl Berry  <karl@gnu.org>
81215         * config/srclist-update: try to preserve x bit on updates.
81216         * config/srclistvars.sh: update for karl.
81218 2008-01-29  Jim Meyering  <meyering@redhat.com>
81220         vasnprintf.c: Avoid warning about unused label
81221         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
81222         "overflow" label definition and associated code with the
81223         same cpp condition that guards the sole use of that label.
81225 2008-01-26  Bruno Haible  <bruno@clisp.org>
81227         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
81228         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
81229         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
81230         * lib/isnanl-nolibm.h (isnanl): Likewise.
81231         Reported by Paul Eggert <eggert@cs.ucla.edu>.
81233 2008-01-26  Bruno Haible  <bruno@clisp.org>
81235         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
81236         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
81238 2008-01-26  Bruno Haible  <bruno@clisp.org>
81240         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
81241         GCC >= 4.0 built-in.
81242         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
81244 2008-01-26  Bruno Haible  <bruno@clisp.org>
81246         Rename isnan, applicable to 'double' only, to isnand.
81247         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
81248         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
81249         (configure.ac): Update.
81250         (Include): Replace "isnan.h" with "isnand.h".
81251         * m4/isnand.m4: Renamed from m4/isnan.m4.
81252         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
81253         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
81254         instead of isnan.c.
81255         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
81256         instead of HAVE_ISNAN_IN_LIBC.
81257         (isnand): Renamed from isnan.
81258         * lib/isnand.c: New file.
81259         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
81260         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
81261         (Makefile.am): Update.
81262         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
81263         Include isnand.h instead of isnan.h.
81264         (main): Test isnand instead of isnan.
81265         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
81266         isnan-nolibm.
81267         * modules/frexp (Depends-on): Likewise.
81268         * modules/frexp-tests (Depends-on): Likewise.
81269         * modules/frexp-nolibm (Depends-on): Likewise.
81270         * modules/frexp-nolibm-tests (Depends-on): Likewise.
81271         * modules/isfinite (Depends-on): Likewise.
81272         * modules/round-tests (Depends-on): Likewise.
81273         * modules/signbit (Depends-on): Likewise.
81274         * modules/signbit-tests (Depends-on): Likewise.
81275         * modules/snprintf-posix (Depends-on): Likewise.
81276         * modules/sprintf-posix (Depends-on): Likewise.
81277         * modules/trunc-tests (Depends-on): Likewise.
81278         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
81279         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
81280         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
81281         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
81282         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
81283         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
81284         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
81285         * modules/vasnprintf-posix (Depends-on): Likewise.
81286         * modules/vasprintf-posix (Depends-on): Likewise.
81287         * modules/vfprintf-posix (Depends-on): Likewise.
81288         * modules/vsnprintf-posix (Depends-on): Likewise.
81289         * modules/vsprintf-posix (Depends-on): Likewise.
81290         * lib/frexp.c: Include isnand.h instead of isnan.h.
81291         (ISNAN): Set to isnand instead of isnan.
81292         * lib/isfinite.c: Include isnand.h instead of isnan.h.
81293         (gl_isfinited): Use isnand instead of isnan.
81294         * lib/signbitd.c: Include isnand.h instead of isnan.h.
81295         (gl_signbitd): Use isnand instead of isnan.
81296         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
81297         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
81298         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
81299         (main): Use isnand instead of isnan.
81300         * tests/test-round1.c: Include isnand.h.
81301         (main): Use isnand instead of isnan.
81302         * tests/test-round2.c: Include isnand.h instead of isnan.h.
81303         (ISNAN): Set to isnand instead of isnan.
81304         * tests/test-trunc1.c: Include isnand.h.
81305         (main): Use isnand instead of isnan.
81306         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
81307         (equal): Use isnand instead of isnan.
81308         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
81309         isnand-nolibm.
81310         * NEWS: Mention the change.
81312 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
81313             Bruno Haible  <bruno@clisp.org>
81315         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
81316         the GCC builtins for signbits are present and set
81317         REPLACE_SIGNBIT_USING_GCC if so.
81318         * lib/math.in.h (signbit): Define using GCC builtins if
81319         REPLACE_SIGNBIT_USING_GCC is set.
81320         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
81321         REPLACE_SIGNBIT_USING_GCC.
81322         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
81324 2008-01-25  Jim Meyering  <meyering@redhat.com>
81326         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
81327         * lib/poll.c: Include <config.h>, not "config.h".
81328         * tests/test-getaddrinfo.c: Likewise.
81330 2008-01-25  Simon Josefsson  <simon@josefsson.org>
81332         * modules/sockets-tests: New file.
81334 2008-01-24  Simon Josefsson  <simon@josefsson.org>
81336         * modules/sockets: New module, can be used to call WSA_Startup and
81337         WSA_Cleanup when needed.
81339         * lib/sockets.h, lib/sockets.c: New files.
81341         * m4/sockets.m4: New file.
81343         * tests/test-sockets.c: New file.
81345 2008-01-19  Bruno Haible  <bruno@clisp.org>
81347         * doc/posix-headers: Renamed from doc/headers.
81348         * doc/posix-functions: Renamed from doc/functions.
81349         * doc/gnulib.texi: Update.
81351 2008-01-19  Bruno Haible  <bruno@clisp.org>
81353         * doc/glibc-functions/strcasestr.texi: Include contents of
81354         doc/functions/strcasestr.texi, fixing the list of platforms.
81355         * doc/functions/strcasestr.texi: Remove file.
81357 2008-01-19  Bruno Haible  <bruno@clisp.org>
81359         * doc/glibc-functions/memmem.texi: Include contents of
81360         doc/functions/memmem.texi.
81361         * doc/functions/memmem.texi: Remove file.
81363 2008-01-18  Bruno Haible  <bruno@clisp.org>
81365         * doc/glibc-functions/*.texi: New files.
81366         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
81367         to use the new files.
81369 2008-01-17  Bruno Haible  <bruno@clisp.org>
81371         * tests/test-gethostname.c (main): Fix printf statement.
81373 2008-01-17  Simon Josefsson  <simon@josefsson.org>
81375         * modules/gethostname-tests: New file.
81377         * tests/test-gethostname.c: New file.
81379 2008-01-17  Simon Josefsson  <simon@josefsson.org>
81381         * lib/gethostname.c: Include string.h unconditionally, strncpy is
81382         used by the UNAME case.  Reported by Bruno Haible
81383         <bruno@clisp.org>.
81385 2008-01-17  Eric Blake  <ebb9@byu.net>
81387         Convert c-strcasestr to be more efficient.
81388         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
81389         (Depends-on): Add c-strcase, remove malloca, strnlen.
81390         * tests/test-c-strcasestr.c (main): Enhance test.
81391         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
81393 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
81395         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
81396         Use it in creating po/Makevars.
81398 2008-01-15  Simon Josefsson  <simon@josefsson.org>
81400         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
81401         Applications that requires it should initialize libgcrypt
81402         manually.
81404 2008-01-16  Simon Josefsson  <simon@josefsson.org>
81406         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
81408 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
81410         Fix problem with getdate on mingw32 reported by Simon Josefsson
81411         in <http://lists.gnu.org/r/bug-gnulib/2008-01/msg00192.html>.
81412         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
81413         tzname", when deciding whether to declare tzname.
81414         * lib/strftime.c (tzname): Likewise.
81416 2008-01-15  Bruno Haible  <bruno@clisp.org>
81418         Work around a MacOS X 10.5 bug in frexpl().
81419         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
81420         * doc/functions/frexpl.texi: Document the bug.
81421         Reported by Elias Pipping <pipping@gentoo.org>.
81423 2008-01-14  Eric Blake  <ebb9@byu.net>
81425         Touch up previous patch.
81426         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
81427         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
81429         Convert strcasestr module to use Two-Way algorithm.
81430         * modules/strcasestr-simple: New module, based on the old
81431         strcasestr, but with Two-Way rather than KMP.
81432         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
81433         * lib/string.in.h (rpl_strcasestr): Declare.
81434         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
81435         performance.
81436         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
81437         * modules/string (Makefile.am): Support strcasestr.
81438         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
81439         * modules/strcasestr-tests (Depends-on): Check for alarm.
81440         * tests/test-strcasestr.c: Augment test.
81441         * lib/str-two-way.h: Clean up stray macro.
81442         * NEWS: Document new module.
81443         * MODULES.html.sh (string handling): Likewise.
81444         * doc/functions/strcasestr.texi: New file.
81445         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
81446         here, since it is not a POSIX function.
81448 2008-01-14  Colin Watson  <cjwatson@debian.org>
81449             Bruno Haible  <bruno@clisp.org>
81451         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
81452         works fine; if not, set REPLACE_STRSIGNAL.
81453         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
81454         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
81455         REPLACE_STRSIGNAL.
81456         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
81457         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
81458         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
81460 2008-01-14  Bruno Haible  <bruno@clisp.org>
81462         * modules/strsignal (Include): Change to <string.h>.
81464 2008-01-14  Colin Watson  <cjwatson@debian.org>
81466         * modules/argp (Notice): Add a notice recommending to change
81467         XGETTEXT_OPTIONS.
81468         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
81470 2008-01-13  Colin Watson  <cjwatson@debian.org>
81472         * modules/strsignal-tests: New file.
81473         * tests/test-strsignal.c: New file.
81475         * lib/strsignal.c: New file, from glibc with modifications.
81476         * lib/siglist.h: New file, from glibc with modifications.
81477         * lib/string.in.h (strsignal): New declaration.
81478         * m4/strsignal.m4: New file.
81479         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
81480         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
81481         * modules/strsignal: New file.
81482         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
81483         HAVE_DECL_STRSIGNAL.
81485 2008-01-13  Bruno Haible  <bruno@clisp.org>
81487         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
81488         locale encoding is not ASCII. Needed for OpenBSD 4.0.
81489         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
81490         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
81492 2008-01-13  Bruno Haible  <bruno@clisp.org>
81494         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
81495         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
81496         * lib/argp.h (__attribute__): Likewise.
81497         * lib/c-stack.c (__attribute__): Likewise.
81498         * lib/error.h (__attribute__): Likewise.
81499         * lib/fts.c (__attribute__): Likewise.
81500         * lib/openat.h (__attribute__): Likewise.
81501         * lib/stdio.in.h (__attribute__): Likewise.
81502         * lib/string.in.h (__attribute__): Likewise.
81503         * lib/utimens.c (__attribute__): Likewise.
81504         * lib/vasnprintf.h (__attribute__): Likewise.
81505         * lib/xalloc.h (__attribute__): Likewise.
81506         * lib/xprintf.h (__attribute__): Likewise.
81507         * lib/xstrtol.h (__attribute__): Likewise.
81508         * lib/xvasprintf.h (__attribute__): Likewise.
81510 2008-01-12  Bruno Haible  <bruno@clisp.org>
81512         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
81513         * doc/glibc-headers/a.out.texi: New file.
81514         * doc/glibc-headers/aliases.texi: New file.
81515         * doc/glibc-headers/alloca.texi: New file.
81516         * doc/glibc-headers/ar.texi: New file.
81517         * doc/glibc-headers/argp.texi: New file.
81518         * doc/glibc-headers/argz.texi: New file.
81519         * doc/glibc-headers/byteswap.texi: New file.
81520         * doc/glibc-headers/crypt.texi: New file.
81521         * doc/glibc-headers/endian.texi: New file.
81522         * doc/glibc-headers/envz.texi: New file.
81523         * doc/glibc-headers/err.texi: New file.
81524         * doc/glibc-headers/error.texi: New file.
81525         * doc/glibc-headers/execinfo.texi: New file.
81526         * doc/glibc-headers/fpu_control.texi: New file.
81527         * doc/glibc-headers/fstab.texi: New file.
81528         * doc/glibc-headers/fts.texi: New file.
81529         * doc/glibc-headers/getopt.texi: New file.
81530         * doc/glibc-headers/ieee754.texi: New file.
81531         * doc/glibc-headers/ifaddrs.texi: New file.
81532         * doc/glibc-headers/libintl.texi: New file.
81533         * doc/glibc-headers/mcheck.texi: New file.
81534         * doc/glibc-headers/mntent.texi: New file.
81535         * doc/glibc-headers/obstack.texi: New file.
81536         * doc/glibc-headers/paths.texi: New file.
81537         * doc/glibc-headers/printf.texi: New file.
81538         * doc/glibc-headers/pty.texi: New file.
81539         * doc/glibc-headers/resolv.texi: New file.
81540         * doc/glibc-headers/shadow.texi: New file.
81541         * doc/glibc-headers/sysexits.texi: New file.
81542         * doc/glibc-headers/ttyent.texi: New file.
81544 2008-01-12  Jim Meyering  <meyering@redhat.com>
81546         announce-gen: emit Gnulib's git-based version string.
81547         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
81548         New option --gnulib-version=V, where V is expected to be
81549         the output of running git describe in the gnulib directory.
81550         (get_tool_versions): Request feedback on xdelta.  I suspect it's
81551         not useful, and plan to stop publishing an xdelta file with each
81552         coreutils release.
81554         * build-aux/announce-gen: Also check for lzma-compressed files.
81556 2008-01-11  Bruno Haible  <bruno@clisp.org>
81558         * tests/test-memmem.c (main): Increase maximum allowed time.
81559         * tests/test-strstr.c (main): Likewise.
81561 2008-01-11  Bruno Haible  <bruno@clisp.org>
81563         * doc/functions/memmem.texi: Add more precisions about platforms.
81564         * doc/functions/strstr.texi: Likewise.
81566 2008-01-10  Eric Blake  <ebb9@byu.net>
81568         * m4/strstr.m4: Delete cruft from copy-n-paste.
81569         Reported by Bruno Haible.
81571 2008-01-10  Bruno Haible  <bruno@clisp.org>
81573         Make c-strstr rely on strstr.
81574         * lib/c-strstr.c: Don't include str-kmp.h.
81575         (c_strstr): Define in terms of strstr.
81576         * modules/c-strstr (Files): Remove lib/str-kmp.h.
81577         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
81579 2008-01-10  Bruno Haible  <bruno@clisp.org>
81581         * doc/gnulib.texi (String Functions in C Locale): New section.
81582         * doc/c-ctype.texi: New file.
81583         * doc/c-strcase.texi: New file.
81584         * doc/c-strcaseeq.texi: New file.
81585         * doc/c-strcasestr.texi: New file.
81586         * doc/c-strstr.texi: New file.
81587         * doc/c-strtod.texi: New file.
81588         * doc/c-strtold.texi: New file.
81590 2008-01-10  Eric Blake  <ebb9@byu.net>
81592         * lib/relocatable.h: Fix a comment.
81594 2008-01-10  Eric Blake  <ebb9@byu.net>
81596         Share two-way algorithm.
81597         * lib/str-two-way.h: New file, merged from...
81598         * lib/memmem.c: ...here...
81599         * lib/strstr.c: ...and here.
81600         * modules/memmem (Files): Use it.
81601         * modules/strstr (Files): Likewise.
81603         Avoid quadratic strstr implementations.
81604         * lib/strstr.c: New file.
81605         * m4/strstr.m4: Likewise.
81606         * modules/strstr: Likewise.
81607         * modules/strstr-tests: Likewise.
81608         * tests/test-strstr.c: Likewise.
81609         * lib/string.in.h (rpl_strstr): Declare.
81610         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
81611         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
81612         * modules/string (Makefile.am): Likewise.
81613         * MODULES.html.sh (string handling): Mention new module.
81614         * doc/functions/strstr.texi (strstr): Document the bug.
81616 2008-01-10  Bruno Haible  <bruno@clisp.org>
81618         * lib/relocatable.h (relocate): State whether result is freshly
81619         allocated or not.
81620         * lib/relocatable.c (relocate): Return a freshly allocated string
81621         instead of a pointer to a privately held string.
81622         Reported by Sylvain Beucler <beuc@gnu.org>.
81624 2008-01-10  Colin Watson  <cjwatson@debian.org>
81626         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
81627         s/S_ISNLK/S_ISLNK/.
81629 2008-01-09  Bruno Haible  <bruno@clisp.org>
81631         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
81632         and other files.
81633         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
81634         if it's only a guess.
81635         * modules/memmem: Simplify by depending on memmem-simple.
81637 2008-01-09  Bruno Haible  <bruno@clisp.org>
81639         Work around OpenBSD 4.0 tdelete() bug.
81640         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
81641         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
81642         macros and don't redefine the enum values.
81643         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
81644         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
81645         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
81647 2008-01-09  Bruno Haible  <bruno@clisp.org>
81649         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
81650         (main): Don't perform the tests if setlocale did not install a UTF-8
81651         locale. Needed on OpenBSD 4.0.
81652         * modules/wcwidth-tests (Depends-on): Add localcharset.
81654 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
81656         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
81657         See <http://lists.gnu.org/r/bug-gnulib/2007-12/msg00149.html>.
81658         * NEWS: announce this.
81659         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
81661 2008-01-09  Simon Josefsson  <simon@josefsson.org>
81662         and Eric Blake  <ebb9@byu.net>
81664         Add memmem-simple module.
81665         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
81666         (gl_FUNC_MEMMEM): Separate performance from presence checks.
81667         * modules/memmem-simple: New file.
81668         * modules/memmem (Description): Tweak.
81669         * MODULES.html.sh (string handling): Mention new module.
81670         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
81671         addressed by memmem-simple.
81672         * NEWS: Document the difference.
81674 2008-01-09  Eric Blake  <ebb9@byu.net>
81676         Give gcc some memmem optimization hints.
81677         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
81678         (strcasestr): Declare as pure.
81679         * modules/memmem (Maintainer): Claim my implementation.
81681 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81683         Support AIX 6.1 and higher.
81684         * build-aux/config.libpath: Likewise.
81685         * build-aux/config.rpath: Likewise.
81687 2008-01-08  Jim Meyering  <meyering@redhat.com>
81688             Bruno Haible  <bruno@clisp.org>
81690         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
81691         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
81692         Reported by Peter Fales in
81693         <http://lists.gnu.org/r/bug-coreutils/2007-12/msg00148.html>.
81695 2008-01-08  Bruno Haible  <bruno@clisp.org>
81697         * modules/unictype/category-of (Depends-on): Add
81698         unictype/category-none.
81699         * modules/unictype/category-and-tests (Depends-on): Add
81700         unictype/category-{L,N,Lu,Nd}.
81701         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
81702         * modules/unictype/category-or-tests (Depends-on): Add
81703         unictype/category-{L,N}.
81704         * modules/unictype/category-name-tests (Depends-on): Add
81705         unictype/category-{Z,Nl}.
81706         Reported by Simon Josefsson.
81708 2008-01-08  Bruno Haible  <bruno@clisp.org>
81710         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
81711         convention better.
81712         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
81713         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
81714         Reported by Peter Miller <millerp@canb.auug.org.au>.
81716 2008-01-08  Eric Blake  <ebb9@byu.net>
81718         Rewrite memmem to guarantee linear complexity without malloc.
81719         * lib/memmem.c (memmem): Use Two-Way rather than
81720         Knuth-Morris-Pratt, to allow O(1) space usage.
81721         (critical_factorization, two_way_short_needle)
81722         (two_way_long_needle): New functions.
81723         (knuth_morris_pratt): Delete.
81724         * modules/memmem (Depends-on): No longer need malloca or stdbool.
81725         Add stdint.
81726         * tests/test-memmem.c (main): Add tests for periodic needle and
81727         sublinear performance.
81728         * doc/functions/memmem.texi (memmem): Document other deficiencies
81729         in cygwin and older glibc.
81731 2008-01-08  Bruno Haible  <bruno@clisp.org>
81733         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
81734         augmentation.
81736 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
81738         Add a configure time option: --disable-acl.
81739         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
81740         AC_ARG_ENABLE(acl).
81742 2008-01-06  Simon Josefsson  <simon@josefsson.org>
81744         * tests/test-localename.c: Don't include obsolete "setenv.h".
81746         * modules/localename-tests (Depends-on): Need unsetenv.
81748 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81750         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
81752 2008-01-06  Colin Watson  <cjwatson@debian.org>
81754         * users.txt: Add man-db.
81756 2008-01-07  Bruno Haible  <bruno@clisp.org>
81758         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
81759         previous section name.
81761 2008-01-07  Bruno Haible  <bruno@clisp.org>
81763         * lib/progname.c (set_program_name): Don't strip off a leading
81764         "lt-" prefix outside a .libs directory.
81765         Suggested by Paul Eggert.
81767 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
81768             Bruno Haible  <bruno@clisp.org>
81770         Improve memory cleanup in 'relocatable' module.
81771         * lib/relocatable.h (compute_curr_prefix): Change return type to
81772         'char *'.
81773         * lib/relocatable.c (compute_curr_prefix): Change return type to
81774         'char *'. Free curr_installdir after use.
81775         (relocate): Free curr_prefix_better after use.
81776         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
81778 2008-01-01  Bruno Haible  <bruno@clisp.org>
81780         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
81781         failure on older glibc systems.
81782         Reported by Peter Fales <psfales@alcatel-lucent.com>.
81784 2008-01-05  Eric Blake  <ebb9@byu.net>
81786         Avoid quadratic system memmem.
81787         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
81788         Reported by Ralf Wildenhues.
81790         Fix memmem test for mingw.
81791         * modules/memmem-tests (configure.ac): Check for alarm.
81792         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
81793         it.
81794         * doc/functions/memmem.texi: New file.
81795         * doc/gnulib.texi (Function Substitutes): Add memmem.
81796         Reported by Bruno Haible.
81798 2008-01-04  Bruno Haible  <bruno@clisp.org>
81800         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
81801         Require gl_HEADER_STRINGS_H_DEFAULTS, not
81802         gl_HEADER_STRING_H_DEFAULTS.
81804 2008-01-04  Eric Blake  <ebb9@byu.net>
81806         Shorten duration of memmem test.
81807         * tests/test-memmem.c (main): Use alarm to declare failure if test
81808         is taking too long.
81809         Reported by Ralf Wildenhues.
81811 2007-12-21  Simon Josefsson  <simon@josefsson.org>
81813         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
81814         string, needed by strerror.
81816 2008-01-03  Colin Watson  <cjwatson@debian.org>
81817             Bruno Haible  <bruno@clisp.org>
81819         * doc/gnulib-tool.texi (Localization): New section.
81821 2008-01-02  Bruno Haible  <bruno@clisp.org>
81823         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
81824         variables to 'unsigned char *' type.
81825         Reported by Paul Eggert.
81827 2008-01-02  Jim Meyering  <jim@meyering.net>
81829         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
81831 2007-12-31  Jim Meyering  <jim@meyering.net>
81833         Avoid use of private FTS type name.
81834         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
81836 2007-12-30  Karl Berry  <karl@gnu.org>
81838         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
81839         work around defect in Texinfo and/or the standalone Info browser.
81841 2007-12-30  Bruno Haible  <bruno@clisp.org>
81843         Unify 5 copies of the KMP code.
81844         * lib/str-kmp.h: New file.
81845         * lib/c-strcasestr.c: Include str-kmp.h.
81846         (knuth_morris_pratt): Remove function.
81847         (c_strcasestr): Update.
81848         * lib/c-strstr.c: Include str-kmp.h.
81849         (knuth_morris_pratt): Remove function.
81850         (c_strcasestr): Update.
81851         * lib/mbscasestr.c: Include str-kmp.h.
81852         (knuth_morris_pratt_unibyte): Remove function.
81853         * lib/mbsstr.c: Include str-kmp.h.
81854         (knuth_morris_pratt_unibyte): Remove function.
81855         * lib/strcasestr.c: Include str-kmp.h.
81856         (knuth_morris_pratt): Remove function.
81857         (strcasestr): Update.
81858         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
81859         * modules/c-strstr (Files): Likewise.
81860         * modules/mbscasestr (Files): Likewise.
81861         * modules/mbsstr (Files): Likewise.
81862         * modules/strcasestr (Files): Likewise.
81863         Suggested by Paul Eggert.
81865 2007-12-30  Bruno Haible  <bruno@clisp.org>
81867         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
81868         defined.
81870 2007-12-30  Bruno Haible  <bruno@clisp.org>
81872         * lib/xmalloca.h: Include xalloc.h.
81873         (xnmalloca): New macro.
81875 2007-12-30  Bruno Haible  <bruno@clisp.org>
81877         * lib/malloca.h (nmalloca): New macro.
81878         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
81879         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
81880         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
81881         knuth_morris_pratt_multibyte): Likewise.
81882         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
81883         knuth_morris_pratt_multibyte): Likewise.
81884         * lib/memmem.c (knuth_morris_pratt): Likewise.
81885         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
81887 2007-12-25  Bruno Haible  <bruno@clisp.org>
81889         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
81890         * lib/glob.c: Don't include openat.h.
81891         (link_exists2_p): Add back the code that deals with the
81892         !GLOB_ALTDIRFUNC case.
81893         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
81894         let it do the filename concatenation.
81895         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
81896         * modules/glob (Depends-on): Remove openat.
81898 2007-12-31  Bruno Haible  <bruno@clisp.org>
81900         * modules/dirfd (License): Change to LGPLv2+.
81901         Approved by Jim Meyering.
81903 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
81905         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
81906         when multiplying M by sizeof (size_t).
81908 2007-12-10  Martin Lambers  <marlam@marlam.de>
81910         Override getpagesize on mingw.
81911         * lib/getpagesize.c: New file.
81912         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
81913         * modules/getpagesize (Files): Add lib/getpagesize.c.
81914         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
81915         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
81916         REPLACE_GETPAGESIZE.
81917         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
81919 2007-12-25  Bruno Haible  <bruno@clisp.org>
81921         * modules/localcharset (Notice): New field.
81922         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
81923         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
81925 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
81926             Bruno Haible  <bruno@clisp.org>
81928         Avoid using the syntax symbol() in formatted documentation.
81929         * MODULES.html.sh (func_module): When replacing symbol() with a
81930         hyperlink, remove the parentheses. Show an error if some remain.
81931         Recognize and render the '...' syntax.
81932         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
81933         Rework. Add paragraph about GCC's inlining.
81934         * doc/alloca.texi: Likewise.
81935         * doc/error.texi: Remove parentheses from symbol reference.
81936         * doc/gnulib-intro.texi: Likewise.
81937         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
81938         * modules/fnmatch (Description): Reword to say "the ... function".
81939         * modules/full-read (Description): Likewise.
81940         * modules/full-write (Description): Likewise.
81941         * modules/safe-read (Description): Likewise.
81942         * modules/safe-write (Description): Likewise.
81943         * modules/strchrnul (Description): Likewise.
81944         * modules/trim (Description): Likewise.
81945         * modules/error (Description): Remove parentheses from symbol
81946         references.
81947         * modules/verror (Description): Likewise.
81948         Reported by Karl Berry.
81950 2007-12-25  Bruno Haible  <bruno@clisp.org>
81952         Fixup after 2007-10-16 commit.
81953         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
81955 2007-12-24  Bruno Haible  <bruno@clisp.org>
81957         Make --enable-relocatable work with DESTDIR.
81958         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
81959         to compute installdir from destprog.
81960         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
81961         also set the RELOC_DESTDIR variable.
81962         Reported by Левашев Иван <octagram@bluebottle.com>.
81964 2007-12-24  Bruno Haible  <bruno@clisp.org>
81966         Fix link error due to xalloc_die().
81967         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
81968         of xreadlink.
81969         * lib/relocwrapper.c: Update comments.
81970         * build-aux/install-reloc: Remove xreadlink.c from file list.
81971         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
81972         xreadlink.c.
81973         Reported by Левашев Иван <octagram@bluebottle.com>.
81975 2007-12-24  Bruno Haible  <bruno@clisp.org>
81977         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
81978         * lib/setenv.h: Remove file.
81979         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
81980         lib/setenv.h.
81981         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
81982         (Depends-on): Add stdlib.
81983         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
81984         gl_FUNC_UNSETENV.
81985         (Include): Replace setenv.h with <stdlib.h>.
81986         * modules/unsetenv: New file.
81987         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
81988         * lib/unsetenv.c: Include <stdlib.h> first.
81989         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
81990         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
81991         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
81992         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
81993         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
81994         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
81995         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
81996         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
81997         * doc/functions/unsetenv.texi: Update.
81998         * modules/xsetenv (Depends-on): Add unsetenv.
81999         * modules/getdate (Depends-on): Likewise.
82000         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
82001         * lib/xsetenv.c: Don't include setenv.h.
82002         * lib/getdate.y: Likewise.
82003         * lib/relocwrapper.c: Likewise.
82004         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
82005         (Depends-on): Add stdlib.
82006         * NEWS: Mention the changes.
82007         Reported by Левашев Иван <octagram@bluebottle.com>.
82009 2007-12-23  Bruno Haible  <bruno@clisp.org>
82011         * lib/memmem.c (memmem): Use lowercase variable names. Tab
82012         indentation.
82014 2007-12-23  Bruno Haible  <bruno@clisp.org>
82016         * lib/c-strcasestr.c: Add more comments.
82017         * lib/c-strstr.c: Likewise.
82018         * lib/mbscasestr.c: Likewise.
82019         * lib/mbsstr.c: Likewise.
82020         * lib/strcasestr.c: Likewise.
82021         * lib/memmem.c: Likewise.
82023 2007-12-23  Bruno Haible  <bruno@clisp.org>
82025         * tests/test-memmem.c: Include <string.h> first.
82027 2007-12-22  Bruno Haible  <bruno@clisp.org>
82029         * gnulib-tool (func_create_testdir): Change $auxdir while generating
82030         the contents of $testsbase.
82031         Reported by Ralf Wildenhues.
82033 2007-12-22  Bruno Haible  <bruno@clisp.org>
82035         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
82036         two variables local_ldadd_before, local_ldadd_last.
82038 2007-12-20  Eric Blake  <ebb9@byu.net>
82040         Work around circular library issue when cross-compiling.
82041         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
82042         that progname.o does not need to pull in rpl_memcmp.
82044 2007-12-19  Eric Blake  <ebb9@byu.net>
82046         Fix memmem to avoid O(n^2) worst-case complexity.
82047         * lib/memmem.c (knuth_morris_pratt): New function.
82048         (memmem): Use it if first few naive iterations fail.
82049         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
82050         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
82051         * modules/memchr (License): Likewise.
82052         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
82053         malloca.
82054         * tests/test-memmem.c: Rewrite, borrowing ideas from
82055         test-mbsstr1.c; the old version wouldn't even compile!
82056         * modules/memmem-tests: New file.
82057         * lib/string.in.h (rpl_memmem): Add declaration.
82058         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
82059         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
82060         REPLACE_MEMMEM.
82062 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
82064         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
82065         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
82066         before any system include files, and undef after them all.  This
82067         should fix a problem on VMS reported by John E. Malmberg in
82068         <http://lists.gnu.org/r/bug-gnulib/2007-12/msg00118.html>.
82070 2007-12-17  Eric Blake  <ebb9@byu.net>
82072         Revert addition of verify, for BSD/OS.
82073         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
82074         can't handle large files, for the sake of obsolete platforms.
82075         * modules/fseeko (Depends-on): Remove verify.
82076         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
82077         * doc/functions/ftello.texi (ftello): Likewise.
82078         * doc/functions/fgetpos.texi (fgetpos): Likewise.
82079         Reported by Larry Jones.
82081 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
82083         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
82084         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
82086 2007-12-17  Jim Meyering  <meyering@redhat.com>
82088         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
82089         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
82090         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
82091         * modules/getcwd (Depends-on): Add openat.
82092         Reported by Petr Salinger.
82094 2007-12-17  Bruno Haible  <bruno@clisp.org>
82096         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
82097         avoid a segmentation fault of the configure test on x86_64 systems.
82099 2007-12-15  Jim Meyering  <meyering@redhat.com>
82101         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
82103 2007-12-13  Eric Blake  <ebb9@byu.net>
82105         Another fseek test.
82106         * tests/test-fseek.c (main): Also test ungetc handling.
82107         * tests/test-fseeko.c (main): Likewise.
82108         * modules/fseeko (Depends-on): Add verify.
82109         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
82110         large.
82111         Reported by Larry Jones.
82113         Fix fseeko on mingw.
82114         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
82115         seek.
82117         Beef up fseek tests.
82118         * tests/test-fseek.c (main): Also test eof handling.
82119         * tests/test-fseeko.c (main): Likewise.
82120         Reported by Larry Jones.
82122 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
82124         Fix fseeko on BSD-based platforms.
82125         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
82126         successful seek.
82128 2007-12-12  Eric Blake  <ebb9@byu.net>
82130         Allow circular dependency of separate libtests.a
82131         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
82132         when use_libtests.
82134 2007-12-11  Eric Blake  <ebb9@byu.net>
82136         Fix bug with -0.0L in previous patch.
82137         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
82138         * tests/test-isnan.c (main): Also test on zeroes.
82139         * tests/test-isnanf.c (main): Likewise.
82140         * tests/test-isnanl.h (main): Likewise.
82142         Detect pseudo-denormals on x86 even when cross-compiling.
82143         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
82144         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
82145         invalid bit patterns that happen to satisfy ==.
82147         Avoid link failures with separate libtests.a.
82148         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
82149         last, to satisfy circular dependencies.
82151 2007-12-11  Eric Blake  <ebb9@byu.net>
82152         and Bruno Haible  <bruno@clisp.org>
82154         Fix OpenBSD 4.0 <float.h> handling of long double.
82155         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
82156         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
82157         * doc/headers/float.texi (float.h): Document OpenBSD bug.
82159 2007-12-11  Jim Meyering  <meyering@redhat.com>
82161         * users.txt: Add libvirt.
82163         Support versions of autoconf prior to 2.59c.
82164         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
82165         if it is not already defined.
82167 2007-12-09  Bruno Haible  <bruno@clisp.org>
82169         Let 'gnulib-tool --import' collect sources needed for the tests in
82170         tests/ rather than in lib/.
82171         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
82172         argument. If true, add rules to generate libtests.a, and put libtests.a
82173         into $(LDADD). Consider source files in subdirectories and set
82174         uses_subdirs.
82175         (func_emit_initmacro_start, func_emit_initmacro_end,
82176         func_emit_initmacro_done): Pass all arguments explicitly.
82177         (func_import): Determine two module lists main_modules,
82178         testsrelated_modules. Determine use_libtests. Determine two variables
82179         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
82180         instead of just sed_transform_lib_file. Determine two variables
82181         main_files and testsrelated_files. Compute 'files' as the union of
82182         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
82183         func_add_or_update. In the generated gnulib-comp.m4, collect the
82184         object files for tests/ in different variables than those for lib/.
82185         Substitute LIBTESTS_LIBDEPS.
82186         (func_create_testdir): Combine the uses_subdirs results from
82187         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
82189 2007-12-09  Bruno Haible  <bruno@clisp.org>
82191         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
82192         the build-aux directory.
82194 2007-12-09  Bruno Haible  <bruno@clisp.org>
82196         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
82197         introduced on 2006-09-09.
82199 2007-12-07  Jim Meyering  <meyering@redhat.com>
82201         Let these macros work also with autoconf-2.59.
82202         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
82203         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
82204         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
82206 2007-12-06  Jim Meyering  <meyering@redhat.com>
82208         Avoid a configure-time syntax error in gl_FUNC_ACL.
82209         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
82210         function in each branch, before testing the cache variable.
82212 2007-12-04  Eric Blake  <ebb9@byu.net>
82214         Make scripts executable.
82215         * build-aux/config.guess: Add execute permissions.
82216         * build-aux/config.sub: Likewise.
82217         * build-aux/gendocs.sh: Likewise.
82219         Fix frexp on mingw.
82220         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
82221         cross-compiling.
82222         * doc/functions/frexp.texi (frexp): Document the bug.
82224         Make cygwin fseeko check more reliable.
82225         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
82226         version numbers, rather than unrelated feature check.
82227         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
82228         * doc/functions/ftello.texi (ftello): Likewise.
82229         Reported by Bruno Haible.
82231         * m4/strerror.m4: Bump version number.
82233 2007-12-03  Bruno Haible  <bruno@clisp.org>
82235         * doc/functions/mprotect.texi: Mention the mingw problem.
82237 2007-12-03  Eric Blake  <ebb9@byu.net>
82239         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
82240         REPLACE_STRERROR is initialized before this macro.
82242 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
82244         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
82245         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
82246         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
82247         put -lsec in even for programs other than 'ls'.  This fixes a problem
82248         for gettext reported by Bruno Haible in
82249         <http://lists.gnu.org/r/bug-gnulib/2007-12/msg00007.html>.
82250         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
82251         Add support for Solaris 10.  This isn't efficient, but should get the
82252         job done for now.
82254 2007-12-03  James Youngman  <jay@gnu.org>
82256         * doc/regexprops-generic.texi: change "an close-group" to "a
82257         close-group" and "illegal" to "not allowed".
82259 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82261         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
82262         pr_byname.h. Needed for the rare case when the maintainer has done
82263         "make maintainer-clean" in the source directory and then attempts a
82264         build outside the source directory.
82265         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
82266         scripts_byname.h.
82268 2007-12-02  Martin Lambers  <marlam@marlam.de>
82269             Bruno Haible  <bruno@clisp.org>
82271         * lib/getpagesize.h: Remove file.
82272         * lib/unistd.in.h: Include declaration of getpagesize here.
82273         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
82274         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
82275         HAVE_SYS_PARAM_H.
82276         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
82277         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
82278         * modules/getpagesize (Files): Remove lib/getpagesize.h.
82279         (Depends-on): Add unistd.
82280         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
82281         (Include): Use <unistd.h> instead of getpagesize.h.
82282         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
82283         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
82284         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
82285         gl_GETPAGESIZE invocation, already handled by module dependency.
82286         * lib/pagealign_alloc.c: Don't include getpagesize.h.
82288 2007-12-02  Bruno Haible  <bruno@clisp.org>
82290         * modules/strings-tests: New file.
82291         * tests/test-strings.c: New file.
82293         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
82294         * lib/strings.in.h: New file.
82295         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
82296         * m4/strings_h.m4: New file.
82297         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
82298         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
82299         * modules/strings: New file.
82300         * modules/string (Makefile.am): Update.
82301         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
82302         Reported by Karl Berry.
82304 2007-12-01  Eric Blake  <ebb9@byu.net>
82306         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
82307         accommodate fix in cygwin 1.5.25.
82309 2007-12-01  Jim Meyering  <meyering@redhat.com>
82311         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
82312         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
82313         that would inhibit utf8-optimization of a regexp containing line-
82314         or buffer-anchors, e.g., `^', `$'.
82316 2007-11-30  Bruno Haible  <bruno@clisp.org>
82318         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
82319         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
82320         glthread_recursive_lock_init.
82321         * lib/lock.c (glthread_recursive_lock_init)
82322         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
82323         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
82325 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
82327         New function qset_acl, like set_acl but with syscall semantics.
82328         * lib/acl.h (qset_acl): New decl.
82329         * lib/acl.c (qset_acl): New function.
82330         (set_acl): Use new function.  Use more-consistent diagnostics.
82332 2007-11-28  Jim Meyering  <meyering@redhat.com>
82334         * modules/physmem (License): Change from GPL to LGPLv2+.
82336 2007-11-26  Bruno Haible  <bruno@clisp.org>
82338         * lib/vasnprintf.c (decode_long_double): Don't abort if the
82339         'long double' type has excess precision.
82340         Reported by Jim Meyering in
82341         <http://lists.gnu.org/r/bug-gnulib/2007-11/msg00120.html>.
82343 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82345         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
82346         Sync from <http://gnu.org/licenses>.
82347         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
82348         with license text from same location.
82349         * doc/maintain.texi, doc/standards.texi:  Sync from
82350         <http://savannah.gnu.org/projects/gnustandards>.
82352 2007-11-22  Ondřej Vašík  <ovasik@redhat.com>
82353         and Jim Meyering  <meyering@redhat.com>
82355         Adjust getdate' grammar to accept a slightly more regular language.
82356         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
82357         Before, the former was rejected.
82358         * lib/getdate.y (digits_to_date_time): New function, factored
82359         out of ...
82360         (number): ...here.  Just call digits_to_date_time.
82361         (hybrid): New non-terminal to handle an <unsigned number,
82362         signed relative offset> sequence consistently.
82364 2007-11-18  Jim Meyering  <meyering@redhat.com>
82366         Pull my changes from coreutils:
82367         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
82368         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
82369         use of $gnulib_tool_option_extras, so that it's separated from the
82370         preceding argument.
82372         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
82373         * build-aux/bootstrap (cp_mark_as_generated): Create any required
82374         parent destination directories before copying a file into place.
82376 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
82378         bootstrap: work also with 4-argument variant of AC_INIT
82379         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
82381 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
82383         Port test-getaddrinfo to Solaris.
82384         Problem reported by Bruno Haible in
82385         <http://lists.gnu.org/r/bug-gnulib/2007-03/msg00171.html>.
82386         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
82387         explanation of setting 'hints'.
82388         Don't reject an implementation merely because it returns EAI_SERVICE.
82389         (EAI_SERVICE): Define to 0 if not defined.
82391 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
82393         The license of gnu-make and posix-shell is now "GPLed build tool".
82394         * modules/gnu-make (License): Likewise.
82395         * modules/posix-shell (License): Likewise.
82397         New module posix-shell, for determining a POSIX shell
82398         or perhaps something that is close enough to a POSIX shell.
82399         * m4/posix-shell.m4: New file.
82400         * modules/posix-shell: New file.
82402         * MODULES.html.sh: Mention new module.
82404         New module gnu-make, for determining whether we're using GNU Make.
82405         * m4/gnu-make.m4: New file.
82406         * modules/gnu-make: New file.
82407         * MODULES.html.sh: Mention new module.
82409 2007-11-14  Jim Meyering  <meyering@redhat.com>
82411         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
82412         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
82413         use this macro to create a function _definition_.
82414         Remove useless "#undef ARGMATCH_DIE".
82416 2007-11-14  Bruno Haible  <bruno@clisp.org>
82418         * lib/config.charset: Update for OpenBSD 4.1.
82419         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
82421 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
82423         Document 64-bit #if problems in stdint.texi.
82424         * doc/headers/stdint.texi (stdint.h): Mention problems with
82425         64-bit-#if, and how to work around them.
82427         Don't insist on 'long long int' support in the preprocessor.  It
82428         breaks too many things.  For example, PRIdMAX still uses a 'long
82429         long int' format with the latest Sun compiler, even though
82430         HAVE_LONG_LONG_INT isn't defined due to that compiler's
82431         preprocessor problem.  This causes the latest coreutils to dump
82432         core on Solaris 10 sparc with the Sun C compiler.
82433         Instead, fix the 2007-10-16 problem in a different way, by evaluating
82434         the troublesome expressions at configure-time, not at #if-time.
82435         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
82436         preprocessor.
82437         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
82438         compile-time C checks, done at 'configure'-time.
82439         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
82440         * modules/inttypes (Makefile): Substitute the new symbols that
82441         gl_INTTYPES_H now generates.
82442         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
82444 2007-11-12  Bruno Haible  <bruno@clisp.org>
82446         Tests for Unicode character classification functions.
82448         * modules/unictype/bidicategory-byname-tests: New file.
82449         * modules/unictype/bidicategory-name-tests: New file.
82450         * modules/unictype/bidicategory-of-tests: New file.
82451         * modules/unictype/bidicategory-test-tests: New file.
82452         * modules/unictype/block-list-tests: New file.
82453         * modules/unictype/block-of-tests: New file.
82454         * modules/unictype/block-test-tests: New file.
82455         * modules/unictype/category-C-tests: New file.
82456         * modules/unictype/category-Cc-tests: New file.
82457         * modules/unictype/category-Cf-tests: New file.
82458         * modules/unictype/category-Cn-tests: New file.
82459         * modules/unictype/category-Co-tests: New file.
82460         * modules/unictype/category-Cs-tests: New file.
82461         * modules/unictype/category-L-tests: New file.
82462         * modules/unictype/category-Ll-tests: New file.
82463         * modules/unictype/category-Lm-tests: New file.
82464         * modules/unictype/category-Lo-tests: New file.
82465         * modules/unictype/category-Lt-tests: New file.
82466         * modules/unictype/category-Lu-tests: New file.
82467         * modules/unictype/category-M-tests: New file.
82468         * modules/unictype/category-Mc-tests: New file.
82469         * modules/unictype/category-Me-tests: New file.
82470         * modules/unictype/category-Mn-tests: New file.
82471         * modules/unictype/category-N-tests: New file.
82472         * modules/unictype/category-Nd-tests: New file.
82473         * modules/unictype/category-Nl-tests: New file.
82474         * modules/unictype/category-No-tests: New file.
82475         * modules/unictype/category-P-tests: New file.
82476         * modules/unictype/category-Pc-tests: New file.
82477         * modules/unictype/category-Pd-tests: New file.
82478         * modules/unictype/category-Pe-tests: New file.
82479         * modules/unictype/category-Pf-tests: New file.
82480         * modules/unictype/category-Pi-tests: New file.
82481         * modules/unictype/category-Po-tests: New file.
82482         * modules/unictype/category-Ps-tests: New file.
82483         * modules/unictype/category-S-tests: New file.
82484         * modules/unictype/category-Sc-tests: New file.
82485         * modules/unictype/category-Sk-tests: New file.
82486         * modules/unictype/category-Sm-tests: New file.
82487         * modules/unictype/category-So-tests: New file.
82488         * modules/unictype/category-Z-tests: New file.
82489         * modules/unictype/category-Zl-tests: New file.
82490         * modules/unictype/category-Zp-tests: New file.
82491         * modules/unictype/category-Zs-tests: New file.
82492         * modules/unictype/category-and-not-tests: New file.
82493         * modules/unictype/category-and-tests: New file.
82494         * modules/unictype/category-byname-tests: New file.
82495         * modules/unictype/category-name-tests: New file.
82496         * modules/unictype/category-none-tests: New file.
82497         * modules/unictype/category-of-tests: New file.
82498         * modules/unictype/category-or-tests: New file.
82499         * modules/unictype/category-test-withtable-tests: New file.
82500         * modules/unictype/combining-class-tests: New file.
82501         * modules/unictype/ctype-alnum-tests: New file.
82502         * modules/unictype/ctype-alpha-tests: New file.
82503         * modules/unictype/ctype-blank-tests: New file.
82504         * modules/unictype/ctype-cntrl-tests: New file.
82505         * modules/unictype/ctype-digit-tests: New file.
82506         * modules/unictype/ctype-graph-tests: New file.
82507         * modules/unictype/ctype-lower-tests: New file.
82508         * modules/unictype/ctype-print-tests: New file.
82509         * modules/unictype/ctype-punct-tests: New file.
82510         * modules/unictype/ctype-space-tests: New file.
82511         * modules/unictype/ctype-upper-tests: New file.
82512         * modules/unictype/ctype-xdigit-tests: New file.
82513         * modules/unictype/decimal-digit-tests: New file.
82514         * modules/unictype/digit-tests: New file.
82515         * modules/unictype/mirror-tests: New file.
82516         * modules/unictype/numeric-tests: New file.
82517         * modules/unictype/property-alphabetic-tests: New file.
82518         * modules/unictype/property-ascii-hex-digit-tests: New file.
82519         * modules/unictype/property-bidi-arabic-digit-tests: New file.
82520         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
82521         * modules/unictype/property-bidi-block-separator-tests: New file.
82522         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
82523         * modules/unictype/property-bidi-common-separator-tests: New file.
82524         * modules/unictype/property-bidi-control-tests: New file.
82525         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
82526         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
82527         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
82528         * modules/unictype/property-bidi-european-digit-tests: New file.
82529         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
82530         * modules/unictype/property-bidi-left-to-right-tests: New file.
82531         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
82532         * modules/unictype/property-bidi-other-neutral-tests: New file.
82533         * modules/unictype/property-bidi-pdf-tests: New file.
82534         * modules/unictype/property-bidi-segment-separator-tests: New file.
82535         * modules/unictype/property-bidi-whitespace-tests: New file.
82536         * modules/unictype/property-byname-tests: New file.
82537         * modules/unictype/property-combining-tests: New file.
82538         * modules/unictype/property-composite-tests: New file.
82539         * modules/unictype/property-currency-symbol-tests: New file.
82540         * modules/unictype/property-dash-tests: New file.
82541         * modules/unictype/property-decimal-digit-tests: New file.
82542         * modules/unictype/property-default-ignorable-code-point-tests: New file.
82543         * modules/unictype/property-deprecated-tests: New file.
82544         * modules/unictype/property-diacritic-tests: New file.
82545         * modules/unictype/property-extender-tests: New file.
82546         * modules/unictype/property-format-control-tests: New file.
82547         * modules/unictype/property-grapheme-base-tests: New file.
82548         * modules/unictype/property-grapheme-extend-tests: New file.
82549         * modules/unictype/property-grapheme-link-tests: New file.
82550         * modules/unictype/property-hex-digit-tests: New file.
82551         * modules/unictype/property-hyphen-tests: New file.
82552         * modules/unictype/property-id-continue-tests: New file.
82553         * modules/unictype/property-id-start-tests: New file.
82554         * modules/unictype/property-ideographic-tests: New file.
82555         * modules/unictype/property-ids-binary-operator-tests: New file.
82556         * modules/unictype/property-ids-trinary-operator-tests: New file.
82557         * modules/unictype/property-ignorable-control-tests: New file.
82558         * modules/unictype/property-iso-control-tests: New file.
82559         * modules/unictype/property-join-control-tests: New file.
82560         * modules/unictype/property-left-of-pair-tests: New file.
82561         * modules/unictype/property-line-separator-tests: New file.
82562         * modules/unictype/property-logical-order-exception-tests: New file.
82563         * modules/unictype/property-lowercase-tests: New file.
82564         * modules/unictype/property-math-tests: New file.
82565         * modules/unictype/property-non-break-tests: New file.
82566         * modules/unictype/property-not-a-character-tests: New file.
82567         * modules/unictype/property-numeric-tests: New file.
82568         * modules/unictype/property-other-alphabetic-tests: New file.
82569         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
82570         * modules/unictype/property-other-grapheme-extend-tests: New file.
82571         * modules/unictype/property-other-id-continue-tests: New file.
82572         * modules/unictype/property-other-id-start-tests: New file.
82573         * modules/unictype/property-other-lowercase-tests: New file.
82574         * modules/unictype/property-other-math-tests: New file.
82575         * modules/unictype/property-other-uppercase-tests: New file.
82576         * modules/unictype/property-paired-punctuation-tests: New file.
82577         * modules/unictype/property-paragraph-separator-tests: New file.
82578         * modules/unictype/property-pattern-syntax-tests: New file.
82579         * modules/unictype/property-pattern-white-space-tests: New file.
82580         * modules/unictype/property-private-use-tests: New file.
82581         * modules/unictype/property-punctuation-tests: New file.
82582         * modules/unictype/property-quotation-mark-tests: New file.
82583         * modules/unictype/property-radical-tests: New file.
82584         * modules/unictype/property-sentence-terminal-tests: New file.
82585         * modules/unictype/property-soft-dotted-tests: New file.
82586         * modules/unictype/property-space-tests: New file.
82587         * modules/unictype/property-terminal-punctuation-tests: New file.
82588         * modules/unictype/property-test-tests: New file.
82589         * modules/unictype/property-titlecase-tests: New file.
82590         * modules/unictype/property-unassigned-code-value-tests: New file.
82591         * modules/unictype/property-unified-ideograph-tests: New file.
82592         * modules/unictype/property-uppercase-tests: New file.
82593         * modules/unictype/property-variation-selector-tests: New file.
82594         * modules/unictype/property-white-space-tests: New file.
82595         * modules/unictype/property-xid-continue-tests: New file.
82596         * modules/unictype/property-xid-start-tests: New file.
82597         * modules/unictype/property-zero-width-tests: New file.
82598         * modules/unictype/scripts-tests: New file.
82599         * modules/unictype/syntax-c-ident-tests: New file.
82600         * modules/unictype/syntax-c-whitespace-tests: New file.
82601         * modules/unictype/syntax-java-ident-tests: New file.
82602         * modules/unictype/syntax-java-whitespace-tests: New file.
82603         * tests/unictype/test-bidi_byname.c: New file.
82604         * tests/unictype/test-bidi_name.c: New file.
82605         * tests/unictype/test-bidi_of.c: New file.
82606         * tests/unictype/test-bidi_test.c: New file.
82607         * tests/unictype/test-block_list.c: New file.
82608         * tests/unictype/test-block_of.c: New file.
82609         * tests/unictype/test-block_test.c: New file.
82610         * tests/unictype/test-categ_and.c: New file.
82611         * tests/unictype/test-categ_and_not.c: New file.
82612         * tests/unictype/test-categ_byname.c: New file.
82613         * tests/unictype/test-categ_name.c: New file.
82614         * tests/unictype/test-categ_none.c: New file.
82615         * tests/unictype/test-categ_of.c: New file.
82616         * tests/unictype/test-categ_or.c: New file.
82617         * tests/unictype/test-categ_test_withtable.c: New file.
82618         * tests/unictype/test-combining.c: New file.
82619         * tests/unictype/test-decdigit.c: New file.
82620         * tests/unictype/test-digit.c: New file.
82621         * tests/unictype/test-mirror.c: New file.
82622         * tests/unictype/test-numeric.c: New file.
82623         * tests/unictype/test-pr_byname.c: New file.
82624         * tests/unictype/test-pr_test.c: New file.
82625         * tests/unictype/test-predicate-part1.h: New file.
82626         * tests/unictype/test-predicate-part2.h: New file.
82627         * tests/unictype/test-scripts.c: New file.
82628         * tests/unictype/test-sy_c_ident.c: New file.
82629         * tests/unictype/test-sy_java_ident.c: New file.
82631         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
82632         for Unicode 5.0.0.
82633         * tests/unictype/test-categ_Cc.c: Likewise.
82634         * tests/unictype/test-categ_Cf.c: Likewise.
82635         * tests/unictype/test-categ_Cn.c: Likewise.
82636         * tests/unictype/test-categ_Co.c: Likewise.
82637         * tests/unictype/test-categ_Cs.c: Likewise.
82638         * tests/unictype/test-categ_L.c: Likewise.
82639         * tests/unictype/test-categ_Ll.c: Likewise.
82640         * tests/unictype/test-categ_Lm.c: Likewise.
82641         * tests/unictype/test-categ_Lo.c: Likewise.
82642         * tests/unictype/test-categ_Lt.c: Likewise.
82643         * tests/unictype/test-categ_Lu.c: Likewise.
82644         * tests/unictype/test-categ_M.c: Likewise.
82645         * tests/unictype/test-categ_Mc.c: Likewise.
82646         * tests/unictype/test-categ_Me.c: Likewise.
82647         * tests/unictype/test-categ_Mn.c: Likewise.
82648         * tests/unictype/test-categ_N.c: Likewise.
82649         * tests/unictype/test-categ_Nd.c: Likewise.
82650         * tests/unictype/test-categ_Nl.c: Likewise.
82651         * tests/unictype/test-categ_No.c: Likewise.
82652         * tests/unictype/test-categ_P.c: Likewise.
82653         * tests/unictype/test-categ_Pc.c: Likewise.
82654         * tests/unictype/test-categ_Pd.c: Likewise.
82655         * tests/unictype/test-categ_Pe.c: Likewise.
82656         * tests/unictype/test-categ_Pf.c: Likewise.
82657         * tests/unictype/test-categ_Pi.c: Likewise.
82658         * tests/unictype/test-categ_Po.c: Likewise.
82659         * tests/unictype/test-categ_Ps.c: Likewise.
82660         * tests/unictype/test-categ_S.c: Likewise.
82661         * tests/unictype/test-categ_Sc.c: Likewise.
82662         * tests/unictype/test-categ_Sk.c: Likewise.
82663         * tests/unictype/test-categ_Sm.c: Likewise.
82664         * tests/unictype/test-categ_So.c: Likewise.
82665         * tests/unictype/test-categ_Z.c: Likewise.
82666         * tests/unictype/test-categ_Zl.c: Likewise.
82667         * tests/unictype/test-categ_Zp.c: Likewise.
82668         * tests/unictype/test-categ_Zs.c: Likewise.
82669         * tests/unictype/test-ctype_alnum.c: Likewise.
82670         * tests/unictype/test-ctype_alpha.c: Likewise.
82671         * tests/unictype/test-ctype_blank.c: Likewise.
82672         * tests/unictype/test-ctype_cntrl.c: Likewise.
82673         * tests/unictype/test-ctype_digit.c: Likewise.
82674         * tests/unictype/test-ctype_graph.c: Likewise.
82675         * tests/unictype/test-ctype_lower.c: Likewise.
82676         * tests/unictype/test-ctype_print.c: Likewise.
82677         * tests/unictype/test-ctype_punct.c: Likewise.
82678         * tests/unictype/test-ctype_space.c: Likewise.
82679         * tests/unictype/test-ctype_upper.c: Likewise.
82680         * tests/unictype/test-ctype_xdigit.c: Likewise.
82681         * tests/unictype/test-decdigit.h: Likewise.
82682         * tests/unictype/test-digit.h: Likewise.
82683         * tests/unictype/test-numeric.h: Likewise.
82684         * tests/unictype/test-pr_alphabetic.c: Likewise.
82685         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
82686         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
82687         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
82688         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
82689         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
82690         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
82691         * tests/unictype/test-pr_bidi_control.c: Likewise.
82692         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
82693         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
82694         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
82695         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
82696         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
82697         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
82698         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
82699         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
82700         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
82701         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
82702         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
82703         * tests/unictype/test-pr_combining.c: Likewise.
82704         * tests/unictype/test-pr_composite.c: Likewise.
82705         * tests/unictype/test-pr_currency_symbol.c: Likewise.
82706         * tests/unictype/test-pr_dash.c: Likewise.
82707         * tests/unictype/test-pr_decimal_digit.c: Likewise.
82708         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
82709         * tests/unictype/test-pr_deprecated.c: Likewise.
82710         * tests/unictype/test-pr_diacritic.c: Likewise.
82711         * tests/unictype/test-pr_extender.c: Likewise.
82712         * tests/unictype/test-pr_format_control.c: Likewise.
82713         * tests/unictype/test-pr_grapheme_base.c: Likewise.
82714         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
82715         * tests/unictype/test-pr_grapheme_link.c: Likewise.
82716         * tests/unictype/test-pr_hex_digit.c: Likewise.
82717         * tests/unictype/test-pr_hyphen.c: Likewise.
82718         * tests/unictype/test-pr_id_continue.c: Likewise.
82719         * tests/unictype/test-pr_id_start.c: Likewise.
82720         * tests/unictype/test-pr_ideographic.c: Likewise.
82721         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
82722         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
82723         * tests/unictype/test-pr_ignorable_control.c: Likewise.
82724         * tests/unictype/test-pr_iso_control.c: Likewise.
82725         * tests/unictype/test-pr_join_control.c: Likewise.
82726         * tests/unictype/test-pr_left_of_pair.c: Likewise.
82727         * tests/unictype/test-pr_line_separator.c: Likewise.
82728         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
82729         * tests/unictype/test-pr_lowercase.c: Likewise.
82730         * tests/unictype/test-pr_math.c: Likewise.
82731         * tests/unictype/test-pr_non_break.c: Likewise.
82732         * tests/unictype/test-pr_not_a_character.c: Likewise.
82733         * tests/unictype/test-pr_numeric.c: Likewise.
82734         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
82735         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
82736         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
82737         * tests/unictype/test-pr_other_id_continue.c: Likewise.
82738         * tests/unictype/test-pr_other_id_start.c: Likewise.
82739         * tests/unictype/test-pr_other_lowercase.c: Likewise.
82740         * tests/unictype/test-pr_other_math.c: Likewise.
82741         * tests/unictype/test-pr_other_uppercase.c: Likewise.
82742         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
82743         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
82744         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
82745         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
82746         * tests/unictype/test-pr_private_use.c: Likewise.
82747         * tests/unictype/test-pr_punctuation.c: Likewise.
82748         * tests/unictype/test-pr_quotation_mark.c: Likewise.
82749         * tests/unictype/test-pr_radical.c: Likewise.
82750         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
82751         * tests/unictype/test-pr_soft_dotted.c: Likewise.
82752         * tests/unictype/test-pr_space.c: Likewise.
82753         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
82754         * tests/unictype/test-pr_titlecase.c: Likewise.
82755         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
82756         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
82757         * tests/unictype/test-pr_uppercase.c: Likewise.
82758         * tests/unictype/test-pr_variation_selector.c: Likewise.
82759         * tests/unictype/test-pr_white_space.c: Likewise.
82760         * tests/unictype/test-pr_xid_continue.c: Likewise.
82761         * tests/unictype/test-pr_xid_start.c: Likewise.
82762         * tests/unictype/test-pr_zero_width.c: Likewise.
82763         * tests/unictype/test-sy_c_whitespace.c: Likewise.
82764         * tests/unictype/test-sy_java_whitespace.c: Likewise.
82766 2007-11-12  Bruno Haible  <bruno@clisp.org>
82768         Unicode character classification functions.
82769         * lib/unictype.h: New file.
82770         * modules/unictype/base: New file.
82771         * modules/unictype/category-L: New file.
82772         * modules/unictype/category-Lu: New file.
82773         * modules/unictype/category-Ll: New file.
82774         * modules/unictype/category-Lt: New file.
82775         * modules/unictype/category-Lm: New file.
82776         * modules/unictype/category-Lo: New file.
82777         * modules/unictype/category-M: New file.
82778         * modules/unictype/category-Mn: New file.
82779         * modules/unictype/category-Mc: New file.
82780         * modules/unictype/category-Me: New file.
82781         * modules/unictype/category-N: New file.
82782         * modules/unictype/category-Nd: New file.
82783         * modules/unictype/category-Nl: New file.
82784         * modules/unictype/category-No: New file.
82785         * modules/unictype/category-P: New file.
82786         * modules/unictype/category-Pc: New file.
82787         * modules/unictype/category-Pd: New file.
82788         * modules/unictype/category-Ps: New file.
82789         * modules/unictype/category-Pe: New file.
82790         * modules/unictype/category-Pi: New file.
82791         * modules/unictype/category-Pf: New file.
82792         * modules/unictype/category-Po: New file.
82793         * modules/unictype/category-S: New file.
82794         * modules/unictype/category-Sm: New file.
82795         * modules/unictype/category-Sc: New file.
82796         * modules/unictype/category-Sk: New file.
82797         * modules/unictype/category-So: New file.
82798         * modules/unictype/category-Z: New file.
82799         * modules/unictype/category-Zs: New file.
82800         * modules/unictype/category-Zl: New file.
82801         * modules/unictype/category-Zp: New file.
82802         * modules/unictype/category-C: New file.
82803         * modules/unictype/category-Cc: New file.
82804         * modules/unictype/category-Cf: New file.
82805         * modules/unictype/category-Cs: New file.
82806         * modules/unictype/category-Co: New file.
82807         * modules/unictype/category-Cn: New file.
82808         * modules/unictype/category-or: New file.
82809         * modules/unictype/category-of: New file.
82810         * modules/unictype/category-test: New file.
82811         * modules/unictype/category-test-withtable: New file.
82812         * modules/unictype/category-byname: New file.
82813         * modules/unictype/category-none: New file.
82814         * modules/unictype/category-and: New file.
82815         * modules/unictype/category-and-not: New file.
82816         * modules/unictype/category-name: New file.
82817         * modules/unictype/combining-class: New file.
82818         * modules/unictype/category-all: New file.
82819         * modules/unictype/bidicategory-all: New file.
82820         * modules/unictype/bidicategory-byname: New file.
82821         * modules/unictype/bidicategory-name: New file.
82822         * modules/unictype/bidicategory-of: New file.
82823         * modules/unictype/bidicategory-test: New file.
82824         * modules/unictype/decimal-digit: New file.
82825         * modules/unictype/digit: New file.
82826         * modules/unictype/numeric: New file.
82827         * modules/unictype/mirror: New file.
82828         * modules/unictype/property-white-space: New file.
82829         * modules/unictype/property-alphabetic: New file.
82830         * modules/unictype/property-other-alphabetic: New file.
82831         * modules/unictype/property-not-a-character: New file.
82832         * modules/unictype/property-default-ignorable-code-point: New file.
82833         * modules/unictype/property-other-default-ignorable-code-point: New
82834         file.
82835         * modules/unictype/property-deprecated: New file.
82836         * modules/unictype/property-logical-order-exception: New file.
82837         * modules/unictype/property-variation-selector: New file.
82838         * modules/unictype/property-private-use: New file.
82839         * modules/unictype/property-unassigned-code-value: New file.
82840         * modules/unictype/property-uppercase: New file.
82841         * modules/unictype/property-other-uppercase: New file.
82842         * modules/unictype/property-lowercase: New file.
82843         * modules/unictype/property-other-lowercase: New file.
82844         * modules/unictype/property-titlecase: New file.
82845         * modules/unictype/property-soft-dotted: New file.
82846         * modules/unictype/property-id-start: New file.
82847         * modules/unictype/property-other-id-start: New file.
82848         * modules/unictype/property-id-continue: New file.
82849         * modules/unictype/property-other-id-continue: New file.
82850         * modules/unictype/property-xid-start: New file.
82851         * modules/unictype/property-xid-continue: New file.
82852         * modules/unictype/property-pattern-white-space: New file.
82853         * modules/unictype/property-pattern-syntax: New file.
82854         * modules/unictype/property-join-control: New file.
82855         * modules/unictype/property-grapheme-base: New file.
82856         * modules/unictype/property-grapheme-extend: New file.
82857         * modules/unictype/property-other-grapheme-extend: New file.
82858         * modules/unictype/property-grapheme-link: New file.
82859         * modules/unictype/property-bidi-control: New file.
82860         * modules/unictype/property-bidi-left-to-right: New file.
82861         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
82862         * modules/unictype/property-bidi-arabic-right-to-left: New file.
82863         * modules/unictype/property-bidi-european-digit: New file.
82864         * modules/unictype/property-bidi-eur-num-separator: New file.
82865         * modules/unictype/property-bidi-eur-num-terminator: New file.
82866         * modules/unictype/property-bidi-arabic-digit: New file.
82867         * modules/unictype/property-bidi-common-separator: New file.
82868         * modules/unictype/property-bidi-block-separator: New file.
82869         * modules/unictype/property-bidi-segment-separator: New file.
82870         * modules/unictype/property-bidi-whitespace: New file.
82871         * modules/unictype/property-bidi-non-spacing-mark: New file.
82872         * modules/unictype/property-bidi-boundary-neutral: New file.
82873         * modules/unictype/property-bidi-pdf: New file.
82874         * modules/unictype/property-bidi-embedding-or-override: New file.
82875         * modules/unictype/property-bidi-other-neutral: New file.
82876         * modules/unictype/property-hex-digit: New file.
82877         * modules/unictype/property-ascii-hex-digit: New file.
82878         * modules/unictype/property-ideographic: New file.
82879         * modules/unictype/property-unified-ideograph: New file.
82880         * modules/unictype/property-radical: New file.
82881         * modules/unictype/property-ids-binary-operator: New file.
82882         * modules/unictype/property-ids-trinary-operator: New file.
82883         * modules/unictype/property-zero-width: New file.
82884         * modules/unictype/property-space: New file.
82885         * modules/unictype/property-non-break: New file.
82886         * modules/unictype/property-iso-control: New file.
82887         * modules/unictype/property-format-control: New file.
82888         * modules/unictype/property-dash: New file.
82889         * modules/unictype/property-hyphen: New file.
82890         * modules/unictype/property-punctuation: New file.
82891         * modules/unictype/property-line-separator: New file.
82892         * modules/unictype/property-paragraph-separator: New file.
82893         * modules/unictype/property-quotation-mark: New file.
82894         * modules/unictype/property-sentence-terminal: New file.
82895         * modules/unictype/property-terminal-punctuation: New file.
82896         * modules/unictype/property-currency-symbol: New file.
82897         * modules/unictype/property-math: New file.
82898         * modules/unictype/property-other-math: New file.
82899         * modules/unictype/property-paired-punctuation: New file.
82900         * modules/unictype/property-left-of-pair: New file.
82901         * modules/unictype/property-combining: New file.
82902         * modules/unictype/property-composite: New file.
82903         * modules/unictype/property-decimal-digit: New file.
82904         * modules/unictype/property-numeric: New file.
82905         * modules/unictype/property-diacritic: New file.
82906         * modules/unictype/property-extender: New file.
82907         * modules/unictype/property-ignorable-control: New file.
82908         * modules/unictype/property-test: New file.
82909         * modules/unictype/property-byname: New file.
82910         * modules/unictype/property-all: New file.
82911         * modules/unictype/scripts: New file.
82912         * modules/unictype/scripts-all: New file.
82913         * modules/unictype/block-of: New file.
82914         * modules/unictype/block-test: New file.
82915         * modules/unictype/block-list: New file.
82916         * modules/unictype/block-all: New file.
82917         * modules/unictype/syntax-c-whitespace: New file.
82918         * modules/unictype/syntax-java-whitespace: New file.
82919         * modules/unictype/syntax-c-ident: New file.
82920         * modules/unictype/syntax-java-ident: New file.
82921         * modules/unictype/ctype-alnum: New file.
82922         * modules/unictype/ctype-alpha: New file.
82923         * modules/unictype/ctype-cntrl: New file.
82924         * modules/unictype/ctype-digit: New file.
82925         * modules/unictype/ctype-graph: New file.
82926         * modules/unictype/ctype-lower: New file.
82927         * modules/unictype/ctype-print: New file.
82928         * modules/unictype/ctype-punct: New file.
82929         * modules/unictype/ctype-space: New file.
82930         * modules/unictype/ctype-upper: New file.
82931         * modules/unictype/ctype-xdigit: New file.
82932         * modules/unictype/ctype-blank: New file.
82933         * lib/unictype/bidi_byname.c: New file.
82934         * lib/unictype/bidi_name.c: New file.
82935         * lib/unictype/bidi_of.c: New file.
82936         * lib/unictype/bidi_test.c: New file.
82937         * lib/unictype/bitmap.h: New file.
82938         * lib/unictype/block_test.c: New file.
82939         * lib/unictype/blocks.c: New file.
82940         * lib/unictype/categ_C.c: New file.
82941         * lib/unictype/categ_Cc.c: New file.
82942         * lib/unictype/categ_Cf.c: New file.
82943         * lib/unictype/categ_Cn.c: New file.
82944         * lib/unictype/categ_Co.c: New file.
82945         * lib/unictype/categ_Cs.c: New file.
82946         * lib/unictype/categ_L.c: New file.
82947         * lib/unictype/categ_Ll.c: New file.
82948         * lib/unictype/categ_Lm.c: New file.
82949         * lib/unictype/categ_Lo.c: New file.
82950         * lib/unictype/categ_Lt.c: New file.
82951         * lib/unictype/categ_Lu.c: New file.
82952         * lib/unictype/categ_M.c: New file.
82953         * lib/unictype/categ_Mc.c: New file.
82954         * lib/unictype/categ_Me.c: New file.
82955         * lib/unictype/categ_Mn.c: New file.
82956         * lib/unictype/categ_N.c: New file.
82957         * lib/unictype/categ_Nd.c: New file.
82958         * lib/unictype/categ_Nl.c: New file.
82959         * lib/unictype/categ_No.c: New file.
82960         * lib/unictype/categ_P.c: New file.
82961         * lib/unictype/categ_Pc.c: New file.
82962         * lib/unictype/categ_Pd.c: New file.
82963         * lib/unictype/categ_Pe.c: New file.
82964         * lib/unictype/categ_Pf.c: New file.
82965         * lib/unictype/categ_Pi.c: New file.
82966         * lib/unictype/categ_Po.c: New file.
82967         * lib/unictype/categ_Ps.c: New file.
82968         * lib/unictype/categ_S.c: New file.
82969         * lib/unictype/categ_Sc.c: New file.
82970         * lib/unictype/categ_Sk.c: New file.
82971         * lib/unictype/categ_Sm.c: New file.
82972         * lib/unictype/categ_So.c: New file.
82973         * lib/unictype/categ_Z.c: New file.
82974         * lib/unictype/categ_Zl.c: New file.
82975         * lib/unictype/categ_Zp.c: New file.
82976         * lib/unictype/categ_Zs.c: New file.
82977         * lib/unictype/categ_and.c: New file.
82978         * lib/unictype/categ_and_not.c: New file.
82979         * lib/unictype/categ_byname.c: New file.
82980         * lib/unictype/categ_name.c: New file.
82981         * lib/unictype/categ_none.c: New file.
82982         * lib/unictype/categ_of.c: New file.
82983         * lib/unictype/categ_or.c: New file.
82984         * lib/unictype/categ_test.c: New file.
82985         * lib/unictype/combining.c: New file.
82986         * lib/unictype/ctype_alnum.c: New file.
82987         * lib/unictype/ctype_alpha.c: New file.
82988         * lib/unictype/ctype_blank.c: New file.
82989         * lib/unictype/ctype_cntrl.c: New file.
82990         * lib/unictype/ctype_digit.c: New file.
82991         * lib/unictype/ctype_graph.c: New file.
82992         * lib/unictype/ctype_lower.c: New file.
82993         * lib/unictype/ctype_print.c: New file.
82994         * lib/unictype/ctype_punct.c: New file.
82995         * lib/unictype/ctype_space.c: New file.
82996         * lib/unictype/ctype_upper.c: New file.
82997         * lib/unictype/ctype_xdigit.c: New file.
82998         * lib/unictype/decdigit.c: New file.
82999         * lib/unictype/digit.c: New file.
83000         * lib/unictype/identsyntaxmap.h: New file.
83001         * lib/unictype/mirror.c: New file.
83002         * lib/unictype/numeric.c: New file.
83003         * lib/unictype/pr_alphabetic.c: New file.
83004         * lib/unictype/pr_ascii_hex_digit.c: New file.
83005         * lib/unictype/pr_bidi_arabic_digit.c: New file.
83006         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
83007         * lib/unictype/pr_bidi_block_separator.c: New file.
83008         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
83009         * lib/unictype/pr_bidi_common_separator.c: New file.
83010         * lib/unictype/pr_bidi_control.c: New file.
83011         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
83012         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
83013         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
83014         * lib/unictype/pr_bidi_european_digit.c: New file.
83015         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
83016         * lib/unictype/pr_bidi_left_to_right.c: New file.
83017         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
83018         * lib/unictype/pr_bidi_other_neutral.c: New file.
83019         * lib/unictype/pr_bidi_pdf.c: New file.
83020         * lib/unictype/pr_bidi_segment_separator.c: New file.
83021         * lib/unictype/pr_bidi_whitespace.c: New file.
83022         * lib/unictype/pr_byname.c: New file.
83023         * lib/unictype/pr_byname.gperf: New file.
83024         * lib/unictype/pr_combining.c: New file.
83025         * lib/unictype/pr_composite.c: New file.
83026         * lib/unictype/pr_currency_symbol.c: New file.
83027         * lib/unictype/pr_dash.c: New file.
83028         * lib/unictype/pr_decimal_digit.c: New file.
83029         * lib/unictype/pr_default_ignorable_code_point.c: New file.
83030         * lib/unictype/pr_deprecated.c: New file.
83031         * lib/unictype/pr_diacritic.c: New file.
83032         * lib/unictype/pr_extender.c: New file.
83033         * lib/unictype/pr_format_control.c: New file.
83034         * lib/unictype/pr_grapheme_base.c: New file.
83035         * lib/unictype/pr_grapheme_extend.c: New file.
83036         * lib/unictype/pr_grapheme_link.c: New file.
83037         * lib/unictype/pr_hex_digit.c: New file.
83038         * lib/unictype/pr_hyphen.c: New file.
83039         * lib/unictype/pr_id_continue.c: New file.
83040         * lib/unictype/pr_id_start.c: New file.
83041         * lib/unictype/pr_ideographic.c: New file.
83042         * lib/unictype/pr_ids_binary_operator.c: New file.
83043         * lib/unictype/pr_ids_trinary_operator.c: New file.
83044         * lib/unictype/pr_ignorable_control.c: New file.
83045         * lib/unictype/pr_iso_control.c: New file.
83046         * lib/unictype/pr_join_control.c: New file.
83047         * lib/unictype/pr_left_of_pair.c: New file.
83048         * lib/unictype/pr_line_separator.c: New file.
83049         * lib/unictype/pr_logical_order_exception.c: New file.
83050         * lib/unictype/pr_lowercase.c: New file.
83051         * lib/unictype/pr_math.c: New file.
83052         * lib/unictype/pr_non_break.c: New file.
83053         * lib/unictype/pr_not_a_character.c: New file.
83054         * lib/unictype/pr_numeric.c: New file.
83055         * lib/unictype/pr_other_alphabetic.c: New file.
83056         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
83057         * lib/unictype/pr_other_grapheme_extend.c: New file.
83058         * lib/unictype/pr_other_id_continue.c: New file.
83059         * lib/unictype/pr_other_id_start.c: New file.
83060         * lib/unictype/pr_other_lowercase.c: New file.
83061         * lib/unictype/pr_other_math.c: New file.
83062         * lib/unictype/pr_other_uppercase.c: New file.
83063         * lib/unictype/pr_paired_punctuation.c: New file.
83064         * lib/unictype/pr_paragraph_separator.c: New file.
83065         * lib/unictype/pr_pattern_syntax.c: New file.
83066         * lib/unictype/pr_pattern_white_space.c: New file.
83067         * lib/unictype/pr_private_use.c: New file.
83068         * lib/unictype/pr_punctuation.c: New file.
83069         * lib/unictype/pr_quotation_mark.c: New file.
83070         * lib/unictype/pr_radical.c: New file.
83071         * lib/unictype/pr_sentence_terminal.c: New file.
83072         * lib/unictype/pr_soft_dotted.c: New file.
83073         * lib/unictype/pr_space.c: New file.
83074         * lib/unictype/pr_terminal_punctuation.c: New file.
83075         * lib/unictype/pr_test.c: New file.
83076         * lib/unictype/pr_titlecase.c: New file.
83077         * lib/unictype/pr_unassigned_code_value.c: New file.
83078         * lib/unictype/pr_unified_ideograph.c: New file.
83079         * lib/unictype/pr_uppercase.c: New file.
83080         * lib/unictype/pr_variation_selector.c: New file.
83081         * lib/unictype/pr_white_space.c: New file.
83082         * lib/unictype/pr_xid_continue.c: New file.
83083         * lib/unictype/pr_xid_start.c: New file.
83084         * lib/unictype/pr_zero_width.c: New file.
83085         * lib/unictype/scripts.c: New file.
83086         * lib/unictype/sy_c_ident.c: New file.
83087         * lib/unictype/sy_c_whitespace.c: New file.
83088         * lib/unictype/sy_java_ident.c: New file.
83089         * lib/unictype/sy_java_whitespace.c: New file.
83091         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
83092         Unicode 5.0.0.
83093         * lib/unictype/blocks.h: Likewise.
83094         * lib/unictype/categ_C.h: Likewise.
83095         * lib/unictype/categ_Cc.h: Likewise.
83096         * lib/unictype/categ_Cf.h: Likewise.
83097         * lib/unictype/categ_Cn.h: Likewise.
83098         * lib/unictype/categ_Co.h: Likewise.
83099         * lib/unictype/categ_Cs.h: Likewise.
83100         * lib/unictype/categ_L.h: Likewise.
83101         * lib/unictype/categ_Ll.h: Likewise.
83102         * lib/unictype/categ_Lm.h: Likewise.
83103         * lib/unictype/categ_Lo.h: Likewise.
83104         * lib/unictype/categ_Lt.h: Likewise.
83105         * lib/unictype/categ_Lu.h: Likewise.
83106         * lib/unictype/categ_M.h: Likewise.
83107         * lib/unictype/categ_Mc.h: Likewise.
83108         * lib/unictype/categ_Me.h: Likewise.
83109         * lib/unictype/categ_Mn.h: Likewise.
83110         * lib/unictype/categ_N.h: Likewise.
83111         * lib/unictype/categ_Nd.h: Likewise.
83112         * lib/unictype/categ_Nl.h: Likewise.
83113         * lib/unictype/categ_No.h: Likewise.
83114         * lib/unictype/categ_P.h: Likewise.
83115         * lib/unictype/categ_Pc.h: Likewise.
83116         * lib/unictype/categ_Pd.h: Likewise.
83117         * lib/unictype/categ_Pe.h: Likewise.
83118         * lib/unictype/categ_Pf.h: Likewise.
83119         * lib/unictype/categ_Pi.h: Likewise.
83120         * lib/unictype/categ_Po.h: Likewise.
83121         * lib/unictype/categ_Ps.h: Likewise.
83122         * lib/unictype/categ_S.h: Likewise.
83123         * lib/unictype/categ_Sc.h: Likewise.
83124         * lib/unictype/categ_Sk.h: Likewise.
83125         * lib/unictype/categ_Sm.h: Likewise.
83126         * lib/unictype/categ_So.h: Likewise.
83127         * lib/unictype/categ_Z.h: Likewise.
83128         * lib/unictype/categ_Zl.h: Likewise.
83129         * lib/unictype/categ_Zp.h: Likewise.
83130         * lib/unictype/categ_Zs.h: Likewise.
83131         * lib/unictype/categ_of.h: Likewise.
83132         * lib/unictype/combining.h: Likewise.
83133         * lib/unictype/ctype_alnum.h: Likewise.
83134         * lib/unictype/ctype_alpha.h: Likewise.
83135         * lib/unictype/ctype_blank.h: Likewise.
83136         * lib/unictype/ctype_cntrl.h: Likewise.
83137         * lib/unictype/ctype_digit.h: Likewise.
83138         * lib/unictype/ctype_graph.h: Likewise.
83139         * lib/unictype/ctype_lower.h: Likewise.
83140         * lib/unictype/ctype_print.h: Likewise.
83141         * lib/unictype/ctype_punct.h: Likewise.
83142         * lib/unictype/ctype_space.h: Likewise.
83143         * lib/unictype/ctype_upper.h: Likewise.
83144         * lib/unictype/ctype_xdigit.h: Likewise.
83145         * lib/unictype/decdigit.h: Likewise.
83146         * lib/unictype/digit.h: Likewise.
83147         * lib/unictype/mirror.h: Likewise.
83148         * lib/unictype/numeric.h: Likewise.
83149         * lib/unictype/pr_alphabetic.h: Likewise.
83150         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
83151         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
83152         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
83153         * lib/unictype/pr_bidi_block_separator.h: Likewise.
83154         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
83155         * lib/unictype/pr_bidi_common_separator.h: Likewise.
83156         * lib/unictype/pr_bidi_control.h: Likewise.
83157         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
83158         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
83159         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
83160         * lib/unictype/pr_bidi_european_digit.h: Likewise.
83161         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
83162         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
83163         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
83164         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
83165         * lib/unictype/pr_bidi_pdf.h: Likewise.
83166         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
83167         * lib/unictype/pr_bidi_whitespace.h: Likewise.
83168         * lib/unictype/pr_combining.h: Likewise.
83169         * lib/unictype/pr_composite.h: Likewise.
83170         * lib/unictype/pr_currency_symbol.h: Likewise.
83171         * lib/unictype/pr_dash.h: Likewise.
83172         * lib/unictype/pr_decimal_digit.h: Likewise.
83173         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
83174         * lib/unictype/pr_deprecated.h: Likewise.
83175         * lib/unictype/pr_diacritic.h: Likewise.
83176         * lib/unictype/pr_extender.h: Likewise.
83177         * lib/unictype/pr_format_control.h: Likewise.
83178         * lib/unictype/pr_grapheme_base.h: Likewise.
83179         * lib/unictype/pr_grapheme_extend.h: Likewise.
83180         * lib/unictype/pr_grapheme_link.h: Likewise.
83181         * lib/unictype/pr_hex_digit.h: Likewise.
83182         * lib/unictype/pr_hyphen.h: Likewise.
83183         * lib/unictype/pr_id_continue.h: Likewise.
83184         * lib/unictype/pr_id_start.h: Likewise.
83185         * lib/unictype/pr_ideographic.h: Likewise.
83186         * lib/unictype/pr_ids_binary_operator.h: Likewise.
83187         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
83188         * lib/unictype/pr_ignorable_control.h: Likewise.
83189         * lib/unictype/pr_iso_control.h: Likewise.
83190         * lib/unictype/pr_join_control.h: Likewise.
83191         * lib/unictype/pr_left_of_pair.h: Likewise.
83192         * lib/unictype/pr_line_separator.h: Likewise.
83193         * lib/unictype/pr_logical_order_exception.h: Likewise.
83194         * lib/unictype/pr_lowercase.h: Likewise.
83195         * lib/unictype/pr_math.h: Likewise.
83196         * lib/unictype/pr_non_break.h: Likewise.
83197         * lib/unictype/pr_not_a_character.h: Likewise.
83198         * lib/unictype/pr_numeric.h: Likewise.
83199         * lib/unictype/pr_other_alphabetic.h: Likewise.
83200         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
83201         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
83202         * lib/unictype/pr_other_id_continue.h: Likewise.
83203         * lib/unictype/pr_other_id_start.h: Likewise.
83204         * lib/unictype/pr_other_lowercase.h: Likewise.
83205         * lib/unictype/pr_other_math.h: Likewise.
83206         * lib/unictype/pr_other_uppercase.h: Likewise.
83207         * lib/unictype/pr_paired_punctuation.h: Likewise.
83208         * lib/unictype/pr_paragraph_separator.h: Likewise.
83209         * lib/unictype/pr_pattern_syntax.h: Likewise.
83210         * lib/unictype/pr_pattern_white_space.h: Likewise.
83211         * lib/unictype/pr_private_use.h: Likewise.
83212         * lib/unictype/pr_punctuation.h: Likewise.
83213         * lib/unictype/pr_quotation_mark.h: Likewise.
83214         * lib/unictype/pr_radical.h: Likewise.
83215         * lib/unictype/pr_sentence_terminal.h: Likewise.
83216         * lib/unictype/pr_soft_dotted.h: Likewise.
83217         * lib/unictype/pr_space.h: Likewise.
83218         * lib/unictype/pr_terminal_punctuation.h: Likewise.
83219         * lib/unictype/pr_titlecase.h: Likewise.
83220         * lib/unictype/pr_unassigned_code_value.h: Likewise.
83221         * lib/unictype/pr_unified_ideograph.h: Likewise.
83222         * lib/unictype/pr_uppercase.h: Likewise.
83223         * lib/unictype/pr_variation_selector.h: Likewise.
83224         * lib/unictype/pr_white_space.h: Likewise.
83225         * lib/unictype/pr_xid_continue.h: Likewise.
83226         * lib/unictype/pr_xid_start.h: Likewise.
83227         * lib/unictype/pr_zero_width.h: Likewise.
83228         * lib/unictype/scripts.h: Likewise.
83229         * lib/unictype/scripts_byname.gperf: Likewise.
83230         * lib/unictype/sy_c_ident.h: Likewise.
83231         * lib/unictype/sy_c_whitespace.h: Likewise.
83232         * lib/unictype/sy_java_ident.h: Likewise.
83233         * lib/unictype/sy_java_whitespace.h: Likewise.
83235         * lib/unictype/Makefile: New file.
83236         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
83237         glibc.
83238         * lib/unictype/3level.h: New file, copied from glibc.
83239         * lib/unictype/3levelbit.h: New file.
83241 2007-11-11  Bruno Haible  <bruno@clisp.org>
83243         * modules/gperf: New file.
83244         * modules/iconv_open (Depends-on): Add it.
83245         (Makefile.am): Remove the GPERF definition.
83247 2007-11-11  Bruno Haible  <bruno@clisp.org>
83249         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
83250         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
83252 2007-11-11  Bruno Haible  <bruno@clisp.org>
83254         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
83255         (usage): Remove function.
83257 2007-11-11  Bruno Haible  <bruno@clisp.org>
83259         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
83260         gl_FUNC_CEILF_LIBS.
83261         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
83262         gl_FUNC_CEIL_LIBS.
83263         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
83264         gl_FUNC_CEILL_LIBS.
83265         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
83266         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
83267         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
83269 2007-11-11  Bruno Haible  <bruno@clisp.org>
83271         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
83272         roundf were declared but do not exist on functions.
83273         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
83274         roundl were declared but do not exist on functions.
83275         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
83276         HAVE_FLOORL_AND_CEILL, respectively.
83277         Needed for Sun C on Solaris 10.
83279 2007-11-11  Bruno Haible  <bruno@clisp.org>
83281         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
83282         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
83283         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
83284         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
83285         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
83286         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
83287         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
83288         HAVE_DECL_ROUNDF.
83289         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
83290         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
83291         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
83292         of HAVE_DECL_ROUND*.
83293         * modules/math (Makefile.am): Update.
83295 2007-11-10  Bruno Haible  <bruno@clisp.org>
83297         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
83298         ptrdiff_t as m4/intl.m4.
83300 2007-11-10  Jim Meyering  <meyering@redhat.com>
83302         Avoid link failure for the argmatch test.
83303         * tests/test-argmatch.c (usage): Define function to avoid a link
83304         failure: argmatch_die requires a usage function.
83306 2007-11-09  Bruno Haible  <bruno@clisp.org>
83308         * doc/functions/snprintf.texi: Mention BeOS deficiency.
83309         * doc/functions/vsnprintf.texi: Likewise.
83310         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
83311         with a size argument < 2.
83313 2007-11-09  Bruno Haible  <bruno@clisp.org>
83315         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
83316         buffer. Fixes an inefficiency introduced on 2007-11-03.
83318 2007-11-09  Bruno Haible  <bruno@clisp.org>
83320         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
83321         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
83323 2007-11-08  Jim Meyering  <meyering@redhat.com>
83325         Change cache variable name prefix "jm_" to "gl_" everywhere.
83326         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
83327         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
83328         * m4/uptime.m4: s/gl_/jm_/
83330 2007-11-07  Bruno Haible  <bruno@clisp.org>
83332         Update to GNU gettext 0.17.
83333         * m4/intl.m4: Update to GNU gettext 0.17.
83334         * m4/po.m4: Likewise.
83335         * modules/gettext (Files): Remove m4/ulonglong.m4.
83336         (configure.ac): Require gettext infrastructure from version 0.17.
83338 2007-11-06  Bruno Haible  <bruno@clisp.org>
83340         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
83341         symbolic values are not defined in a public header.
83342         * lib/freadable.c (freadable) [QNX]: Likewise.
83343         * lib/freadahead.c (freadahead) [QNX]: Likewise.
83344         * lib/freading.c (freading) [QNX]: Likewise.
83345         * lib/fseterr.c (fseterr) [QNX]: Likewise.
83346         * lib/fwritable.c (fwritable) [QNX]: Likewise.
83347         * lib/fwriting.c (fwriting) [QNX]: Likewise.
83348         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
83349         Reported by Alain Magloire.
83351         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
83353 2007-11-05  Bruno Haible  <bruno@clisp.org>
83355         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
83356         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
83357         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
83358         Reported by Eric Blake.
83360 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
83361             Bruno Haible  <bruno@clisp.org>
83363         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
83364         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
83365         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
83366         (malloc): Undefine also before including <stdlib.h>.
83367         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
83368         Needed on OSF/1 4.0.
83370 2007-11-05  Jim Meyering  <meyering@redhat.com>
83372         git-version-gen: sync from coreutils.
83373         * build-aux/git-version-gen: Add comments.
83374         Change the first '-' to '.' in the snapshot version string,
83375         e.g., 6.9-377-08144 -> 6.9.377-08144
83376         Remove first parameter.
83377         Don't declare a version "-dirty" merely because a time
83378         stamp has changed.
83380 2007-11-04  Bruno Haible  <bruno@clisp.org>
83382         * lib/lock.h: Protect all macro definitions containing an 'if'
83383         statement through a "do { ... } while (0)".
83384         * lib/tls.h: Likewise.
83386 2007-11-04  Bruno Haible  <bruno@clisp.org>
83388         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
83390 2007-11-04  Bruno Haible  <bruno@clisp.org>
83392         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
83393         * modules/fprintf-posix (Depends-on): Add nocrash.
83394         * modules/snprintf-posix (Depends-on): Likewise.
83395         * modules/sprintf-posix (Depends-on): Likewise.
83396         * modules/vasnprintf-posix (Depends-on): Likewise.
83397         * modules/vasprintf-posix (Depends-on): Likewise.
83398         * modules/vfprintf-posix (Depends-on): Likewise.
83399         * modules/vsnprintf-posix (Depends-on): Likewise.
83400         * modules/vsprintf-posix (Depends-on): Likewise.
83401         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
83402         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
83403         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
83404         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
83405         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
83406         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
83407         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
83409 2007-11-04  Bruno Haible  <bruno@clisp.org>
83411         * modules/nocrash: New file.
83412         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
83413         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
83415 2007-11-04  Bruno Haible  <bruno@clisp.org>
83417         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
83418         precision handling.
83419         * tests/test-vasprintf-posix.c (test_function): Likewise.
83420         * tests/test-snprintf-posix.h (test_function): Likewise.
83421         * tests/test-sprintf-posix.h (test_function): Likewise.
83423         Fix *printf behaviour for large precisions on mingw and BeOS.
83424         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
83425         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
83426         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
83427         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
83428         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
83429         gl_PRINTF_PRECISION and test its result. Invoke
83430         gl_PREREQ_VASNPRINTF_PRECISION.
83431         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
83432         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
83433         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
83434         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
83435         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
83436         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
83437         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
83438         * doc/functions/fprintf.texi: Update.
83439         * doc/functions/printf.texi: Update.
83440         * doc/functions/snprintf.texi: Update.
83441         * doc/functions/sprintf.texi: Update.
83442         * doc/functions/vfprintf.texi: Update.
83443         * doc/functions/vprintf.texi: Update.
83444         * doc/functions/vsnprintf.texi: Update.
83445         * doc/functions/vsprintf.texi: Update.
83447 2007-11-04  Bruno Haible  <bruno@clisp.org>
83449         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
83451 2007-11-04  Bruno Haible  <bruno@clisp.org>
83453         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
83454         Reported by Sylvain Beucler <beuc@gnu.org>.
83456 2007-11-03  Bruno Haible  <bruno@clisp.org>
83458         * tests/test-fprintf-posix2.sh: New file.
83459         * tests/test-fprintf-posix2.c: New file.
83460         * modules/fprintf-posix-tests (Files): Add them.
83461         (TESTS): Add test-fprintf-posix2.sh.
83462         (configure.ac): Check for getrlimit and setrlimit.
83463         (check_PROGRAMS): Add test-fprintf-posix2.
83465         * tests/test-printf-posix2.sh: New file.
83466         * tests/test-printf-posix2.c: New file.
83467         * modules/printf-posix-tests (Files): Add them.
83468         (TESTS): Add test-printf-posix2.sh.
83469         (configure.ac): Check for getrlimit and setrlimit.
83470         (check_PROGRAMS): Add test-printf-posix2.
83472         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
83473         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
83474         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
83475         (decode_double): New function, copied from decode_long_double.
83476         (scale10_round_decimal_decoded): New function, extracted from
83477         scale10_round_decimal_long_double.
83478         (scale10_round_decimal_long_double): Use it.
83479         (scale10_round_decimal_double): New function.
83480         (floorlog10): New function.
83481         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
83482         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
83483         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
83484         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
83485         gl_PRINTF_ENOMEM and test its result. Invoke
83486         gl_PREREQ_VASNPRINTF_ENOMEM.
83487         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
83488         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
83489         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
83490         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
83491         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
83492         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
83493         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
83494         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
83495         * modules/snprintf-posix (Depends-on): Likewise.
83496         * modules/sprintf-posix (Depends-on): Likewise.
83497         * modules/vasnprintf-posix (Depends-on): Likewise.
83498         * modules/vasprintf-posix (Depends-on): Likewise.
83499         * modules/vfprintf-posix (Depends-on): Likewise.
83500         * modules/vsnprintf-posix (Depends-on): Likewise.
83501         * modules/vsprintf-posix (Depends-on): Likewise.
83502         * doc/functions/fprintf.texi: Update.
83503         * doc/functions/printf.texi: Update.
83504         * doc/functions/snprintf.texi: Update.
83505         * doc/functions/sprintf.texi: Update.
83506         * doc/functions/vfprintf.texi: Update.
83507         * doc/functions/vprintf.texi: Update.
83508         * doc/functions/vsnprintf.texi: Update.
83509         * doc/functions/vsprintf.texi: Update.
83511 2007-11-03  Bruno Haible  <bruno@clisp.org>
83513         * modules/frexp-nolibm-tests: New file.
83515         * modules/frexp-nolibm: New file.
83516         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
83518 2007-11-03  Bruno Haible  <bruno@clisp.org>
83520         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
83521         value is C99 compliant.
83522         Needed for OSF/1 5.1.
83524 2007-11-03  Bruno Haible  <bruno@clisp.org>
83526         Fix out-of-memory handling of vasnprintf.
83527         * lib/printf-parse.c: Include <errno.h>.
83528         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
83529         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
83530         is already set.
83532 2007-11-02  Eric Blake  <ebb9@byu.net>
83534         Fix tests on cygwin.
83535         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
83537 2007-11-01  Bruno Haible  <bruno@clisp.org>
83539         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
83540         warning.
83541         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
83542         needed for POSIX compatibility.
83544 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
83546         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
83547         for compatibility with GNU.
83549 2007-11-01  Bruno Haible  <bruno@clisp.org>
83551         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
83552         (putenv): Renamed from rpl_putenv. Change argument type from
83553         'const char *' to 'char *'.
83554         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
83555         of defining putenv in config.h, just set REPLACE_PUTENV.
83556         * modules/putenv (Depends-on): Add stdlib.
83557         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
83558         (Include): Use <stdlib.h>.
83559         * lib/stdlib.in.h (putenv): New declaration.
83560         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
83561         REPLACE_PUTENV.
83562         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
83563         REPLACE_PUTENV.
83564         Needed for MacOS X 10.5.0.
83565         Reported by Peter O'Gorman <peter@pogma.com>.
83567 2007-11-01  Jim Meyering  <meyering@redhat.com>
83569         Treat an empty date string exactly like "0".
83570         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
83571         if the remaining date string (to be parsed) is empty, use "0".
83572         Reported by Mischa Molhoek and discussed in this thread:
83573         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
83575 2007-10-31  Bruno Haible  <bruno@clisp.org>
83577         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
83578         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
83579         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
83580         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
83581         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
83582         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
83584 2007-10-31  Bruno Haible  <bruno@clisp.org>
83586         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
83587         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
83588         (AC_TYPE_LONG_LONG_INT): Use it.
83589         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
83590         it as well.
83591         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
83592         to m4/longlong.m4.
83593         * modules/stdint (Files): Remove m4/ulonglong.m4.
83594         * modules/strtoull (Files): Use m4/longlong.m4 instead of
83595         m4/ulonglong.m4.
83596         * modules/strtoumax (Files): Likewise.
83598 2007-10-30  Bruno Haible  <bruno@clisp.org>
83600         * modules/xvasprintf-posix: New file.
83601         Suggested by Eric Blake.
83603 2007-10-30  Bruno Haible  <bruno@clisp.org>
83605         * modules/xprintf-posix-tests: New file.
83606         * tests/test-xprintf-posix.sh: New file.
83607         * tests/test-xprintf-posix.c: New file.
83608         * tests/test-xfprintf-posix.c: New file.
83610         * modules/xprintf-posix: New file.
83612 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
83614         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
83615         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
83616         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
83618 2007-10-29  Bruno Haible  <bruno@clisp.org>
83620         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
83621         contain the special marker '_cv_'.
83622         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
83623         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
83624         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
83625         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
83626         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
83627         Reported by Ralf Wildenhues.
83629 2007-10-29  Bruno Haible  <bruno@clisp.org>
83631         * gnulib-tool (func_import): When --lgpl is not specified, set
83632         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
83633         GPLv3.
83634         Reported by Simon Josefsson.
83636 2007-10-28  Bruno Haible  <bruno@clisp.org>
83638         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
83639         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
83640         HAVE_DECL_ISFINITE.
83641         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
83642         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
83643         HAVE_DECL_ISFINITE.
83645 2007-10-28  Bruno Haible  <bruno@clisp.org>
83647         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
83648         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
83650 2007-10-28  Bruno Haible  <bruno@clisp.org>
83652         Fix link errors with Sun C 5.0 on Solaris 10.
83653         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
83654         function is declared but not present in the compiler's libm.
83655         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
83656         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
83657         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
83658         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
83659         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
83660         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
83661         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
83662         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
83663         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
83664         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
83665         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
83666         HAVE_DECL_FLOORL.
83668 2007-10-28  Bruno Haible  <bruno@clisp.org>
83670         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
83671         gl_FUNC_FLOORL. Cache the result.
83672         (gl_FUNC_FLOORL): Use it.
83673         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
83674         gl_FUNC_CEILL. Cache the result.
83675         (gl_FUNC_CEILL): Use it.
83677         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
83678         gl_FUNC_FLOOR. Cache the result.
83679         (gl_FUNC_FLOOR): Use it.
83680         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
83681         gl_FUNC_CEIL. Cache the result.
83682         (gl_FUNC_CEIL): Use it.
83684         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
83685         gl_FUNC_FLOORF. Cache the result.
83686         (gl_FUNC_FLOORF): Use it.
83687         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
83688         gl_FUNC_CEILF. Cache the result.
83689         (gl_FUNC_CEILF): Use it.
83691 2007-10-28  Bruno Haible  <bruno@clisp.org>
83693         * gnulib-tool: Allow specifying the LGPL version number through
83694         --lgpl=2 or --lgpl=3.
83695         (func_usage): Document --lgpl with argument.
83696         Handle --lgpl=... arguments.
83697         (func_import): Recognize also gl_LGPL calls with an argument. When
83698         --lgpl=2 is used and the module's license is just LGPL, report an
83699         error. Set sed_transform_lib_file according to the lgpl variable. In
83700         the generated files, use --lgpl or gl_LGPL invocations with argument,
83701         if necessary.
83702         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
83703         an LGPv2+ license.
83704         * doc/gnulib-tool.texi (Modified imports): Update explanation of
83705         gl_LGPL macro.
83707 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
83708             Bruno Haible  <bruno@clisp.org>
83710         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
83711         (u16_uctomb_aux): Likewise.
83712         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
83713         !HAVE_INLINE.
83714         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
83716 2007-10-28  Bruno Haible  <bruno@clisp.org>
83718         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
83719         Invoke AM_GETTEXT_OPTION if it exists.
83720         * modules/vasprintf: Likewise.
83721         * modules/verror: Likewise.
83722         * modules/xprintf: Likewise.
83723         * modules/xvasprintf: Likewise.
83725 2007-10-27  Ben Pfaff  <blp@gnu.org>
83727         * lib/math.in.h: Define isfinite macro and prototypes for
83728         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
83729         implementations.
83730         * m4/math_h.m4: New substitutions for isfinite module.
83731         * lib/isfinite.c: New file.
83732         * m4/isfinite.m4: New file.
83733         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
83734         * modules/isfinite: New file.
83735         * modules/isfinite-tests: New file.
83736         * tests/tests-isfinite.c: New file.
83737         * doc/functions/isfinite.texi: Mention isfinite module.
83738         * MODULES.html.sh: Mention new module.
83740 2007-10-27  Ben Pfaff  <blp@gnu.org>
83742         Ralf Wildenhues reported that Tru64 4.0D declares the round
83743         functions but does not have definitions.
83744         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
83745         cannot be found in any library, set the output variable to
83746         "missing" instead of "".
83747         * m4/round.m4: Also use our substitute if we cannot find round in
83748         any library, even if it is declared.
83749         * m4/roundf.m4: Likewise for roundf.
83750         * m4/roundl.m4: Likewise for roundl.
83751         * lib/math.in.h: Undefine roundf, round, roundl before defining
83752         their replacements, to allow for hypothetical systems where these
83753         may be defined as macros but not available in libraries.
83755 2007-10-27  Bruno Haible  <bruno@clisp.org>
83757         * doc/gnulib.texi: Invoke @firstparagraphindent.
83758         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
83759         changes in gnulib.
83760         (Source changes): New section.
83762 2007-10-26  Bruno Haible  <bruno@clisp.org>
83764         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
83765         borrowed from autoconf.
83767 2007-10-26  Bruno Haible  <bruno@clisp.org>
83769         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
83770         strerror returned the empty string. Needed on HP-UX 11.00.
83772 2007-10-24  Micah Cowan  <micah@cowan.name>
83774         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
83775         * build-aux/bootstrap: Remove support for now-unnecessary option,
83776         --cvs-user, and envvars CVS_USER, CVS_RSH.
83778 2007-10-24  Jim Meyering  <meyering@redhat.com>
83780         Avoid diagnostics from sha1sum when there is no cached checksum.
83781         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
83782         if the po.s1 file hasn't been created yet.
83784         * build-aux/bootstrap: Sync from coreutils:
83785         2007-10-24  Jim Meyering  <meyering@redhat.com>
83786         Get gnulib from the git repository, not from an obsolete cvs one.
83787         * build-aux/bootstrap: Suggestion from Micah Cowan.
83788         2007-10-04  Jim Meyering  <jim@meyering.net>
83789         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
83790         (update_po_files): Work also when there are no .po files in po/.
83792 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
83794         * README: Append ".git" to git and cg examples.
83795         Problem reported by Benoit Sigoure.
83797 2007-10-23  Micah Cowan  <micah@cowan.name>
83799         * users.txt: Add wget.
83801 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
83803         Fix linking of some unistdio tests on FreeBSD.
83804         * modules/unistdio/u16-vsnprintf-tests
83805         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
83806         * modules/unistdio/u16-vsprintf-tests
83807         (test_u16_vsnprintf1_LDADD): Likewise.
83808         * modules/unistdio/u32-vsnprintf-tests
83809         (test_u32_vsnprintf1_LDADD): Likewise.
83810         * modules/unistdio/u32-vsprintf-tests
83811         (test_u32_vsprintf1_LDADD): Likewise.
83812         * modules/unistdio/u8-vsnprintf-tests
83813         (test_u8_vsnprintf1_LDADD): Likewise.
83814         * modules/unistdio/u8-vsprintf-tests
83815         (test_u8_vsprintf1_LDADD): Likewise.
83816         * modules/unistdio/ulc-vsnprintf-tests
83817         (test_ulc_vsnprintf1_LDADD): Likewise.
83818         * modules/unistdio/ulc-vsprintf-tests
83819         (test_ulc_vsprintf1_LDADD): Likewise.
83821         Fix linking of some uniconv tests on FreeBSD.
83822         * modules/uniconv/u16-conv-from-enc-tests
83823         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
83824         * modules/uniconv/u16-conv-to-enc-tests
83825         (test_u16_conv_to_enc_LDADD): Likewise.
83826         * modules/uniconv/u16-strconv-from-enc-tests
83827         (test_u16_strconv_from_enc_LDADD): Likewise.
83828         * modules/uniconv/u16-strconv-to-enc-tests
83829         (test_u16_strconv_to_enc_LDADD): Likewise.
83830         * modules/uniconv/u32-conv-from-enc-tests
83831         (test_u32_conv_from_enc_LDADD): Likewise.
83832         * modules/uniconv/u32-conv-to-enc-tests
83833         (test_u32_conv_to_enc_LDADD): Likewise.
83834         * modules/uniconv/u32-strconv-from-enc-tests
83835         (test_u32_strconv_from_enc_LDADD): Likewise.
83836         * modules/uniconv/u32-strconv-to-enc-tests
83837         (test_u32_strconv_to_enc_LDADD): Likewise.
83838         * modules/uniconv/u8-conv-from-enc-tests
83839         (test_u8_conv_from_enc_LDADD): Likewise.
83840         * modules/uniconv/u8-conv-to-enc-tests
83841         (test_u8_conv_to_enc_LDADD): Likewise.
83842         * modules/uniconv/u8-strconv-from-enc-tests
83843         (test_u8_strconv_from_enc_LDADD): Likewise.
83844         * modules/uniconv/u8-strconv-to-enc-tests
83845         (test_u8_strconv_to_enc_LDADD): Likewise.
83847 2007-10-22  Bruno Haible  <bruno@clisp.org>
83849         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
83850         size.
83852 2007-10-22  Eric Blake  <ebb9@byu.net>
83854         Tweak x*printf documentation.
83855         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
83856         variable name and comments.
83857         Suggested by Bruno Haible.
83859 2007-10-22  Bruno Haible  <bruno@clisp.org>
83861         * lib/acl.c (copy_acl): Fix file name in comment.
83863 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
83865         Fix Tru64 problem with stdbool.h.
83866         * lib/stdbool.in.h (false, true):
83867         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
83868         Don't declare as an enum in this situation; it runs afoul of Tru64.
83869         Problem reported by Steven M. Schweda in
83870         <http://lists.gnu.org/r/bug-autoconf/2007-10/msg00019.html>.
83872 2007-10-22  Eric Blake  <ebb9@byu.net>
83874         Also wrap vf?printf.
83875         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
83876         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
83877         (xvprintf, xvfprintf): New functions.
83879 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
83881         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
83882         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
83884         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
83885         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
83887 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
83889         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
83890         by Bruno Haible.
83892 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
83894         * lib/getloadavg.c
83895         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
83896         Undef `sys' after including sys/table.h, for Tru64 4.0D.
83898         * tests/test-i-ring.c: Work for C89.
83900 2007-10-22  Bruno Haible  <bruno@clisp.org>
83902         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
83903         -1u, in preprocessor expression, so that we don't test for the bug
83904         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
83905         <http://lists.gnu.org/r/bug-gnulib/2007-10/msg00329.html>.
83907 2007-10-22  Eric Blake  <ebb9@byu.net>
83909         * tests/test-yesno.sh: Silence stderr during test.
83911 2007-10-22  Simon Josefsson  <simon@josefsson.org>
83913         * modules/crypto/gc-camellia: New file.
83915         * m4/gc-camellia.m4: New file.
83917         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
83919         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
83921 2007-10-22  Simon Josefsson  <simon@josefsson.org>
83923         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
83924         --help to stdout.  Reported by sms@antinode.org (Steven
83925         M. Schweda).
83927 2007-10-22  Simon Josefsson  <simon@josefsson.org>
83929         * users.txt: Fix link to libksba.
83931 2007-10-21  Ben Pfaff  <blp@gnu.org>
83933         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
83934         round.c roundf implementation that depends on floorf and ceilf to
83935         be tested unconditionally.
83937 2007-10-21  Ben Pfaff  <blp@gnu.org>
83939         * m4/check-libm-func.m4: Removed.
83940         * m4/check-math-lib.m4: New file.
83941         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
83942         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
83943         definition and lack of AC_LIBOBJ([roundf]).
83944         * m4/roundl.m4: Ditto, and similarly for roundl.
83945         * modules/round: Reference new m4 file.
83946         * modules/roundf: Ditto.
83947         * modules/roundl: Ditto.
83948         * tests/test-round2.c (main): Use ROUND instead of round.
83949         Bug report from Bruno Haible.
83951 2007-10-21  Bruno Haible  <bruno@clisp.org>
83953         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
83954         context.
83956 2007-10-21  Bruno Haible  <bruno@clisp.org>
83958         * tests/test-wcwidth.c (main): Allow negative result for some control
83959         characters.
83961         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
83962         Needed on OSF/1 5.1.
83964 2007-10-21  Bruno Haible  <bruno@clisp.org>
83966         * tests/test-floorf1.c: Include isnanf.h.
83967         (main): Use isnanf() instead of isnan().
83968         * tests/test-ceilf1.c: Include isnanf.h.
83969         (main): Use isnanf() instead of isnan().
83970         * tests/test-truncf1.c: Include isnanf.h.
83971         (main): Use isnanf() instead of isnan().
83972         * tests/test-roundf1.c: Include isnanf.h.
83973         (main): Use isnanf() instead of isnan().
83975 2007-10-21  Eric Blake  <ebb9@byu.net>
83977         * users.txt: Update URL for m4.
83979 2007-10-21  Bruno Haible  <bruno@clisp.org>
83981         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
83983 2007-10-21  Bruno Haible  <bruno@clisp.org>
83985         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
83986         Git's management files if the CVS files are not present.
83988 2007-10-20  Bruno Haible  <bruno@clisp.org>
83990         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
83991         gcc-3.4.x.
83993 2007-10-20  Ben Pfaff  <blp@gnu.org>
83995         * lib/math.in.h: Declare round, roundf, roundl if we are providing
83996         implementations.
83997         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
83998         * lib/round.c: New file.
83999         * lib/roundf.c: New file.
84000         * lib/roundl.c: New file.
84001         * m4/round.m4: New file.
84002         * m4/roundf.m4: New file.
84003         * m4/roundl.m4: New file.
84004         * m4/check-libm-func-m4: New file.
84005         * modules/math: Replace round, roundf, roundl related @VARS@ in
84006         math.in.h.
84007         * modules/round: New file.
84008         * modules/round-tests: New file.
84009         * modules/roundf: New file.
84010         * modules/roundf-tests: New file.
84011         * modules/roundl: New file.
84012         * modules/roundl-tests: New file.
84013         * tests/test-round1.c: New file.
84014         * tests/test-round2.c: New file.
84015         * tests/test-roundf1.c: New file.
84016         * tests/test-roundf2.c: New file.
84017         * tests/test-roundl.c: New file.
84018         * doc/functions/round.texi: Mention round module.
84019         * doc/functions/roundf.texi: Mention roundf module.
84020         * doc/functions/roundl.texi: Mention roundl module.
84021         * MODULES.html.sh: Mention new modules.
84022         Thanks to Bruno Haible for suggestions.
84024 2007-10-20  Jim Meyering  <meyering@redhat.com>
84026         * lib/xprintf.c: Include <config.h> unconditionally.
84028         Change xprintf's license to GPL.
84029         * modules/xprintf (License): s/LGPL/GPL/, since this module
84030         depends on modules (exit and exitfail) which are GPL.
84031         Suggestion from Bruno Haible.
84033         xprintf fixes.
84034         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
84035         Use a clearer diagnostic.
84036         Patch from Bruno Haible.
84038 2007-10-20  Bruno Haible  <bruno@clisp.org>
84040         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
84041         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
84042         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
84044 2007-10-20  Bruno Haible  <bruno@clisp.org>
84046         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
84047         precision in the comparison result > x - 1 or similar.
84048         * tests/test-ceilf2.c (correct_result_p): Likewise.
84049         * tests/test-truncf2.c (correct_result_p): Likewise.
84050         * tests/test-trunc2.c (correct_result_p): Likewise.
84051         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
84053 2007-10-20  Bruno Haible  <bruno@clisp.org>
84055         * modules/ceil: New file.
84056         * m4/ceil.m4: New file.
84057         * doc/functions/ceil.texi: Mention the 'ceil' module.
84059 2007-10-20  Bruno Haible  <bruno@clisp.org>
84061         * modules/floor: New file.
84062         * m4/floor.m4: New file.
84063         * doc/functions/floor.texi: Mention the 'floor' module.
84065 2007-10-20  Bruno Haible  <bruno@clisp.org>
84067         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
84068         of %a.
84069         * modules/floorf-tests (Depends-on): Likewise.
84070         * modules/truncf-tests (Depends-on): Likewise.
84071         * modules/trunc-tests (Depends-on): Likewise.
84072         Reported by Ben Pfaff.
84074 2007-10-19  Jim Meyering  <meyering@redhat.com>
84076         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
84077         Don't bother testing specific errno values.  Just test ferror.
84079         New module: xprintf
84080         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
84082 2007-10-19  Bruno Haible  <bruno@clisp.org>
84084         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
84085         syntax.
84086         * modules/javaexec (Makefile.am): Likewise.
84087         * modules/relocatable-prog (Makefile.am): Likewise.
84088         Suggested by Jim Meyering.
84090 2007-10-18  Bruno Haible  <bruno@clisp.org>
84092         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
84093         Reported by Jim Meyering.
84095 2007-10-18  Eric Blake  <ebb9@byu.net>
84097         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
84099 2007-10-18  Bruno Haible  <bruno@clisp.org>
84101         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
84102         the format string into writable memory. Needed in Fortify conditions.
84104 2007-10-18  Colin Watson  <cjwatson@debian.org>  (tiny change)
84105             Bruno Haible  <bruno@clisp.org>
84107         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
84108         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
84109         * modules/trim (Depends-on): Add mbchar.
84110         (configure.ac): Add gl_FUNC_MBRTOWC.
84111         (Makefile.am): Augment lib_SOURCES.
84113 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
84115         Modify glob.c to use fstatat and dirfd, to simplify it.
84116         Suggested by Eric Blake.
84117         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
84118         Don't include <stdbool.h>; not used.
84119         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
84120         (link_exists_p): Simplify implementation, since we can now assume
84121         dirfd and fstatat.
84122         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
84124 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
84126         * gnulib-tool (func_get_dependencies): Fix sed script to
84127         match only tests.
84129 2007-10-17  Bruno Haible  <bruno@clisp.org>
84131         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
84132         allow locale names without encoding suffix.
84133         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
84134         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
84136 2007-10-16  Bruno Haible  <bruno@clisp.org>
84138         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
84139         * lib/getgroups.c (getgroups): Likewise.
84140         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
84142 2007-10-16  Bruno Haible  <bruno@clisp.org>
84144         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
84145         * modules/malloc-posix (License): Likewise.
84146         * modules/realloc-posix (License): Likewise.
84147         * modules/calloc-posix (License): Likewise.
84148         * modules/intprops (License): Change from GPL to LGPL, with
84149         Paul Eggert's approval.
84151 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
84153         Merge glibc changes into lib/glob.c.
84155         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
84156         2007-10-15 04:59:03 UTC.  Here are the changes:
84158         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
84160         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
84162         * lib/glob.c: Add some branch prediction throughout.
84164         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
84166         [BZ #5103]
84167         * lib/glob.c (glob): Recognize patterns starting \/.
84169         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
84171         [BZ #3996]
84172         * lib/glob.c (attribute_hidden): Define if not defined.
84173         (glob): Unescape dirname, filename or username when needed and not
84174         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
84175         is NULL.  Handle unescaped [ in pattern without closing ].
84176         Don't pass GLOB_CHECK down to recursive glob for directories.
84177         (__glob_pattern_type): New function.
84178         (__glob_pattern_p): Implement using __glob_pattern_type.
84179         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
84180         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
84181         Remove unreachable code.
84183         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
84185         * lib/glob.c (glob_in_dir): Add some comments and asserts to
84186         explain why there are no leaks.
84188         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
84190         [BZ #3253]
84191         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
84192         time, rather allocate increasingly bigger arrays of pointers, if
84193         possible with alloca, if too large with malloc.
84195 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
84197         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
84198         Problem reported by H.Merijn Brand in
84199         <http://lists.gnu.org/r/bug-tar/2007-10/msg00018.html>.
84200         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
84201         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
84203 2007-10-15  Bruno Haible  <bruno@clisp.org>
84205         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
84206         with explicit rpl_ prefix.
84207         * lib/fopen.c (fopen): Likewise.
84208         * lib/freopen.c (freopen): Likewise.
84209         * lib/iconv.c (iconv): Likewise.
84210         * lib/iconv_close.c (iconv_close): Likewise.
84212 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
84214         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
84216 2007-10-15  Bruno Haible  <bruno@clisp.org>
84218         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
84219         <stddef.h> instead of <stdlib.h> since we only need NULL.
84220         Reported by Ben Pfaff <blp@cs.stanford.edu>.
84222 2007-10-15  Bruno Haible  <bruno@clisp.org>
84224         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
84225         Replace paragraph talking about LIBOBJS.
84226         Reported by Colin Watson <cjwatson@debian.org>.
84228 2007-10-15  Bruno Haible  <bruno@clisp.org>
84230         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
84231         <stdlib.h> before using NULL.
84233 2007-10-15  Simon Josefsson  <simon@josefsson.org>
84235         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
84236         Reported by Albert Chin <china@thewrittenword.com>.
84238 2007-10-14  Bruno Haible  <bruno@clisp.org>
84240         * modules/iconv_open-utf-tests: New file.
84241         * tests/test-iconv-utf.c: New file.
84243         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
84244         * modules/iconv_open-utf: New file.
84245         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
84246         (iconv, iconv_close): New declarations.
84247         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
84248         be defined.
84249         (iconv_open): Add special handling of conversion between UTF-8 and
84250         UTF-{16,32}{BE,LE}.
84251         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
84252         * lib/iconv_close.c: New file.
84253         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
84254         gl_FUNC_ICONV_OPEN.
84255         (gl_FUNC_ICONV_OPEN): Use it.
84256         (gl_FUNC_ICONV_OPEN_UTF): New macro.
84257         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
84258         and REPLACE_ICONV_UTF.
84259         * modules/iconv_open (Depends-on): Add c-strcase.
84260         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
84261         ICONV_CONST.
84262         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
84264 2007-10-13  Albert Chin  <china@thewrittenword.com>
84265             Bruno Haible  <bruno@clisp.org>
84267         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
84268         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
84270 2007-10-13  Bruno Haible  <bruno@clisp.org>
84272         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
84273         defined, use the ISO C99 inline semantics.
84274         * lib/argp.h (ARGP_EI): Likewise.
84276 2007-10-13  Bruno Haible  <bruno@clisp.org>
84278         Handle 'inline' change in gcc 4.3.0.
84279         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
84280         argp_fmtstream_write, argp_fmtstream_set_lmargin,
84281         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
84282         argp_fmtstream_point): Disable 'extern' declaration if the function
84283         definition is going to be provided inline.
84284         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
84285         semantics, not the ISO C99 inline semantics.
84286         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
84287         'extern' declaration if the function definition is going to be provided
84288         inline.
84289         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
84290         the GNU C inline semantics, not the ISO C99 inline semantics. With
84291         GCC 4.2, avoid a warning.
84293 2007-10-13  Bruno Haible  <bruno@clisp.org>
84295         * lib/freading.h (freading): Enable the use of __freading for
84296         glibc >= 2.7.
84297         * lib/freading.c (freading): Likewise.
84299 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
84301         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
84302         "warning: C99 inline functions are not supported; using GNU89".
84304 2007-10-12  Bruno Haible  <bruno@clisp.org>
84306         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
84307         of 2.
84308         * tests/test-ceilf2.c: New file.
84309         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
84311         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
84312         * modules/ceilf-tests: Update.
84314 2007-10-12  Bruno Haible  <bruno@clisp.org>
84316         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
84317         of 2.
84318         * tests/test-floorf2.c: New file.
84319         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
84321         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
84322         * modules/floorf-tests: Update.
84324 2007-10-12  Bruno Haible  <bruno@clisp.org>
84326         * tests/test-trunc2.c: New file.
84327         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
84329         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
84330         * modules/trunc-tests: Update.
84332 2007-10-12  Bruno Haible  <bruno@clisp.org>
84334         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
84335         of 2.
84336         * tests/test-truncf2.c: New file.
84337         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
84339         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
84340         * modules/truncf-tests: Update.
84342 2007-10-11  Eric Blake  <ebb9@byu.net>
84344         Don't claim strerror is broken on Interix.
84345         * doc/functions/strerror.texi (strerror): Known broken systems are
84346         now Solaris 8, and not Interix.
84347         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
84348         Interix on cross-compile.
84349         Reported by Martin Koeppe in
84350         http://lists.gnu.org/r/bug-gnulib/2007-10/msg00005.html.
84352 2007-10-11  Bruno Haible  <bruno@clisp.org>
84354         * modules/i-ring-tests: New file.
84355         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
84356         instead of assert.
84358 2007-10-11  Bruno Haible  <bruno@clisp.org>
84360         * modules/filenamecat-tests: New file.
84361         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
84362         * lib/filenamecat.c: Remove test code.
84364 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
84366         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
84368         * lib/strerror.c: Include <string.h> always, to test interface,
84369         and to remove the need for the dummy.
84370         Include intprops.h to compute width instead of doing it ourselves
84371         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
84372         (strerror): Define it to return NULL if there's no system strerror.
84373         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
84374         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
84375         ancient pre-strerror Unix systems well any more.  Saying "unknown
84376         system error" is enough.
84377         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
84378         simpler strerror.c implementation.
84379         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
84380         Simplify the tests to reflect the simpler strerror implementation.
84381         * modules/strerror (Depends-on): Add intprops.
84383 2007-10-09  Eric Blake  <ebb9@byu.net>
84385         Silence test-fpending.
84386         * modules/fpending-tests (Files): Add wrapper script.
84387         * tests/test-fpending.sh: New file.
84389 2007-10-09  Bruno Haible  <bruno@clisp.org>
84391         * MODULES.html.sh (func_module): Don't create a hyperlink for
84392         function names like 'printf_frexp'.
84393         (Misc): Add crc, memxor.
84394         (Characteristics of floating types): New section.
84395         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
84396         isnanf-nolibm, signbit, trunc, truncf, truncl.
84397         (Enhancements for ISO C 99 functions): New subsection Input/output.
84398         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
84399         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
84400         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
84401         (Compatibility checks for POSIX:2001 functions): Add clock-time.
84402         (Enhancements for POSIX:2001 functions): Add chdir-long.
84403         (File system functions): Add areadlink, chdir-safer, read-file.
84404         Remove cycle-check.
84405         (File system as inode set): New section.
84406         (Date and time): Add gethrxtime.
84407         (Multithreading): Add openmp.
84408         (Internationalization functions): Add localename.
84409         (Unicode string functions): Add unistr/u*-mbsnlen.
84410         (Support for maintaining and releasing projects): Add git-version-gen.
84411         (Lone files): Remove directories.
84413 2007-10-08  Ben Pfaff  <blp@gnu.org>
84415         * lib/xmalloca.h: Fix typo in comment.
84417 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
84419         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
84420         when avoiding problems with integer overflow.  Use a portable test
84421         instead.
84423 2007-10-08  Simon Josefsson  <simon@josefsson.org>
84425         * modules/dummy (License): Change to LGPLv2+.
84426         * modules/float (License): Likewise
84427         * modules/realloc (License): Likewise
84428         * modules/stdlib (License): Likewise
84430 2007-10-07  Bruno Haible  <bruno@clisp.org>
84432         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
84433         * floor.c (TWO_MANT_DIG): Likewise.
84434         * ceil.c (TWO_MANT_DIG): Likewise.
84435         Reported by Ben Pfaff.
84437 2007-10-07  Bruno Haible  <bruno@clisp.org>
84439         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
84440         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
84441         * lib/frexp.c (FUNC): Likewise.
84442         * lib/printf-frexp.h (printf_frexp): Likewise.
84443         * lib/printf-frexpl.h (printf_frexpl): Likewise.
84444         * lib/printf-frexp.c (FUNC): Likewise.
84445         Suggested by Jim Meyering.
84447 2007-10-07  Jim Meyering  <meyering@redhat.com>
84449         Make xnanosleep's integer overflow test more robust.
84450         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
84451         so that gcc-4.3.0 doesn't optimize away this test for overflow.
84453 2007-10-07  Bruno Haible  <bruno@clisp.org>
84455         * NEWS: Mention the license change.
84457         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
84458         abbreviations in the modules files.
84460         Change copyright notice from GPLv2+ to GPLv3+.
84461         * README: Change copyright notice.
84462         * MODULES.html.sh: Likewise.
84463         * build-aux/bootstrap.conf: Likewise.
84464         * build-aux/config.libpath: Likewise.
84465         * build-aux/csharpcomp.sh.in: Likewise.
84466         * build-aux/csharpexec.sh.in: Likewise.
84467         * build-aux/install-reloc: Likewise.
84468         * build-aux/javacomp.sh.in: Likewise.
84469         * build-aux/javaexec.sh.in: Likewise.
84470         * build-aux/ldd.sh.in: Likewise.
84471         * build-aux/reloc-ldflags: Likewise.
84472         * build-aux/relocatable.sh.in: Likewise.
84473         * build-aux/x-to-1.in: Likewise.
84474         * check-module: Likewise.
84475         * config/srclistvars.sh: Likewise.
84476         * gnulib-tool: Likewise.
84477         * lib/acl-internal.h: Likewise.
84478         * lib/acl.c: Likewise.
84479         * lib/acl.h: Likewise.
84480         * lib/acl_entries.c: Likewise.
84481         * lib/areadlink-with-size.c: Likewise.
84482         * lib/areadlink.c: Likewise.
84483         * lib/areadlink.h: Likewise.
84484         * lib/argmatch.c: Likewise.
84485         * lib/argmatch.h: Likewise.
84486         * lib/argp-ba.c: Likewise.
84487         * lib/argp-eexst.c: Likewise.
84488         * lib/argp-fmtstream.c: Likewise.
84489         * lib/argp-fmtstream.h: Likewise.
84490         * lib/argp-fs-xinl.c: Likewise.
84491         * lib/argp-help.c: Likewise.
84492         * lib/argp-namefrob.h: Likewise.
84493         * lib/argp-parse.c: Likewise.
84494         * lib/argp-pin.c: Likewise.
84495         * lib/argp-pv.c: Likewise.
84496         * lib/argp-pvh.c: Likewise.
84497         * lib/argp-xinl.c: Likewise.
84498         * lib/argp.h: Likewise.
84499         * lib/at-func.c: Likewise.
84500         * lib/atanl.c: Likewise.
84501         * lib/backupfile.c: Likewise.
84502         * lib/backupfile.h: Likewise.
84503         * lib/basename.c: Likewise.
84504         * lib/binary-io.h: Likewise.
84505         * lib/byteswap.in.h: Likewise.
84506         * lib/c-stack.c: Likewise.
84507         * lib/c-stack.h: Likewise.
84508         * lib/c-strcasestr.c: Likewise.
84509         * lib/c-strcasestr.h: Likewise.
84510         * lib/c-strstr.c: Likewise.
84511         * lib/c-strstr.h: Likewise.
84512         * lib/c-strtod.c: Likewise.
84513         * lib/calloc.c: Likewise.
84514         * lib/canon-host.c: Likewise.
84515         * lib/canon-host.h: Likewise.
84516         * lib/canonicalize-lgpl.c: Likewise.
84517         * lib/canonicalize.c: Likewise.
84518         * lib/canonicalize.h: Likewise.
84519         * lib/ceil.c: Likewise.
84520         * lib/ceilf.c: Likewise.
84521         * lib/ceill.c: Likewise.
84522         * lib/chdir-long.c: Likewise.
84523         * lib/chdir-long.h: Likewise.
84524         * lib/chdir-safer.c: Likewise.
84525         * lib/chdir-safer.h: Likewise.
84526         * lib/chown.c: Likewise.
84527         * lib/classpath.c: Likewise.
84528         * lib/classpath.h: Likewise.
84529         * lib/clean-temp.c: Likewise.
84530         * lib/clean-temp.h: Likewise.
84531         * lib/cloexec.c: Likewise.
84532         * lib/close-stream.c: Likewise.
84533         * lib/closein.c: Likewise.
84534         * lib/closein.h: Likewise.
84535         * lib/closeout.c: Likewise.
84536         * lib/closeout.h: Likewise.
84537         * lib/concat-filename.c: Likewise.
84538         * lib/copy-file.c: Likewise.
84539         * lib/copy-file.h: Likewise.
84540         * lib/count-one-bits.h: Likewise.
84541         * lib/crc.c: Likewise.
84542         * lib/crc.h: Likewise.
84543         * lib/creat-safer.c: Likewise.
84544         * lib/csharpcomp.c: Likewise.
84545         * lib/csharpcomp.h: Likewise.
84546         * lib/csharpexec.c: Likewise.
84547         * lib/csharpexec.h: Likewise.
84548         * lib/cycle-check.c: Likewise.
84549         * lib/cycle-check.h: Likewise.
84550         * lib/diacrit.c: Likewise.
84551         * lib/diacrit.h: Likewise.
84552         * lib/diffseq.h: Likewise.
84553         * lib/dirchownmod.c: Likewise.
84554         * lib/dirent.in.h: Likewise.
84555         * lib/dirfd.c: Likewise.
84556         * lib/dirfd.h: Likewise.
84557         * lib/dirname.c: Likewise.
84558         * lib/dirname.h: Likewise.
84559         * lib/dummy.c: Likewise.
84560         * lib/dup-safer.c: Likewise.
84561         * lib/dup2.c: Likewise.
84562         * lib/eealloc.h: Likewise.
84563         * lib/error.c: Likewise.
84564         * lib/error.h: Likewise.
84565         * lib/euidaccess.c: Likewise.
84566         * lib/exclude.c: Likewise.
84567         * lib/exclude.h: Likewise.
84568         * lib/execute.c: Likewise.
84569         * lib/execute.h: Likewise.
84570         * lib/exitfail.c: Likewise.
84571         * lib/exitfail.h: Likewise.
84572         * lib/expl.c: Likewise.
84573         * lib/fatal-signal.c: Likewise.
84574         * lib/fatal-signal.h: Likewise.
84575         * lib/fbufmode.c: Likewise.
84576         * lib/fbufmode.h: Likewise.
84577         * lib/fchdir.c: Likewise.
84578         * lib/fchmodat.c: Likewise.
84579         * lib/fchownat.c: Likewise.
84580         * lib/fcntl--.h: Likewise.
84581         * lib/fcntl-safer.h: Likewise.
84582         * lib/fcntl.in.h: Likewise.
84583         * lib/fd-safer.c: Likewise.
84584         * lib/fflush.c: Likewise.
84585         * lib/file-has-acl.c: Likewise.
84586         * lib/file-set.c: Likewise.
84587         * lib/file-type.c: Likewise.
84588         * lib/file-type.h: Likewise.
84589         * lib/fileblocks.c: Likewise.
84590         * lib/filemode.c: Likewise.
84591         * lib/filemode.h: Likewise.
84592         * lib/filename.h: Likewise.
84593         * lib/filenamecat.c: Likewise.
84594         * lib/filenamecat.h: Likewise.
84595         * lib/findprog.c: Likewise.
84596         * lib/findprog.h: Likewise.
84597         * lib/float.in.h: Likewise.
84598         * lib/floor.c: Likewise.
84599         * lib/floorf.c: Likewise.
84600         * lib/floorl.c: Likewise.
84601         * lib/fopen-safer.c: Likewise.
84602         * lib/fopen.c: Likewise.
84603         * lib/fpending.c: Likewise.
84604         * lib/fpending.h: Likewise.
84605         * lib/fprintf.c: Likewise.
84606         * lib/fprintftime.h: Likewise.
84607         * lib/fpucw.h: Likewise.
84608         * lib/fpurge.c: Likewise.
84609         * lib/fpurge.h: Likewise.
84610         * lib/freadable.c: Likewise.
84611         * lib/freadable.h: Likewise.
84612         * lib/freadahead.c: Likewise.
84613         * lib/freadahead.h: Likewise.
84614         * lib/freading.c: Likewise.
84615         * lib/freading.h: Likewise.
84616         * lib/free.c: Likewise.
84617         * lib/freopen.c: Likewise.
84618         * lib/frexp.c: Likewise.
84619         * lib/frexpl.c: Likewise.
84620         * lib/fseek.c: Likewise.
84621         * lib/fseterr.c: Likewise.
84622         * lib/fseterr.h: Likewise.
84623         * lib/fstatat.c: Likewise.
84624         * lib/fstrcmp.c: Likewise.
84625         * lib/fstrcmp.h: Likewise.
84626         * lib/fsusage.c: Likewise.
84627         * lib/fsusage.h: Likewise.
84628         * lib/ftell.c: Likewise.
84629         * lib/ftello.c: Likewise.
84630         * lib/fts-cycle.c: Likewise.
84631         * lib/fts.c: Likewise.
84632         * lib/fts_.h: Likewise.
84633         * lib/full-read.c: Likewise.
84634         * lib/full-read.h: Likewise.
84635         * lib/full-write.c: Likewise.
84636         * lib/full-write.h: Likewise.
84637         * lib/fwritable.c: Likewise.
84638         * lib/fwritable.h: Likewise.
84639         * lib/fwriteerror.c: Likewise.
84640         * lib/fwriteerror.h: Likewise.
84641         * lib/fwriting.c: Likewise.
84642         * lib/fwriting.h: Likewise.
84643         * lib/gcd.c: Likewise.
84644         * lib/gcd.h: Likewise.
84645         * lib/getcwd.c: Likewise.
84646         * lib/getdate.h: Likewise.
84647         * lib/getdate.y: Likewise.
84648         * lib/getdomainname.c: Likewise.
84649         * lib/getdomainname.h: Likewise.
84650         * lib/getgroups.c: Likewise.
84651         * lib/gethostname.c: Likewise.
84652         * lib/gethrxtime.c: Likewise.
84653         * lib/gethrxtime.h: Likewise.
84654         * lib/getloadavg.c: Likewise.
84655         * lib/getndelim2.c: Likewise.
84656         * lib/getndelim2.h: Likewise.
84657         * lib/getnline.c: Likewise.
84658         * lib/getnline.h: Likewise.
84659         * lib/getopt.c: Likewise.
84660         * lib/getopt.in.h: Likewise.
84661         * lib/getopt1.c: Likewise.
84662         * lib/getopt_int.h: Likewise.
84663         * lib/getpagesize.h: Likewise.
84664         * lib/getsubopt.c: Likewise.
84665         * lib/gettime.c: Likewise.
84666         * lib/getugroups.c: Likewise.
84667         * lib/getugroups.h: Likewise.
84668         * lib/getusershell.c: Likewise.
84669         * lib/gl_anyavltree_list1.h: Likewise.
84670         * lib/gl_anyavltree_list2.h: Likewise.
84671         * lib/gl_anyhash_list1.h: Likewise.
84672         * lib/gl_anyhash_list2.h: Likewise.
84673         * lib/gl_anylinked_list1.h: Likewise.
84674         * lib/gl_anylinked_list2.h: Likewise.
84675         * lib/gl_anyrbtree_list1.h: Likewise.
84676         * lib/gl_anyrbtree_list2.h: Likewise.
84677         * lib/gl_anytree_list1.h: Likewise.
84678         * lib/gl_anytree_list2.h: Likewise.
84679         * lib/gl_anytree_oset.h: Likewise.
84680         * lib/gl_anytreehash_list1.h: Likewise.
84681         * lib/gl_anytreehash_list2.h: Likewise.
84682         * lib/gl_array_list.c: Likewise.
84683         * lib/gl_array_list.h: Likewise.
84684         * lib/gl_array_oset.c: Likewise.
84685         * lib/gl_array_oset.h: Likewise.
84686         * lib/gl_avltree_list.c: Likewise.
84687         * lib/gl_avltree_list.h: Likewise.
84688         * lib/gl_avltree_oset.c: Likewise.
84689         * lib/gl_avltree_oset.h: Likewise.
84690         * lib/gl_avltreehash_list.c: Likewise.
84691         * lib/gl_avltreehash_list.h: Likewise.
84692         * lib/gl_carray_list.c: Likewise.
84693         * lib/gl_carray_list.h: Likewise.
84694         * lib/gl_linked_list.c: Likewise.
84695         * lib/gl_linked_list.h: Likewise.
84696         * lib/gl_linkedhash_list.c: Likewise.
84697         * lib/gl_linkedhash_list.h: Likewise.
84698         * lib/gl_list.c: Likewise.
84699         * lib/gl_list.h: Likewise.
84700         * lib/gl_oset.c: Likewise.
84701         * lib/gl_oset.h: Likewise.
84702         * lib/gl_rbtree_list.c: Likewise.
84703         * lib/gl_rbtree_list.h: Likewise.
84704         * lib/gl_rbtree_oset.c: Likewise.
84705         * lib/gl_rbtree_oset.h: Likewise.
84706         * lib/gl_rbtreehash_list.c: Likewise.
84707         * lib/gl_rbtreehash_list.h: Likewise.
84708         * lib/gl_sublist.c: Likewise.
84709         * lib/gl_sublist.h: Likewise.
84710         * lib/group-member.c: Likewise.
84711         * lib/group-member.h: Likewise.
84712         * lib/hard-locale.c: Likewise.
84713         * lib/hard-locale.h: Likewise.
84714         * lib/hash-pjw.c: Likewise.
84715         * lib/hash-pjw.h: Likewise.
84716         * lib/hash-triple.c: Likewise.
84717         * lib/hash.c: Likewise.
84718         * lib/hash.h: Likewise.
84719         * lib/human.c: Likewise.
84720         * lib/human.h: Likewise.
84721         * lib/i-ring.c: Likewise.
84722         * lib/i-ring.h: Likewise.
84723         * lib/idcache.c: Likewise.
84724         * lib/imaxabs.c: Likewise.
84725         * lib/imaxdiv.c: Likewise.
84726         * lib/inet_pton.c: Likewise.
84727         * lib/inet_pton.h: Likewise.
84728         * lib/intprops.h: Likewise.
84729         * lib/inttostr.c: Likewise.
84730         * lib/inttostr.h: Likewise.
84731         * lib/inttypes.in.h: Likewise.
84732         * lib/isapipe.c: Likewise.
84733         * lib/isdir.c: Likewise.
84734         * lib/isnan.c: Likewise.
84735         * lib/isnan.h: Likewise.
84736         * lib/isnanf.c: Likewise.
84737         * lib/isnanf.h: Likewise.
84738         * lib/isnanl-nolibm.h: Likewise.
84739         * lib/isnanl.c: Likewise.
84740         * lib/isnanl.h: Likewise.
84741         * lib/javacomp.c: Likewise.
84742         * lib/javacomp.h: Likewise.
84743         * lib/javaexec.c: Likewise.
84744         * lib/javaexec.h: Likewise.
84745         * lib/javaversion.c: Likewise.
84746         * lib/javaversion.h: Likewise.
84747         * lib/javaversion.java: Likewise.
84748         * lib/lbrkprop.h: Likewise.
84749         * lib/lchmod.h: Likewise.
84750         * lib/lchown.c: Likewise.
84751         * lib/ldexpl.c: Likewise.
84752         * lib/linebreak.c: Likewise.
84753         * lib/linebreak.h: Likewise.
84754         * lib/linebuffer.c: Likewise.
84755         * lib/linebuffer.h: Likewise.
84756         * lib/locale.in.h: Likewise.
84757         * lib/logl.c: Likewise.
84758         * lib/long-options.c: Likewise.
84759         * lib/long-options.h: Likewise.
84760         * lib/lstat.c: Likewise.
84761         * lib/lstat.h: Likewise.
84762         * lib/math.in.h: Likewise.
84763         * lib/mbchar.c: Likewise.
84764         * lib/mbchar.h: Likewise.
84765         * lib/mbfile.h: Likewise.
84766         * lib/mbiter.h: Likewise.
84767         * lib/mbscasecmp.c: Likewise.
84768         * lib/mbscasestr.c: Likewise.
84769         * lib/mbschr.c: Likewise.
84770         * lib/mbscspn.c: Likewise.
84771         * lib/mbslen.c: Likewise.
84772         * lib/mbsncasecmp.c: Likewise.
84773         * lib/mbsnlen.c: Likewise.
84774         * lib/mbspbrk.c: Likewise.
84775         * lib/mbspcasecmp.c: Likewise.
84776         * lib/mbsrchr.c: Likewise.
84777         * lib/mbssep.c: Likewise.
84778         * lib/mbsspn.c: Likewise.
84779         * lib/mbsstr.c: Likewise.
84780         * lib/mbstok_r.c: Likewise.
84781         * lib/mbswidth.c: Likewise.
84782         * lib/mbswidth.h: Likewise.
84783         * lib/mbuiter.h: Likewise.
84784         * lib/memcasecmp.c: Likewise.
84785         * lib/memcasecmp.h: Likewise.
84786         * lib/memchr.c: Likewise.
84787         * lib/memcmp.c: Likewise.
84788         * lib/memcoll.c: Likewise.
84789         * lib/memcoll.h: Likewise.
84790         * lib/memcpy.c: Likewise.
84791         * lib/memrchr.c: Likewise.
84792         * lib/mkancesdirs.c: Likewise.
84793         * lib/mkdir-p.c: Likewise.
84794         * lib/mkdir-p.h: Likewise.
84795         * lib/mkdir.c: Likewise.
84796         * lib/mkdirat.c: Likewise.
84797         * lib/mkdtemp.c: Likewise.
84798         * lib/mkstemp-safer.c: Likewise.
84799         * lib/mkstemp.c: Likewise.
84800         * lib/modechange.c: Likewise.
84801         * lib/modechange.h: Likewise.
84802         * lib/mountlist.c: Likewise.
84803         * lib/mountlist.h: Likewise.
84804         * lib/mpsort.c: Likewise.
84805         * lib/nanosleep.c: Likewise.
84806         * lib/obstack.c: Likewise.
84807         * lib/obstack.h: Likewise.
84808         * lib/open-safer.c: Likewise.
84809         * lib/open.c: Likewise.
84810         * lib/openat-die.c: Likewise.
84811         * lib/openat-priv.h: Likewise.
84812         * lib/openat-proc.c: Likewise.
84813         * lib/openat.c: Likewise.
84814         * lib/openat.h: Likewise.
84815         * lib/pagealign_alloc.c: Likewise.
84816         * lib/pagealign_alloc.h: Likewise.
84817         * lib/physmem.c: Likewise.
84818         * lib/physmem.h: Likewise.
84819         * lib/pipe-safer.c: Likewise.
84820         * lib/pipe.c: Likewise.
84821         * lib/pipe.h: Likewise.
84822         * lib/posixtm.c: Likewise.
84823         * lib/posixtm.h: Likewise.
84824         * lib/posixver.c: Likewise.
84825         * lib/printf-frexp.c: Likewise.
84826         * lib/printf-frexp.h: Likewise.
84827         * lib/printf-frexpl.c: Likewise.
84828         * lib/printf-frexpl.h: Likewise.
84829         * lib/printf.c: Likewise.
84830         * lib/progname.c: Likewise.
84831         * lib/progname.h: Likewise.
84832         * lib/progreloc.c: Likewise.
84833         * lib/putenv.c: Likewise.
84834         * lib/quote.c: Likewise.
84835         * lib/quote.h: Likewise.
84836         * lib/quotearg.c: Likewise.
84837         * lib/quotearg.h: Likewise.
84838         * lib/raise.c: Likewise.
84839         * lib/readline.c: Likewise.
84840         * lib/readline.h: Likewise.
84841         * lib/readlink.c: Likewise.
84842         * lib/readtokens.c: Likewise.
84843         * lib/readtokens.h: Likewise.
84844         * lib/readtokens0.c: Likewise.
84845         * lib/readtokens0.h: Likewise.
84846         * lib/readutmp.c: Likewise.
84847         * lib/readutmp.h: Likewise.
84848         * lib/realloc.c: Likewise.
84849         * lib/relocwrapper.c: Likewise.
84850         * lib/rename-dest-slash.c: Likewise.
84851         * lib/rename.c: Likewise.
84852         * lib/rmdir.c: Likewise.
84853         * lib/rpmatch.c: Likewise.
84854         * lib/safe-read.c: Likewise.
84855         * lib/safe-read.h: Likewise.
84856         * lib/safe-write.c: Likewise.
84857         * lib/safe-write.h: Likewise.
84858         * lib/same-inode.h: Likewise.
84859         * lib/same.c: Likewise.
84860         * lib/same.h: Likewise.
84861         * lib/save-cwd.c: Likewise.
84862         * lib/save-cwd.h: Likewise.
84863         * lib/savedir.c: Likewise.
84864         * lib/savedir.h: Likewise.
84865         * lib/savewd.c: Likewise.
84866         * lib/savewd.h: Likewise.
84867         * lib/search.in.h: Likewise.
84868         * lib/setenv.c: Likewise.
84869         * lib/setenv.h: Likewise.
84870         * lib/settime.c: Likewise.
84871         * lib/sh-quote.c: Likewise.
84872         * lib/sh-quote.h: Likewise.
84873         * lib/sig2str.c: Likewise.
84874         * lib/sig2str.h: Likewise.
84875         * lib/signal.in.h: Likewise.
84876         * lib/signbitd.c: Likewise.
84877         * lib/signbitf.c: Likewise.
84878         * lib/signbitl.c: Likewise.
84879         * lib/sigprocmask.c: Likewise.
84880         * lib/sincosl.c: Likewise.
84881         * lib/sleep.c: Likewise.
84882         * lib/sprintf.c: Likewise.
84883         * lib/sqrtl.c: Likewise.
84884         * lib/stat-time.h: Likewise.
84885         * lib/stdio--.h: Likewise.
84886         * lib/stdio-safer.h: Likewise.
84887         * lib/stdlib--.h: Likewise.
84888         * lib/stdlib-safer.h: Likewise.
84889         * lib/stdlib.in.h: Likewise.
84890         * lib/stpcpy.c: Likewise.
84891         * lib/stpncpy.c: Likewise.
84892         * lib/strchrnul.c: Likewise.
84893         * lib/strcspn.c: Likewise.
84894         * lib/strerror.c: Likewise.
84895         * lib/strftime.c: Likewise.
84896         * lib/strftime.h: Likewise.
84897         * lib/striconveh.c: Likewise.
84898         * lib/striconveh.h: Likewise.
84899         * lib/striconveha.c: Likewise.
84900         * lib/striconveha.h: Likewise.
84901         * lib/stripslash.c: Likewise.
84902         * lib/strnlen1.c: Likewise.
84903         * lib/strnlen1.h: Likewise.
84904         * lib/strtod.c: Likewise.
84905         * lib/strtoimax.c: Likewise.
84906         * lib/strtok_r.c: Likewise.
84907         * lib/strtol.c: Likewise.
84908         * lib/strtoll.c: Likewise.
84909         * lib/strtoul.c: Likewise.
84910         * lib/strtoull.c: Likewise.
84911         * lib/sysexits.in.h: Likewise.
84912         * lib/tempname.c: Likewise.
84913         * lib/tempname.h: Likewise.
84914         * lib/timespec.h: Likewise.
84915         * lib/tls.c: Likewise.
84916         * lib/tls.h: Likewise.
84917         * lib/tmpdir.c: Likewise.
84918         * lib/tmpdir.h: Likewise.
84919         * lib/tmpfile-safer.c: Likewise.
84920         * lib/tmpfile.c: Likewise.
84921         * lib/trigl.c: Likewise.
84922         * lib/trigl.h: Likewise.
84923         * lib/trim.c: Likewise.
84924         * lib/trim.h: Likewise.
84925         * lib/trunc.c: Likewise.
84926         * lib/truncf.c: Likewise.
84927         * lib/truncl.c: Likewise.
84928         * lib/tsearch.c: Likewise.
84929         * lib/unicodeio.c: Likewise.
84930         * lib/unicodeio.h: Likewise.
84931         * lib/unistd--.h: Likewise.
84932         * lib/unistd-safer.h: Likewise.
84933         * lib/unistdio/ulc-fprintf.c: Likewise.
84934         * lib/unistdio/ulc-vfprintf.c: Likewise.
84935         * lib/unlinkdir.c: Likewise.
84936         * lib/unlinkdir.h: Likewise.
84937         * lib/unlocked-io.h: Likewise.
84938         * lib/unsetenv.c: Likewise.
84939         * lib/userspec.c: Likewise.
84940         * lib/utime.c: Likewise.
84941         * lib/utimecmp.c: Likewise.
84942         * lib/utimecmp.h: Likewise.
84943         * lib/utimens.c: Likewise.
84944         * lib/verify.h: Likewise.
84945         * lib/verror.c: Likewise.
84946         * lib/verror.h: Likewise.
84947         * lib/version-etc-fsf.c: Likewise.
84948         * lib/version-etc.c: Likewise.
84949         * lib/version-etc.h: Likewise.
84950         * lib/vfprintf.c: Likewise.
84951         * lib/vprintf.c: Likewise.
84952         * lib/vsprintf.c: Likewise.
84953         * lib/w32spawn.h: Likewise.
84954         * lib/wait-process.c: Likewise.
84955         * lib/wait-process.h: Likewise.
84956         * lib/wcwidth.c: Likewise.
84957         * lib/write-any-file.c: Likewise.
84958         * lib/xalloc-die.c: Likewise.
84959         * lib/xalloc.h: Likewise.
84960         * lib/xasprintf.c: Likewise.
84961         * lib/xgetcwd.c: Likewise.
84962         * lib/xgetcwd.h: Likewise.
84963         * lib/xgetdomainname.c: Likewise.
84964         * lib/xgetdomainname.h: Likewise.
84965         * lib/xgethostname.c: Likewise.
84966         * lib/xmalloc.c: Likewise.
84967         * lib/xmalloca.c: Likewise.
84968         * lib/xmalloca.h: Likewise.
84969         * lib/xmemcoll.c: Likewise.
84970         * lib/xnanosleep.c: Likewise.
84971         * lib/xreadlink.c: Likewise.
84972         * lib/xreadlink.h: Likewise.
84973         * lib/xsetenv.c: Likewise.
84974         * lib/xsetenv.h: Likewise.
84975         * lib/xstriconv.c: Likewise.
84976         * lib/xstriconv.h: Likewise.
84977         * lib/xstrndup.c: Likewise.
84978         * lib/xstrndup.h: Likewise.
84979         * lib/xstrtod.c: Likewise.
84980         * lib/xstrtod.h: Likewise.
84981         * lib/xstrtol-error.c: Likewise.
84982         * lib/xstrtol.c: Likewise.
84983         * lib/xstrtol.h: Likewise.
84984         * lib/xtime.h: Likewise.
84985         * lib/xvasprintf.c: Likewise.
84986         * lib/xvasprintf.h: Likewise.
84987         * lib/yesno.c: Likewise.
84988         * lib/yesno.h: Likewise.
84989         * posix-modules: Likewise.
84990         * tests/test-alloca-opt.c: Likewise.
84991         * tests/test-arcfour.c: Likewise.
84992         * tests/test-arctwo.c: Likewise.
84993         * tests/test-argmatch.c: Likewise.
84994         * tests/test-argp-2.sh: Likewise.
84995         * tests/test-argp.c: Likewise.
84996         * tests/test-arpa_inet.c: Likewise.
84997         * tests/test-array_list.c: Likewise.
84998         * tests/test-array_oset.c: Likewise.
84999         * tests/test-atexit.c: Likewise.
85000         * tests/test-avltree_list.c: Likewise.
85001         * tests/test-avltree_oset.c: Likewise.
85002         * tests/test-avltreehash_list.c: Likewise.
85003         * tests/test-base64.c: Likewise.
85004         * tests/test-binary-io.c: Likewise.
85005         * tests/test-byteswap.c: Likewise.
85006         * tests/test-c-ctype.c: Likewise.
85007         * tests/test-c-strcasecmp.c: Likewise.
85008         * tests/test-c-strcasestr.c: Likewise.
85009         * tests/test-c-strncasecmp.c: Likewise.
85010         * tests/test-c-strstr.c: Likewise.
85011         * tests/test-canonicalize-lgpl.c: Likewise.
85012         * tests/test-canonicalize.c: Likewise.
85013         * tests/test-carray_list.c: Likewise.
85014         * tests/test-ceilf.c: Likewise.
85015         * tests/test-ceill.c: Likewise.
85016         * tests/test-count-one-bits.c: Likewise.
85017         * tests/test-crc.c: Likewise.
85018         * tests/test-dirname.c: Likewise.
85019         * tests/test-fbufmode.c: Likewise.
85020         * tests/test-fcntl.c: Likewise.
85021         * tests/test-fflush.c: Likewise.
85022         * tests/test-floorf.c: Likewise.
85023         * tests/test-floorl.c: Likewise.
85024         * tests/test-fopen.c: Likewise.
85025         * tests/test-fprintf-posix.c: Likewise.
85026         * tests/test-fprintf-posix.h: Likewise.
85027         * tests/test-fpurge.c: Likewise.
85028         * tests/test-freadable.c: Likewise.
85029         * tests/test-freadahead.c: Likewise.
85030         * tests/test-freading.c: Likewise.
85031         * tests/test-freopen.c: Likewise.
85032         * tests/test-frexp.c: Likewise.
85033         * tests/test-frexpl.c: Likewise.
85034         * tests/test-fseek.c: Likewise.
85035         * tests/test-fseeko.c: Likewise.
85036         * tests/test-fseterr.c: Likewise.
85037         * tests/test-fstrcmp.c: Likewise.
85038         * tests/test-ftell.c: Likewise.
85039         * tests/test-ftello.c: Likewise.
85040         * tests/test-fwritable.c: Likewise.
85041         * tests/test-fwriting.c: Likewise.
85042         * tests/test-getaddrinfo.c: Likewise.
85043         * tests/test-getpass.c: Likewise.
85044         * tests/test-gettimeofday.c: Likewise.
85045         * tests/test-hmac-md5.c: Likewise.
85046         * tests/test-hmac-sha1.c: Likewise.
85047         * tests/test-iconv.c: Likewise.
85048         * tests/test-iconvme.c: Likewise.
85049         * tests/test-inttypes.c: Likewise.
85050         * tests/test-isnan.c: Likewise.
85051         * tests/test-isnanf.c: Likewise.
85052         * tests/test-isnanl-nolibm.c: Likewise.
85053         * tests/test-isnanl.c: Likewise.
85054         * tests/test-isnanl.h: Likewise.
85055         * tests/test-ldexpl.c: Likewise.
85056         * tests/test-linked_list.c: Likewise.
85057         * tests/test-linkedhash_list.c: Likewise.
85058         * tests/test-locale.c: Likewise.
85059         * tests/test-localename.c: Likewise.
85060         * tests/test-lock.c: Likewise.
85061         * tests/test-lseek.c: Likewise.
85062         * tests/test-malloca.c: Likewise.
85063         * tests/test-math.c: Likewise.
85064         * tests/test-mbscasecmp.c: Likewise.
85065         * tests/test-mbscasestr1.c: Likewise.
85066         * tests/test-mbscasestr2.c: Likewise.
85067         * tests/test-mbscasestr3.c: Likewise.
85068         * tests/test-mbscasestr4.c: Likewise.
85069         * tests/test-mbschr.c: Likewise.
85070         * tests/test-mbscspn.c: Likewise.
85071         * tests/test-mbsncasecmp.c: Likewise.
85072         * tests/test-mbspbrk.c: Likewise.
85073         * tests/test-mbspcasecmp.c: Likewise.
85074         * tests/test-mbsrchr.c: Likewise.
85075         * tests/test-mbsspn.c: Likewise.
85076         * tests/test-mbsstr1.c: Likewise.
85077         * tests/test-mbsstr2.c: Likewise.
85078         * tests/test-mbsstr3.c: Likewise.
85079         * tests/test-md5.c: Likewise.
85080         * tests/test-memmem.c: Likewise.
85081         * tests/test-netinet_in.c: Likewise.
85082         * tests/test-open.c: Likewise.
85083         * tests/test-printf-frexp.c: Likewise.
85084         * tests/test-printf-frexpl.c: Likewise.
85085         * tests/test-printf-posix.c: Likewise.
85086         * tests/test-printf-posix.h: Likewise.
85087         * tests/test-rbtree_list.c: Likewise.
85088         * tests/test-rbtree_oset.c: Likewise.
85089         * tests/test-rbtreehash_list.c: Likewise.
85090         * tests/test-read-file.c: Likewise.
85091         * tests/test-rijndael.c: Likewise.
85092         * tests/test-search.c: Likewise.
85093         * tests/test-signbit.c: Likewise.
85094         * tests/test-sleep.c: Likewise.
85095         * tests/test-snprintf-posix.c: Likewise.
85096         * tests/test-snprintf-posix.h: Likewise.
85097         * tests/test-snprintf.c: Likewise.
85098         * tests/test-sprintf-posix.c: Likewise.
85099         * tests/test-sprintf-posix.h: Likewise.
85100         * tests/test-stat-time.c: Likewise.
85101         * tests/test-stdbool.c: Likewise.
85102         * tests/test-stdint.c: Likewise.
85103         * tests/test-stdio.c: Likewise.
85104         * tests/test-stdlib.c: Likewise.
85105         * tests/test-stpncpy.c: Likewise.
85106         * tests/test-strcasestr.c: Likewise.
85107         * tests/test-striconv.c: Likewise.
85108         * tests/test-striconveh.c: Likewise.
85109         * tests/test-striconveha.c: Likewise.
85110         * tests/test-string.c: Likewise.
85111         * tests/test-sys_select.c: Likewise.
85112         * tests/test-sys_socket.c: Likewise.
85113         * tests/test-sys_stat.c: Likewise.
85114         * tests/test-sys_time.c: Likewise.
85115         * tests/test-sysexits.c: Likewise.
85116         * tests/test-time.c: Likewise.
85117         * tests/test-tls.c: Likewise.
85118         * tests/test-trunc.c: Likewise.
85119         * tests/test-truncf.c: Likewise.
85120         * tests/test-truncl.c: Likewise.
85121         * tests/test-unistd.c: Likewise.
85122         * tests/test-vasnprintf-posix.c: Likewise.
85123         * tests/test-vasnprintf-posix2.c: Likewise.
85124         * tests/test-vasnprintf.c: Likewise.
85125         * tests/test-vasprintf-posix.c: Likewise.
85126         * tests/test-vasprintf.c: Likewise.
85127         * tests/test-verify.c: Likewise.
85128         * tests/test-vfprintf-posix.c: Likewise.
85129         * tests/test-vprintf-posix.c: Likewise.
85130         * tests/test-vsnprintf-posix.c: Likewise.
85131         * tests/test-vsnprintf.c: Likewise.
85132         * tests/test-vsprintf-posix.c: Likewise.
85133         * tests/test-wchar.c: Likewise.
85134         * tests/test-wctype.c: Likewise.
85135         * tests/test-wcwidth.c: Likewise.
85136         * tests/test-xstrtol.c: Likewise.
85137         * tests/test-xvasprintf.c: Likewise.
85138         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
85139         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
85140         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
85141         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
85142         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
85143         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
85144         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
85145         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
85146         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
85147         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
85148         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
85149         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
85150         * tests/uniname/test-uninames.c: Likewise.
85151         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
85152         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
85153         * tests/unistdio/test-u16-printf1.h: Likewise.
85154         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
85155         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
85156         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
85157         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
85158         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
85159         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
85160         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
85161         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
85162         * tests/unistdio/test-u32-printf1.h: Likewise.
85163         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
85164         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
85165         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
85166         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
85167         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
85168         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
85169         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
85170         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
85171         * tests/unistdio/test-u8-printf1.h: Likewise.
85172         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
85173         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
85174         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
85175         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
85176         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
85177         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
85178         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
85179         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
85180         * tests/unistdio/test-ulc-printf1.h: Likewise.
85181         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
85182         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
85183         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
85184         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
85185         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
85186         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
85187         * tests/uniwidth/test-u16-strwidth.c: Likewise.
85188         * tests/uniwidth/test-u16-width.c: Likewise.
85189         * tests/uniwidth/test-u32-strwidth.c: Likewise.
85190         * tests/uniwidth/test-u32-width.c: Likewise.
85191         * tests/uniwidth/test-u8-strwidth.c: Likewise.
85192         * tests/uniwidth/test-u8-width.c: Likewise.
85193         * tests/uniwidth/test-uc_width.c: Likewise.
85194         * config/srclist-update: Likewise.
85195         (fixlicense): Update to GPLv3+.
85197         Change copyright notice from LGPLv2.1+ to LGPLv3+.
85198         * tests/test-tsearch.c: Change copyright notice.
85200         Change copyright notice from LGPLv2.0+ to LGPLv3+.
85201         * lib/c-strcaseeq.h: Change copyright notice.
85202         * lib/streq.h: Likewise.
85203         * lib/uniconv.h: Likewise.
85204         * lib/uniconv/u-conv-from-enc.h: Likewise.
85205         * lib/uniconv/u-conv-to-enc.h: Likewise.
85206         * lib/uniconv/u-strconv-from-enc.h: Likewise.
85207         * lib/uniconv/u-strconv-to-enc.h: Likewise.
85208         * lib/uniconv/u16-conv-from-enc.c: Likewise.
85209         * lib/uniconv/u16-conv-to-enc.c: Likewise.
85210         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
85211         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
85212         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
85213         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
85214         * lib/uniconv/u32-conv-from-enc.c: Likewise.
85215         * lib/uniconv/u32-conv-to-enc.c: Likewise.
85216         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
85217         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
85218         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
85219         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
85220         * lib/uniconv/u8-conv-from-enc.c: Likewise.
85221         * lib/uniconv/u8-conv-to-enc.c: Likewise.
85222         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
85223         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
85224         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
85225         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
85226         * lib/uniname.h: Likewise.
85227         * lib/uniname/uniname.c: Likewise.
85228         * lib/unistdio.h: Likewise.
85229         * lib/unistdio/u-asnprintf.h: Likewise.
85230         * lib/unistdio/u-asprintf.h: Likewise.
85231         * lib/unistdio/u-printf-args.c: Likewise.
85232         * lib/unistdio/u-printf-args.h: Likewise.
85233         * lib/unistdio/u-printf-parse.h: Likewise.
85234         * lib/unistdio/u-snprintf.h: Likewise.
85235         * lib/unistdio/u-sprintf.h: Likewise.
85236         * lib/unistdio/u-vasprintf.h: Likewise.
85237         * lib/unistdio/u-vsnprintf.h: Likewise.
85238         * lib/unistdio/u-vsprintf.h: Likewise.
85239         * lib/unistdio/u16-asnprintf.c: Likewise.
85240         * lib/unistdio/u16-asprintf.c: Likewise.
85241         * lib/unistdio/u16-printf-parse.c: Likewise.
85242         * lib/unistdio/u16-snprintf.c: Likewise.
85243         * lib/unistdio/u16-sprintf.c: Likewise.
85244         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
85245         * lib/unistdio/u16-u16-asprintf.c: Likewise.
85246         * lib/unistdio/u16-u16-snprintf.c: Likewise.
85247         * lib/unistdio/u16-u16-sprintf.c: Likewise.
85248         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
85249         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
85250         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
85251         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
85252         * lib/unistdio/u16-vasnprintf.c: Likewise.
85253         * lib/unistdio/u16-vasprintf.c: Likewise.
85254         * lib/unistdio/u16-vsnprintf.c: Likewise.
85255         * lib/unistdio/u16-vsprintf.c: Likewise.
85256         * lib/unistdio/u32-asnprintf.c: Likewise.
85257         * lib/unistdio/u32-asprintf.c: Likewise.
85258         * lib/unistdio/u32-printf-parse.c: Likewise.
85259         * lib/unistdio/u32-snprintf.c: Likewise.
85260         * lib/unistdio/u32-sprintf.c: Likewise.
85261         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
85262         * lib/unistdio/u32-u32-asprintf.c: Likewise.
85263         * lib/unistdio/u32-u32-snprintf.c: Likewise.
85264         * lib/unistdio/u32-u32-sprintf.c: Likewise.
85265         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
85266         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
85267         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
85268         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
85269         * lib/unistdio/u32-vasnprintf.c: Likewise.
85270         * lib/unistdio/u32-vasprintf.c: Likewise.
85271         * lib/unistdio/u32-vsnprintf.c: Likewise.
85272         * lib/unistdio/u32-vsprintf.c: Likewise.
85273         * lib/unistdio/u8-asnprintf.c: Likewise.
85274         * lib/unistdio/u8-asprintf.c: Likewise.
85275         * lib/unistdio/u8-printf-parse.c: Likewise.
85276         * lib/unistdio/u8-snprintf.c: Likewise.
85277         * lib/unistdio/u8-sprintf.c: Likewise.
85278         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
85279         * lib/unistdio/u8-u8-asprintf.c: Likewise.
85280         * lib/unistdio/u8-u8-snprintf.c: Likewise.
85281         * lib/unistdio/u8-u8-sprintf.c: Likewise.
85282         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
85283         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
85284         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
85285         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
85286         * lib/unistdio/u8-vasnprintf.c: Likewise.
85287         * lib/unistdio/u8-vasprintf.c: Likewise.
85288         * lib/unistdio/u8-vsnprintf.c: Likewise.
85289         * lib/unistdio/u8-vsprintf.c: Likewise.
85290         * lib/unistdio/ulc-asnprintf.c: Likewise.
85291         * lib/unistdio/ulc-asprintf.c: Likewise.
85292         * lib/unistdio/ulc-printf-parse.c: Likewise.
85293         * lib/unistdio/ulc-snprintf.c: Likewise.
85294         * lib/unistdio/ulc-sprintf.c: Likewise.
85295         * lib/unistdio/ulc-vasnprintf.c: Likewise.
85296         * lib/unistdio/ulc-vasprintf.c: Likewise.
85297         * lib/unistdio/ulc-vsnprintf.c: Likewise.
85298         * lib/unistdio/ulc-vsprintf.c: Likewise.
85299         * lib/unistr.h: Likewise.
85300         * lib/unistr/u-cpy-alloc.h: Likewise.
85301         * lib/unistr/u-cpy.h: Likewise.
85302         * lib/unistr/u-endswith.h: Likewise.
85303         * lib/unistr/u-move.h: Likewise.
85304         * lib/unistr/u-set.h: Likewise.
85305         * lib/unistr/u-startswith.h: Likewise.
85306         * lib/unistr/u-stpcpy.h: Likewise.
85307         * lib/unistr/u-stpncpy.h: Likewise.
85308         * lib/unistr/u-strcat.h: Likewise.
85309         * lib/unistr/u-strcpy.h: Likewise.
85310         * lib/unistr/u-strcspn.h: Likewise.
85311         * lib/unistr/u-strdup.h: Likewise.
85312         * lib/unistr/u-strlen.h: Likewise.
85313         * lib/unistr/u-strncat.h: Likewise.
85314         * lib/unistr/u-strncpy.h: Likewise.
85315         * lib/unistr/u-strnlen.h: Likewise.
85316         * lib/unistr/u-strpbrk.h: Likewise.
85317         * lib/unistr/u-strspn.h: Likewise.
85318         * lib/unistr/u-strstr.h: Likewise.
85319         * lib/unistr/u-strtok.h: Likewise.
85320         * lib/unistr/u16-check.c: Likewise.
85321         * lib/unistr/u16-chr.c: Likewise.
85322         * lib/unistr/u16-cmp.c: Likewise.
85323         * lib/unistr/u16-cpy-alloc.c: Likewise.
85324         * lib/unistr/u16-cpy.c: Likewise.
85325         * lib/unistr/u16-endswith.c: Likewise.
85326         * lib/unistr/u16-mblen.c: Likewise.
85327         * lib/unistr/u16-mbsnlen.c: Likewise.
85328         * lib/unistr/u16-mbtouc-aux.c: Likewise.
85329         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
85330         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
85331         * lib/unistr/u16-mbtouc.c: Likewise.
85332         * lib/unistr/u16-mbtoucr.c: Likewise.
85333         * lib/unistr/u16-move.c: Likewise.
85334         * lib/unistr/u16-next.c: Likewise.
85335         * lib/unistr/u16-prev.c: Likewise.
85336         * lib/unistr/u16-set.c: Likewise.
85337         * lib/unistr/u16-startswith.c: Likewise.
85338         * lib/unistr/u16-stpcpy.c: Likewise.
85339         * lib/unistr/u16-stpncpy.c: Likewise.
85340         * lib/unistr/u16-strcat.c: Likewise.
85341         * lib/unistr/u16-strchr.c: Likewise.
85342         * lib/unistr/u16-strcmp.c: Likewise.
85343         * lib/unistr/u16-strcpy.c: Likewise.
85344         * lib/unistr/u16-strcspn.c: Likewise.
85345         * lib/unistr/u16-strdup.c: Likewise.
85346         * lib/unistr/u16-strlen.c: Likewise.
85347         * lib/unistr/u16-strmblen.c: Likewise.
85348         * lib/unistr/u16-strmbtouc.c: Likewise.
85349         * lib/unistr/u16-strncat.c: Likewise.
85350         * lib/unistr/u16-strncmp.c: Likewise.
85351         * lib/unistr/u16-strncpy.c: Likewise.
85352         * lib/unistr/u16-strnlen.c: Likewise.
85353         * lib/unistr/u16-strpbrk.c: Likewise.
85354         * lib/unistr/u16-strrchr.c: Likewise.
85355         * lib/unistr/u16-strspn.c: Likewise.
85356         * lib/unistr/u16-strstr.c: Likewise.
85357         * lib/unistr/u16-strtok.c: Likewise.
85358         * lib/unistr/u16-to-u32.c: Likewise.
85359         * lib/unistr/u16-to-u8.c: Likewise.
85360         * lib/unistr/u16-uctomb-aux.c: Likewise.
85361         * lib/unistr/u16-uctomb.c: Likewise.
85362         * lib/unistr/u32-check.c: Likewise.
85363         * lib/unistr/u32-chr.c: Likewise.
85364         * lib/unistr/u32-cmp.c: Likewise.
85365         * lib/unistr/u32-cpy-alloc.c: Likewise.
85366         * lib/unistr/u32-cpy.c: Likewise.
85367         * lib/unistr/u32-endswith.c: Likewise.
85368         * lib/unistr/u32-mblen.c: Likewise.
85369         * lib/unistr/u32-mbsnlen.c: Likewise.
85370         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
85371         * lib/unistr/u32-mbtouc.c: Likewise.
85372         * lib/unistr/u32-mbtoucr.c: Likewise.
85373         * lib/unistr/u32-move.c: Likewise.
85374         * lib/unistr/u32-next.c: Likewise.
85375         * lib/unistr/u32-prev.c: Likewise.
85376         * lib/unistr/u32-set.c: Likewise.
85377         * lib/unistr/u32-startswith.c: Likewise.
85378         * lib/unistr/u32-stpcpy.c: Likewise.
85379         * lib/unistr/u32-stpncpy.c: Likewise.
85380         * lib/unistr/u32-strcat.c: Likewise.
85381         * lib/unistr/u32-strchr.c: Likewise.
85382         * lib/unistr/u32-strcmp.c: Likewise.
85383         * lib/unistr/u32-strcpy.c: Likewise.
85384         * lib/unistr/u32-strcspn.c: Likewise.
85385         * lib/unistr/u32-strdup.c: Likewise.
85386         * lib/unistr/u32-strlen.c: Likewise.
85387         * lib/unistr/u32-strmblen.c: Likewise.
85388         * lib/unistr/u32-strmbtouc.c: Likewise.
85389         * lib/unistr/u32-strncat.c: Likewise.
85390         * lib/unistr/u32-strncmp.c: Likewise.
85391         * lib/unistr/u32-strncpy.c: Likewise.
85392         * lib/unistr/u32-strnlen.c: Likewise.
85393         * lib/unistr/u32-strpbrk.c: Likewise.
85394         * lib/unistr/u32-strrchr.c: Likewise.
85395         * lib/unistr/u32-strspn.c: Likewise.
85396         * lib/unistr/u32-strstr.c: Likewise.
85397         * lib/unistr/u32-strtok.c: Likewise.
85398         * lib/unistr/u32-to-u16.c: Likewise.
85399         * lib/unistr/u32-to-u8.c: Likewise.
85400         * lib/unistr/u32-uctomb.c: Likewise.
85401         * lib/unistr/u8-check.c: Likewise.
85402         * lib/unistr/u8-chr.c: Likewise.
85403         * lib/unistr/u8-cmp.c: Likewise.
85404         * lib/unistr/u8-cpy-alloc.c: Likewise.
85405         * lib/unistr/u8-cpy.c: Likewise.
85406         * lib/unistr/u8-endswith.c: Likewise.
85407         * lib/unistr/u8-mblen.c: Likewise.
85408         * lib/unistr/u8-mbsnlen.c: Likewise.
85409         * lib/unistr/u8-mbtouc-aux.c: Likewise.
85410         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
85411         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
85412         * lib/unistr/u8-mbtouc.c: Likewise.
85413         * lib/unistr/u8-mbtoucr.c: Likewise.
85414         * lib/unistr/u8-move.c: Likewise.
85415         * lib/unistr/u8-next.c: Likewise.
85416         * lib/unistr/u8-prev.c: Likewise.
85417         * lib/unistr/u8-set.c: Likewise.
85418         * lib/unistr/u8-startswith.c: Likewise.
85419         * lib/unistr/u8-stpcpy.c: Likewise.
85420         * lib/unistr/u8-stpncpy.c: Likewise.
85421         * lib/unistr/u8-strcat.c: Likewise.
85422         * lib/unistr/u8-strchr.c: Likewise.
85423         * lib/unistr/u8-strcmp.c: Likewise.
85424         * lib/unistr/u8-strcpy.c: Likewise.
85425         * lib/unistr/u8-strcspn.c: Likewise.
85426         * lib/unistr/u8-strdup.c: Likewise.
85427         * lib/unistr/u8-strlen.c: Likewise.
85428         * lib/unistr/u8-strmblen.c: Likewise.
85429         * lib/unistr/u8-strmbtouc.c: Likewise.
85430         * lib/unistr/u8-strncat.c: Likewise.
85431         * lib/unistr/u8-strncmp.c: Likewise.
85432         * lib/unistr/u8-strncpy.c: Likewise.
85433         * lib/unistr/u8-strnlen.c: Likewise.
85434         * lib/unistr/u8-strpbrk.c: Likewise.
85435         * lib/unistr/u8-strrchr.c: Likewise.
85436         * lib/unistr/u8-strspn.c: Likewise.
85437         * lib/unistr/u8-strstr.c: Likewise.
85438         * lib/unistr/u8-strtok.c: Likewise.
85439         * lib/unistr/u8-to-u16.c: Likewise.
85440         * lib/unistr/u8-to-u32.c: Likewise.
85441         * lib/unistr/u8-uctomb-aux.c: Likewise.
85442         * lib/unistr/u8-uctomb.c: Likewise.
85443         * lib/unitypes.h: Likewise.
85444         * lib/uniwidth.h: Likewise.
85445         * lib/uniwidth/cjk.h: Likewise.
85446         * lib/uniwidth/u16-strwidth.c: Likewise.
85447         * lib/uniwidth/u16-width.c: Likewise.
85448         * lib/uniwidth/u32-strwidth.c: Likewise.
85449         * lib/uniwidth/u32-width.c: Likewise.
85450         * lib/uniwidth/u8-strwidth.c: Likewise.
85451         * lib/uniwidth/u8-width.c: Likewise.
85452         * lib/uniwidth/width.c: Likewise.
85454 2007-10-07  Bruno Haible  <bruno@clisp.org>
85456         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
85457         The file is still under LGPL (see modules/inttypes).
85459 2007-10-06  Bruno Haible  <bruno@clisp.org>
85461         * modules/trunc (Dependencies): Add 'extensions'.
85462         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
85463         Reported by Ben Pfaff <blp@gnu.org>.
85465 2007-10-06  Bruno Haible  <bruno@clisp.org>
85467         * modules/freopen-tests: New file.
85468         * tests/test-freopen.c: New file.
85470         * modules/fopen-tests: New file.
85471         * tests/test-fopen.c: New file.
85473         * modules/fopen: New file.
85474         * lib/fopen.c: New file.
85475         * m4/fopen.m4: New file.
85476         * modules/freopen: New file.
85477         * lib/freopen.c: New file.
85478         * m4/freopen.m4: New file.
85479         * lib/stdio.in.h (fopen, freopen): New declarations.
85480         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
85481         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
85482         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
85483         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
85484         * doc/functions/fopen.texi: Mention the 'fopen' module.
85485         * doc/functions/freopen.texi: Mention the 'freopen' module.
85487 2007-10-06  Bruno Haible  <bruno@clisp.org>
85489         * modules/open-tests: New file.
85490         * tests/test-open.c: New file.
85492         * modules/open: New file.
85493         * lib/open.c: New file.
85494         * m4/open.m4: New file.
85495         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
85496         lib/open.c does.
85497         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
85498         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
85499         macros.
85500         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
85501         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
85502         REPLACE_OPEN.
85503         * doc/functions/open.texi: Mention the 'open' module.
85505 2007-10-04  Bruno Haible  <bruno@clisp.org>
85507         * modules/ceill-tests: New file.
85508         * tests/test-ceill.c: New file.
85510         * modules/ceill: New file.
85511         * lib/ceill.c: Replace entire file.
85512         * m4/ceill.m4: New file.
85513         * lib/math.in.h (ceill): Replace declaration.
85514         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
85515         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
85516         * doc/functions/ceill.texi: Mention the 'ceill' module.
85517         * modules/mathl (Files): Remove lib/ceill.c.
85518         (Depends-on): Add ceill.
85520 2007-10-04  Bruno Haible  <bruno@clisp.org>
85522         * modules/ceilf-tests: New file.
85523         * tests/test-ceilf.c: New file.
85525         * modules/ceilf: New file.
85526         * lib/ceil.c: New file.
85527         * lib/ceilf.c: New file.
85528         * m4/ceilf.m4: New file.
85529         * lib/math.in.h (ceilf): New declaration.
85530         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
85531         HAVE_DECL_CEILF.
85532         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
85533         HAVE_DECL_CEILF.
85534         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
85536 2007-10-04  Bruno Haible  <bruno@clisp.org>
85538         * modules/floorl-tests: New file.
85539         * tests/test-floorl.c: New file.
85541         * modules/floorl: New file.
85542         * lib/floorl.c: Replace entire file.
85543         * m4/floorl.m4: New file.
85544         * lib/math.in.h (floorl): Replace declaration.
85545         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
85546         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
85547         * doc/functions/floorl.texi: Mention the 'floorl' module.
85548         * modules/mathl (Files): Remove lib/floorl.c.
85549         (Depends-on): Add floorl.
85551 2007-10-04  Bruno Haible  <bruno@clisp.org>
85553         * modules/floorf-tests: New file.
85554         * tests/test-floorf.c: New file.
85556         * modules/floorf: New file.
85557         * lib/floor.c: New file.
85558         * lib/floorf.c: New file.
85559         * m4/floorf.m4: New file.
85560         * lib/math.in.h (floorf): New declaration.
85561         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
85562         HAVE_DECL_FLOORF.
85563         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
85564         HAVE_DECL_FLOORF.
85565         * doc/functions/floorf.texi: Mention the 'floorf' module.
85567 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
85568             Bruno Haible  <bruno@clisp.org>
85570         Advertise for the Git server instead of the CVS server.
85571         * doc/gnulib-intro.texi (Steady Development): Mention the Git
85572         repository instead of the CVS one.
85573         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
85574         about all VCS systems generically.
85575         * doc/gnulib.texi (Introduction): Capitalize `Git'.
85577 2007-10-04  Bruno Haible  <bruno@clisp.org>
85579         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
85580         means.
85581         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
85583 2007-10-04  Bruno Haible  <bruno@clisp.org>
85585         * modules/truncl-tests: New file.
85586         * tests/test-truncl.c: New file.
85588         * modules/truncl: New file.
85589         * lib/truncl.c: New file.
85590         * m4/truncl.m4: New file.
85591         * lib/math.in.h (truncl): New declaration.
85592         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
85593         HAVE_DECL_TRUNCL.
85594         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
85595         HAVE_DECL_TRUNCL.
85596         * doc/functions/truncl.texi: Mention the 'truncl' module.
85598 2007-10-04  Bruno Haible  <bruno@clisp.org>
85600         * modules/truncf-tests: New file.
85601         * tests/test-truncf.c: New file.
85603         * modules/truncf: New file.
85604         * lib/trunc.c: Make paramerizable through USE_* macros.
85605         * lib/truncf.c: New file.
85606         * m4/truncf.m4: New file.
85607         * lib/math.in.h (truncf): New declaration.
85608         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
85609         HAVE_DECL_TRUNCF.
85610         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
85611         HAVE_DECL_TRUNCF.
85612         * doc/functions/truncf.texi: Mention the 'truncf' module.
85614 2007-10-03  Bruno Haible  <bruno@clisp.org>
85616         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
85617         augmentation also for tests modules.
85618         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
85619         * modules/atexit-tests (Makefile.am): Likewise.
85620         * modules/binary-io-tests (Makefile.am): Likewise.
85621         * modules/c-strcase-tests (Makefile.am): Likewise.
85622         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
85623         * modules/canonicalize-tests (Makefile.am): Likewise.
85624         * modules/closein-tests (Makefile.am): Likewise.
85625         * modules/fprintf-posix-tests (Makefile.am): Likewise.
85626         * modules/freadahead-tests (Makefile.am): Likewise.
85627         * modules/fseek-tests (Makefile.am): Likewise.
85628         * modules/fseeko-tests (Makefile.am): Likewise.
85629         * modules/ftell-tests (Makefile.am): Likewise.
85630         * modules/ftello-tests (Makefile.am): Likewise.
85631         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
85632         * modules/isnanl-tests (Makefile.am): Likewise.
85633         * modules/lseek-tests (Makefile.am): Likewise.
85634         * modules/mbscasecmp-tests (Makefile.am): Likewise.
85635         * modules/mbscasestr-tests (Makefile.am): Likewise.
85636         * modules/mbschr-tests (Makefile.am): Likewise.
85637         * modules/mbscspn-tests (Makefile.am): Likewise.
85638         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
85639         * modules/mbspbrk-tests (Makefile.am): Likewise.
85640         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
85641         * modules/mbsrchr-tests (Makefile.am): Likewise.
85642         * modules/mbsspn-tests (Makefile.am): Likewise.
85643         * modules/mbsstr-tests (Makefile.am): Likewise.
85644         * modules/printf-posix-tests (Makefile.am): Likewise.
85645         * modules/snprintf-posix-tests (Makefile.am): Likewise.
85646         * modules/sprintf-posix-tests (Makefile.am): Likewise.
85647         * modules/tsearch-tests (Makefile.am): Likewise.
85648         * modules/uniname/uniname-tests (Makefile.am): Likewise.
85649         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
85650         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
85651         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
85652         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
85653         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
85654         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
85655         * modules/vprintf-posix-tests (Makefile.am): Likewise.
85656         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
85657         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
85658         * modules/xstrtoimax-tests (Makefile.am): Likewise.
85659         * modules/xstrtol-tests (Makefile.am): Likewise.
85660         * modules/xstrtoumax-tests (Makefile.am): Likewise.
85661         * modules/yesno-tests (Makefile.am): Likewise.
85663 2007-10-03  Bruno Haible  <bruno@clisp.org>
85665         * modules/trunc-tests: New file.
85666         * tests/test-trunc.c: New file.
85668         * modules/trunc: New file.
85669         * lib/trunc.c: New file.
85670         * m4/trunc.m4: New file.
85671         * lib/math.in.h (trunc): New declaration.
85672         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
85673         HAVE_DECL_TRUNC.
85674         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
85675         HAVE_DECL_TRUNC.
85676         * doc/functions/trunc.texi: Mention the 'trunc' module.
85678 2007-10-03  Bruno Haible  <bruno@clisp.org>
85680         * tests/test-fpending.c: New file, mostly copied
85681         from coreutils/lib/t-fpending.c.
85682         * modules/fpending-tests: New file.
85684 2007-10-03  Bruno Haible  <bruno@clisp.org>
85686         Port the stdio extensions to QNX (untested).
85687         * lib/fseterr.c (fseterr): Add support for QNX.
85688         * lib/fbufmode.c (fbufmode): Likewise.
85689         * lib/freadable.c (freadable): Likewise.
85690         * lib/fwritable.c (fwritable): Likewise.
85691         * lib/freading.c (freading): Likewise.
85692         * lib/fwriting.c (fwriting): Likewise.
85693         * lib/freadahead.c (freadahed): Likewise.
85694         * lib/fpurge.c (fpurge): Likewise.
85695         * lib/fseeko.c (rpl_fseeko): Likewise.
85697 2007-10-03  Bruno Haible  <bruno@clisp.org>
85698             Jim Meyering  <jim@meyering.net>
85699             Eric Blake  <ebb9@byu.net>
85701         * doc/relocatable.texi: Use @command instead of @program.
85703 2007-10-02  Jim Meyering  <jim@meyering.net>
85705         Perform one more "_.h" -> ".in.h" substitution.
85706         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
85707         instead of unistd_.h here, too.
85709 2007-10-01  Bruno Haible  <bruno@clisp.org>
85711         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
85712         Needed for the alloca-opt module.
85714 2007-09-30  Bruno Haible  <bruno@clisp.org>
85716         * lib/alloca.in.h: Renamed from lib/alloca_.h.
85717         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
85718         alloca_.h.
85719         * lib/argz.in.h: Renamed from lib/argz_.h.
85720         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
85721         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
85722         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
85723         byteswap_.h.
85724         * lib/dirent.in.h: Renamed from lib/dirent_.h.
85725         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
85726         dirent_.h.
85727         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
85728         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
85729         fcntl_.h.
85730         * lib/float.in.h: Renamed from lib/float_.h.
85731         * modules/float (Files, Makefile.am): Use float.in.h instead of
85732         float_.h.
85733         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
85734         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
85735         fnmatch_.h.
85736         * lib/getopt.in.h: Renamed from lib/getopt_.h.
85737         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
85738         getopt_.h.
85739         * lib/glob.in.h: Renamed from lib/glob_.h.
85740         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
85741         * lib/iconv.in.h: Renamed from lib/iconv_.h.
85742         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
85743         iconv_.h.
85744         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
85745         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
85746         inttypes_.h.
85747         * lib/locale.in.h: Renamed from lib/locale_.h.
85748         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
85749         locale_.h.
85750         * lib/math.in.h: Renamed from lib/math_.h.
85751         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
85752         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
85753         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
85754         of netinet_in_.h. Add dependency.
85755         * lib/poll.in.h: Renamed from lib/poll_.h.
85756         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
85757         * lib/search.in.h: Renamed from lib/search_.h.
85758         * modules/search (Files, Makefile.am): Use search.in.h instead of
85759         search_.h.
85760         * lib/signal.in.h: Renamed from lib/signal_.h.
85761         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
85762         _signal.h.
85763         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
85764         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
85765         stdbool_.h.
85766         * lib/stdint.in.h: Renamed from lib/stdint_.h.
85767         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
85768         stdint_.h.
85769         * lib/stdio.in.h: Renamed from lib/stdio_.h.
85770         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
85771         stdio_.h.
85772         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
85773         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
85774         stdlib_.h.
85775         * lib/string.in.h: Renamed from lib/string_.h.
85776         * modules/string (Files, Makefile.am): Use string.in.h instead of
85777         string_.h.
85778         * doc/gnulib-tool.texi (Initial import): Update.
85779         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
85780         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
85781         of sys_select_.h. Add dependency.
85782         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
85783         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
85784         of sys_socket_.h.
85785         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
85786         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
85787         sys_stat_.h.
85788         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
85789         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
85790         sys_time_.h.
85791         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
85792         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
85793         sysexits_.h.
85794         * lib/time.in.h: Renamed from lib/time_.h.
85795         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
85796         * lib/unistd.in.h: Renamed from lib/unistd_.h.
85797         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
85798         unistd_.h.
85799         * lib/wchar.in.h: Renamed from lib/wchar_.h.
85800         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
85801         wchar_.h.
85802         * lib/wctype.in.h: Renamed from lib/wctype_.h.
85803         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
85804         wctype_.h.
85805         * build-aux/bootstrap (slurp): Update.
85806         * lib/.cppi-disable: Update.
85808 2007-09-30  Bruno Haible  <bruno@clisp.org>
85810         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
85811         Needed on BeOS.
85813 2007-09-30  Bruno Haible  <bruno@clisp.org>
85815         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
85817 2007-09-29  Bruno Haible  <bruno@clisp.org>
85819         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
85821 2007-09-29  Bruno Haible  <bruno@clisp.org>
85823         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
85824         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
85825         * build-aux/install-reloc: Compile also areadlink.c.
85826         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
85828 2007-09-29  Bruno Haible  <bruno@clisp.org>
85830         * gnulib-tool (func_emit_initmacro_done): Indentation.
85832 2007-09-29  Bruno Haible  <bruno@clisp.org>
85834         * README: Add CVS checkout update instructions.
85835         Info from Bob Proulx <bob@proulx.com>.
85837 2007-09-28  Eric Blake  <ebb9@byu.net>
85839         Provide move-if-change.
85840         * build-aux/move-if-change: New file, based on best practice
85841         rather than any canonical upstream location.
85843 2007-09-28  Jim Meyering  <jim@meyering.net>
85845         Fix canonicalize loop-detection corner case.
85846         Do not attempt to stat the symlink values stored via seen_triple.
85847         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
85848         on linux-2.6.18, (but not 2.6.22).
85849         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
85850         triple_compare.  The former compares dev,ino,filename, while the latter
85851         would actually stat dirname(filename) when dev and ino were equal.
85852         * lib/hash-triple.c: Install <string.h>.
85853         (STREQ): Define.
85854         (triple_compare_ino_str): New function.
85855         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
85857 2007-09-28  Eric Blake  <ebb9@byu.net>
85859         Enforce that AC_REPLACE_FUNCS files exist.
85860         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
85861         override check for typos.
85863         Fix test-closein on Solaris 10.
85864         * tests/test-closein.c (main): Don't assume stdin can be inherited
85865         closed on all systems.
85866         * tests/test-closein.sh: Likewise.
85867         Reported by Piotr Tarnowski.
85869 2007-09-28  Jim Meyering  <jim@meyering.net>
85871         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
85873 2007-09-27  Jim Meyering  <jim@meyering.net>
85875         canonicalize: Avoid a false-positive cycle failure.
85876         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
85877         Sort.  Remove cycle-check.
85878         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
85879         not cycle-check.h.
85880         (seen_triple): New function.
85881         (canonicalize_filename_mode): Use it instead of cycle-check.
85882         * tests/test-canonicalize.c: Add a test for this bug.
85883         * tests/test-canonicalize.sh: Set up and run the test.
85885         New module, file-set, from coreutils.
85886         * modules/file-set: Define it.
85887         * lib/file-set.c, lib/file-set.h: Implement.
85889         New module, hash-triple, from coreutils.
85890         * modules/hash-triple: Define it.
85891         * lib/hash-triple.c, lib/hash-triple.h: Implement.
85893 2007-09-25  Eric Blake  <ebb9@byu.net>
85895         Fix strerror on Interix.
85896         * lib/string_.h (strerror): Declare replacement.
85897         * doc/functions/strerror.texi (strerror): Document the Interix
85898         shortcoming.
85899         * modules/string (Makefile.am): Support new hooks.
85900         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
85901         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
85902         gl_FUNC_STRERROR_SEPARATE.
85903         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
85904         * lib/strerror.c (rpl_strerror): Provide replacement.
85905         * modules/strerror (Depends-on): Add string.
85906         (configure.ac): Detect use of module.
85907         * tests/test-strerror.c: New file.
85908         * modules/strerror-tests: New test module.
85909         * modules/argp (Depends-on): Add strerror.
85910         * modules/error (Depends-on): Likewise.
85911         Reported by Martin Koeppe.
85913 2007-09-24  Bruno Haible  <bruno@clisp.org>
85915         * README: Update git instructions.
85917 2007-09-24  Eric Blake  <ebb9@byu.net>
85919         Revert fpending breakage from 2007-09-08.
85920         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
85921         __fpending.c.
85923 2007-09-24  Jim Meyering  <jim@meyering.net>
85925         filenamecat.c: Add a test.
85926         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
85927         showing how the function works when DIR is the empty string.
85929 2007-09-21  Simon Josefsson  <simon@josefsson.org>
85931         * tests/test-canonicalize.sh: Turn on executable bit.
85933 2007-09-19  Eric Blake  <ebb9@byu.net>
85935         * README: Update CVS instructions.
85937 2007-09-18  Bruno Haible  <bruno@clisp.org>
85939         * modules/areadlink: New file.
85940         * lib/areadlink.h (areadlink): New declaration.
85941         * lib/areadlink.c: New file, based on lib/xreadlink.c.
85943 2007-09-17  Jim Meyering  <jim@meyering.net>
85945         * lib/savewd.c (ESTALE) [!defined]: Define.
85946         Reported to be required on Interix by Martin Koeppe.
85948 2007-09-17  Bruno Haible  <bruno@clisp.org>
85950         * gnulib-tool (func_version): Use $version.
85952 2007-09-16  Bruno Haible  <bruno@clisp.org>
85954         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
85955         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
85956         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
85957         Reported by Greg Schafer <gschafer@zip.com.au>.
85959 2007-09-15  Bruno Haible  <bruno@clisp.org>
85961         * gnulib-tool (sed): Try a little harder to make bash understand the
85962         alias.
85963         Reported by Bruce Korb <bruce.korb@gmail.com>.
85965 2007-09-13  Eric Blake  <ebb9@byu.net>
85967         * ChangeLog: Remove conflict markers.
85969 2007-09-13  Simon Josefsson  <simon@josefsson.org>
85971         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
85972         Reported by Bruno Haible <bruno@clisp.org>.
85974 2007-09-12  Bruno Haible  <bruno@clisp.org>
85976         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
85977         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
85978         is not defined.
85980 2007-09-12  Eric Blake  <ebb9@byu.net>
85982         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
85983         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
85984         Autoconf definition.
85985         * modules/euidaccess (Depends-on): Add extensions, for
85986         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
85987         * modules/fnmatch (Depends-on): Likewise.
85988         * modules/getaddrinfo (Depends-on): Likewise.
85989         * modules/getdelim (Depends-on): Likewise.
85990         * modules/getline (Depends-on): Likewise.
85991         * modules/getsubopt (Depends-on): Likewise.
85992         * modules/gettext (Depends-on): Likewise.
85993         * modules/group-member (Depends-on): Likewise.
85994         * modules/mbchar (Depends-on): Likewise.
85995         * modules/memmem (Depends-on): Likewise.
85996         * modules/mempcpy (Depends-on): Likewise.
85997         * modules/memrchr (Depends-on): Likewise.
85998         * modules/pagealign_alloc (Depends-on): Likewise.
85999         * modules/readutmp (Depends-on): Likewise.
86000         * modules/stpcpy (Depends-on): Likewise.
86001         * modules/stpncpy (Depends-on): Likewise.
86002         * modules/strchrnul (Depends-on): Likewise.
86003         * modules/strndup (Depends-on): Likewise.
86004         * modules/strsep (Depends-on): Likewise.
86005         * modules/strverscmp (Depends-on): Likewise.
86006         * modules/vasprintf (Depends-on): Likewise.
86007         * modules/wcwidth (Depends-on): Likewise.
86008         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
86009         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
86010         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
86011         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
86012         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
86013         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
86014         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
86015         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
86016         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
86017         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
86018         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
86019         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
86020         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
86021         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
86022         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
86023         * m4/readutmp.m4 (gl_READUTMP): Likewise.
86024         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
86025         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
86026         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
86027         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
86028         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
86029         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
86030         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
86031         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
86032         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
86033         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
86034         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
86035         so that lock.m4 can be used in gettext without extensions module.
86037 2007-09-11  Bruno Haible  <bruno@clisp.org>
86039         * m4/isc-posix.m4: Remove file.
86040         Suggested by Eric Blake.
86042 2007-09-11  Eric Blake  <ebb9@byu.net>
86044         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
86046 2007-09-10  Bruno Haible  <bruno@clisp.org>
86048         * posix-modules: Fix typo in error message.
86049         Reported by Matt <mkraai@beckman.com>.
86051 2007-09-09  Bruno Haible  <bruno@clisp.org>
86053         * doc/functions/getdelim.texi: Update list of platforms lacking the
86054         function.
86055         * doc/functions/getline.texi: Likewise.
86057 2007-09-09  Jim Meyering  <jim@meyering.net>
86059         * lib/hash.c (hash_initialize): Detect calloc failure.
86060         Reported by Bruno Haible.
86062 2007-09-09  Bruno Haible  <bruno@clisp.org>
86064         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
86065         malloc or realloc fails.
86067 2007-09-09  Bruno Haible  <bruno@clisp.org>
86069         * modules/getcwd (Depends-on): Add malloc-posix.
86070         * modules/glob (Depends-on): Likewise.
86071         * modules/putenv (Depends-on): Likewise.
86072         * modules/strdup (Depends-on): Likewise.
86073         * modules/getdelim (Depends-on): Add realloc-posix.
86074         * modules/read-file (Depends-on): Likewise.
86076 2007-09-09  Bruno Haible  <bruno@clisp.org>
86078         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
86079         (gl_FUNC_MALLOC_POSIX): Require it.
86080         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
86081         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
86082         * modules/realloc (Files): Add m4/malloc.m4.
86083         * modules/calloc (Files): Likewise.
86085 2007-09-09  Bruno Haible  <bruno@clisp.org>
86087         * modules/malloc-posix: New file.
86088         * modules/malloc (Depends-on): Add malloc-posix.
86089         * lib/malloc.c: Include errno.h.
86090         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
86091         and a POSIX-compatible malloc into a single function. Set ENOMEM
86092         when returning NULL.
86093         * m4/malloc.m4: New file.
86094         * doc/functions/malloc.texi: Mention the malloc-posix module.
86095         * lib/stdlib_.h (malloc): New declaration.
86096         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
86097         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
86098         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
86099         and HAVE_MALLOC_POSIX.
86101 2007-09-09  Bruno Haible  <bruno@clisp.org>
86103         * modules/realloc-posix: New file.
86104         * modules/realloc (Depends-on): Add realloc-posix.
86105         * lib/realloc.c: Include errno.h.
86106         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
86107         and a POSIX-compatible realloc into a single function. Set ENOMEM
86108         when returning NULL.
86109         * m4/realloc.m4: New file.
86110         * doc/functions/realloc.texi: Mention the realloc-posix module.
86111         * lib/stdlib_.h (realloc): New declaration.
86112         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
86113         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
86114         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
86115         and HAVE_REALLOC_POSIX.
86117 2007-09-09  Bruno Haible  <bruno@clisp.org>
86119         * modules/calloc-posix: New file.
86120         * modules/calloc (Depends-on): Add calloc-posix.
86121         * lib/calloc.c: Include errno.h.
86122         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
86123         and a POSIX-compatible calloc into a single function. Set ENOMEM
86124         when returning NULL.
86125         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
86126         * doc/functions/calloc.texi: Mention the calloc-posix module.
86127         * lib/stdlib_.h (calloc): New declaration.
86128         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
86129         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
86130         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
86131         and HAVE_CALLOC_POSIX.
86133 2007-09-09  Bruno Haible  <bruno@clisp.org>
86135         Allow for modules to show an arbitrary notice.
86136         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
86137         * gnulib-tool: New option --extract-notice.
86138         (func_usage): Document it.
86139         (sed_extract_prog): Update.
86140         (func_get_notice): New function.
86141         (func_modules_notice): New function.
86142         (func_import, func_create_testdir): Invoke it.
86143         Suggested by Jim Meyering.
86145 2007-09-09  Bruno Haible  <bruno@clisp.org>
86147         * gnulib-tool: New options --verbose, --quiet.
86148         (func_usage): Document them.
86149         (verbose): New variable.
86150         (func_execute_command): New function.
86151         (func_import): Don't show the module list and the file list if
86152         $verbose < 0.
86153         (func_create_testdir): Likewise. Use func_execute_command.
86154         (func_create_megatestdir): Use func_execute_command.
86156 2007-09-08  Bruno Haible  <bruno@clisp.org>
86158         * gnulib-tool (func_import): Prefer rsync over wget when available,
86159         for fetching the PO files.
86161 2007-09-08  Bruno Haible  <bruno@clisp.org>
86163         * posix-modules: New file. Portions copied from gnulib-tool.
86164         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
86166 2007-09-08  Jim Meyering  <jim@meyering.net>
86168         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
86169         * lib/fpending.h: Rename from __fpending.h.
86170         * lib/fpending.c: Rename from __fpending.c.
86171         Include "fpending.h", not "__fpending.h".
86172         * lib/__fpending.h, lib/__fpending.c: Remove files.
86173         * modules/fpending (Files): Reflect new file names.
86174         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
86176 2007-09-08  Bruno Haible  <bruno@clisp.org>
86178         * m4/inttypes-h.m4: Remove stub file.
86180 2007-09-07  Simon Josefsson  <simon@josefsson.org>
86182         * doc/headers/stdint.texi: Discuss #include_next issue.
86184 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
86186         * build-aux/bootstrap: Remove obsolete comment about wget --help.
86188 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
86190         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
86191         in variable name.
86193 2007-09-03  Jim Meyering  <jim@meyering.net>
86195         New module: git-version-gen.
86196         * modules/git-version-gen: New file.
86198         Import changes from coreutils for bootstrap script.
86200         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
86202         bootstrap: uses rsync to download the .po files
86203         * build-aux/bootstrap (po_download_command_format): New global.
86204         (download_po_files): Use rsync.
86205         (update_po_files): Don't remove .po files after download,
86206         so future rsync runs can take advantage of the copies.
86208         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
86210         Solve the unnecessary-.po-file-regeneration problem once and for all.
86211         * build-aux/bootstrap (download_po_files): New function, renamed from
86212         get_translations.  Now, downloads, but doesn't update LINGUAS.
86213         (update_po_files): New function.
86215         bootstrap: Ignore more.
86216         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
86217         uniwidth to e.g., lib/.gitignore.
86218         (slurp): Handle the sys_stat_.h -> sys mapping, too.
86220         * build-aux/bootstrap: New setting: vc_ignore.
86221         (insert_sorted_if_absent): Create $file if absent.
86222         Adapt to new, possibly empty, list: $vc_ignore.
86224         bootstrap: generate more ignorable names
86225         * build-aux/bootstrap (slurp): When generating ignorable names,
86226         also map .sin to .sed, .gperf to .c, and .y to .c.
86228 2007-09-03  Jim Meyering  <jim@meyering.net>
86230         * build-aux/git-version-gen: New file, from coreutils.  For details, see
86231         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
86233 2007-09-02  Bruno Haible  <bruno@clisp.org>
86235         Fix mis-recognition of 'mcs' on QNX 6.
86236         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
86237         output contains the string "Mono".
86238         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
86239         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
86241 2007-09-01  Bruno Haible  <bruno@clisp.org>
86243         Fix collision between uniwidth/* and linebreak modules.
86244         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
86245         u32_width): Remove declarations.
86246         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
86247         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
86248         streq3, streq2, streq1, streq0): Remove functions.
86249         (STREQ): Remove macro.
86250         (is_cjk_encoding): Remove function.
86251         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
86252         (uc_width, u8_width, u16_width, u32_width): Remove functions.
86253         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
86254         * NEWS: Document the change.
86256 2007-09-01  Bruno Haible  <bruno@clisp.org>
86258         * lib/streq.h: Add double-inclusion guard.
86260 2007-09-01  Karl Berry  <karl@gnu.org>
86262         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
86264 2007-08-28  Jim Meyering  <jim@meyering.net>
86266         Rename mreadlink_with_size to areadlink_with_size.
86267         * NEWS: Document the change.
86268         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
86269         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
86270         * lib/mreadlink.h: Rename this to...
86271         * lib/areadlink.h: ...this.
86272         * modules/mreadlink-with-size: Rename this to...
86273         * modules/areadlink-with-size: ...this.
86274         * lib/canonicalize.c: Reflect the renaming.
86275         * modules/canonicalize: Likewise.
86277 2007-08-26  Bruno Haible  <bruno@clisp.org>
86279         * gnulib-tool (func_import): When deciding which files to remove,
86280         consider also dangling symbolic links.
86281         Reported by Eric Blake.
86283 2007-08-26  Bruno Haible  <bruno@clisp.org>
86285         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
86287 2007-08-23  Simon Josefsson  <simon@josefsson.org>
86289         * lib/readline.c: Don't include getline.h, the prototype is now
86290         found in stdio.h.
86292 2007-08-23  Jim Meyering  <jim@meyering.net>
86294         Getdelim touchup.
86295         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
86296         around the funlockfile call, since funlockfile never sets errno.
86297         Don't set errno upon failed realloc.
86299 2007-08-22  Eric Blake  <ebb9@byu.net>
86301         Getline touchups.
86302         * lib/getdelim.c (getdelim): Revert regression that required *n to
86303         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
86304         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
86305         getdelim, rather than whether implementation is missing.
86306         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
86307         * lib/stdio_.h (getline): Also declare if replacement is
86308         required.
86309         * doc/functions/getdelim.texi: New file.
86310         * doc/functions/getline.texi: Likewise.
86311         * doc/gnulib.texi (Function Substitutes): Add new files.
86312         Reported by Bruno Haible.
86314 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
86316         * users.txt: Add Guile.
86318 2007-08-22  Eric Blake  <ebb9@byu.net>
86320         * tests/test-getdelim.c (main): Use remove, not unlink.
86321         * tests/test-getline.c (main): Likewise.
86323         Move getline and getdelim into stdio.h, per POSIX 200x.
86324         * modules/getline (Files): Remove getline.h.
86325         (Depends-on): Add stdio.
86326         (configure.ac): Add module indicator.
86327         * modules/getdelim (Files): Remove getdelim.h.
86328         (Depends-on): Add stdio.
86329         (configure.ac): Add module indicator.
86330         * modules/stdio (Makefile.am): Work with new indicators.
86331         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
86332         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
86333         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
86334         * lib/getdelim.h: Delete.
86335         * lib/getline.h: Delete.
86336         * lib/stdio_.h (getdelim, getline): Declare.
86337         * modules/getdelim-tests: New module.
86338         * modules/getline-tests: Likewise.
86339         * tests/test-getdelim.c: New file.
86340         * tests/test-getline.c: Likewise.
86341         * NEWS: Document the change.
86342         * lib/getline.c: Update choice of header.
86343         * lib/csharpcomp.c: Likewise.
86344         * lib/getpass.c: Likewise.
86345         * lib/javacomp.c: Likewise.
86346         * lib/javaversion.c: Likewise.
86347         * lib/yesno.c: Likewise.
86348         * lib/getdelim.c: Likewise.
86349         (getdelim): Set errno on failure, and avoid memory leak.
86351 2007-08-19  Bruno Haible  <bruno@clisp.org>
86353         * modules/closein (Depends-on): Add freadahead.
86354         * lib/closein.c: Include freadahead.h.
86355         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
86356         is zero.
86358 2007-08-19  Bruno Haible  <bruno@clisp.org>
86360         * modules/freadahead-tests: New file.
86361         * tests/test-freadahead.sh: New file.
86362         * tests/test-freadahead.c: New file.
86364         * modules/freadahead: New file.
86365         * lib/freadahead.h: New file.
86366         * lib/freadahead.c: New file.
86367         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
86368         fbufmode, fpurge, freadable, fwritable.
86370 2007-08-19  Eric Blake  <ebb9@byu.net>
86372         Test yesno in combination with closein.
86373         * lib/yesno.c (yesno): Document use of stdin.
86374         * modules/yesno-tests (Files): New module.
86375         * tests/test-yesno.c (main): New file.
86376         * tests/test-yesno.sh: Likewise.
86378 2007-08-19  Bruno Haible  <bruno@clisp.org>
86380         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
86381         * lib/fseeko.c (rpl_fseeko): Likewise.
86382         * lib/fseterr.c (fseterr): Likewise.
86384 2007-08-19  Bruno Haible  <bruno@clisp.org>
86386         * tests/test-lseek.c (main): Disable a test for BeOS.
86387         * doc/functions/lseek.texi: Document the BeOS bug.
86389 2007-08-19  Bruno Haible  <bruno@clisp.org>
86390             Eric Blake  <ebb9@byu.net>
86392         * lib/lseek.c: Include <sys/stat.h>.
86393         (rpl_lseek): Add workaround code also for Unix platforms.
86394         Needed for BeOS.
86395         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
86396         * doc/functions/lseek.texi: Document BeOS definiency.
86398 2007-08-18  Bruno Haible  <bruno@clisp.org>
86400         * modules/fstrcmp-tests: New file.
86401         * tests/test-fstrcmp.c: New file.
86403 2007-08-18  Bruno Haible  <bruno@clisp.org>
86405         * modules/fstrcmp: New file, from GNU gettext with modifications.
86406         * lib/fstrcmp.h: New file, from GNU gettext.
86407         * lib/fstrcmp.c: New file, from GNU gettext.
86408         * MODULES.html.sh (String handling): Add fstrcmp.
86410 2007-08-18  Bruno Haible  <bruno@clisp.org>
86412         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
86413         'bool'.
86414         (diag, compareseq): Remove const from the ctxt argument.
86415         (USE_HEURISTIC): Undefine at the end.
86417 2007-08-18  Jim Meyering  <jim@meyering.net>
86419         New file: lib/idcache.h
86420         * NEWS: Mention the addition.
86421         * modules/idcache (Files): Add lib/idcache.h
86422         * lib/idcache.c: Include "idcache.h".
86423         Don't include <sys/types.h>.
86424         Add a FIXME comment.
86425         Move file-scoped "static" declarations to the top.
86426         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
86428 2007-08-17  Bruno Haible  <bruno@clisp.org>
86429         and Paul Eggert  <eggert@cs.ucla.edu>
86431         * MODULES.html.sh: Add diffseq.
86432         * modules/diffseq: New file.
86433         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
86434         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
86436 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
86438         Import changes from coreutils for bootstrap script.
86440         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
86442         * build-aux/bootstrap (slurp): Work even in environments where
86443         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
86444         current code does not slurp files whose names start with ".", and
86445         this looks like it might be a troublesome area.
86447         2007-07-11  Jim Meyering  <jim@meyering.net>
86449         If there's a GPL vN copyright comment, require that N == 3.
86451         2007-07-08  Jim Meyering  <jim@meyering.net>
86453         Run the coreutils-specific code only if tests/Makefile.am.in exists.
86454         * build-aux/bootstrap (mam_template): Move definition out of loop.
86456         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
86458         * build-aux/bootstrap (symlink_to_dir): Rename function from
86459         symlink_to_gnulib.  Add a directory parameter.  Update all
86460         callers.
86461         (cp_mark_as_generated): Also check for -- and link to -- files in
86462         gl/.
86464         2007-07-08  Jim Meyering  <jim@meyering.net>
86466         Adapt to deeper hierarchy in gnulib.
86467         * build-aux/bootstrap (symlink_to_dir): If the destination
86468         directory doesn't exist, create it. This is required at least for
86469         "lib/uniwidth/cjk.h".
86471         2007-05-15  Jim Meyering  <jim@meyering.net>
86473         * build-aux/bootstrap: Now that generated Makefile.am files
86474         are no longer under version control, they must be created at
86475         bootstrap time.
86477 2007-08-14  Ben Pfaff  <blp@gnu.org>
86479         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
86481 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
86483         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
86484         given the changes below.
86485         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
86486         even on hosts that have padding bits beyond the supported 64.
86488 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
86490         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
86491         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
86492         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
86493         depends on it.
86494         (xstrtol_error): Remove.
86495         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
86496         but with a different signature.
86497         (ATTRIBUTE_NORETURN, __attribute__): New macros.
86498         * lib/xstrtol-error.c: Include exitfail.h.
86499         (xstrtol_fatal): New function, with a different signature from the
86500         old xstrtol_error, so that the caller need not worry about passing
86501         in an exit status, or about storage management of the option argument.
86502         (xstrtol_error): Now a static function.  Redo signature to
86503         implement xstrtol_fatal.  Output the correct number of hyphens in
86504         front of the option so that the caller need not worry about
86505         storage management.
86506         (N_): New macro.
86507         (_): Remove; not used now.
86508         * modules/xstrtol: Depend on getopt.
86509         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
86510         of old STRTOL_FATAL_ERROR macro.
86511         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
86512         of test program.
86513         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
86514         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
86516 2007-08-08  Eric Blake  <ebb9@byu.net>
86518         * lib/xstrtol-error.c: Add missing include.
86520         Move xstrtol messages into gnulib domain, when --pobase is used.
86521         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
86522         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
86523         * modules/xstrtol (Files): Distribute new file.
86524         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
86525         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
86526         * tests/test-xstrtol.c: ...into new file.
86527         * tests/test-xstrtoul.c: Also test xstrtoul.
86528         * tests/test-xstrtoimax.c: Also test xstrtoimax.
86529         * tests/test-xstrtoumax.c: Also test xstrtoumax.
86530         * tests/test-xstrtol.sh: Drive the tests.
86531         * tests/test-xstrtoimax.sh: Likewise.
86532         * tests/test-xstrtoumax.sh: Likewise.
86533         * modules/xstrtol-tests: New module.
86534         * modules/xstrtoimax-tests: Likewise.
86535         * modules/xstrtoumax-tests: Likewise.
86537 2007-08-08  Jim Meyering  <jim@meyering.net>
86539         New function: mfile_name_concat.
86540         * lib/filenamecat.c (mfile_name_concat): New function, just like
86541         file_name_concat, but return NULL upon failure rather than exiting
86542         with a diagnostic.
86543         * lib/filenamecat.h: Declare it.
86545 2007-08-07  Bruno Haible  <bruno@clisp.org>
86547         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
86548         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
86549         warning from gcc.
86550         Reported by Eric Blake.
86552 2007-08-07  Simon Josefsson  <simon@josefsson.org>
86554         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
86555         * modules/crypto/arcfour (License): Likewise.
86556         * modules/crypto/des-tests (License): Likewise.
86557         * modules/crypto/gc-arctwo-tests (License): Likewise.
86558         * modules/crypto/gc-des-tests (License): Likewise.
86559         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
86560         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
86561         * modules/crypto/gc-md2-tests (License): Likewise.
86562         * modules/crypto/gc-md4-tests (License): Likewise.
86563         * modules/crypto/gc-md5-tests (License): Likewise.
86564         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
86565         * modules/crypto/gc-rijndael-tests (License): Likewise.
86566         * modules/crypto/gc-sha1-tests (License): Likewise.
86567         * modules/crypto/gc-tests (License): Likewise.
86568         * modules/crypto/hmac-md5 (License): Likewise.
86569         * modules/crypto/hmac-sha1 (License): Likewise.
86570         * modules/crypto/md2-tests (License): Likewise.
86571         * modules/crypto/md4-tests (License): Likewise.
86572         * modules/crypto/md5 (License): Likewise.
86573         * modules/crypto/rijndael (License): Likewise.
86574         * modules/crypto/sha1 (License): Likewise.
86575         * modules/memxor (License): Likewise.
86577 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
86578         and Bruno Haible  <bruno@clisp.org>
86580         * NEWS: Describe interface changes to human, xstrtol.
86581         * lib/human.h: Include <xstrtol.h>.
86582         (human_options): Return enum strtol_error, not int.  Remove
86583         bool arg; take int * instead.
86584         * lib/human.c: Don't include "gettext.h".
86585         (_): Remove; no longer used.
86586         Don't include <xstrtol.h>, since human.h does it.
86587         (human_options): Adjust to abovementioned interface changes.
86588         Do not report error to stderr; that's now the caller's
86589         responsibility.
86590         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
86591         interface change.
86592         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
86593         Str, Argument_type_string.  All uses changed.  Put " argument"
86594         in diagnostics to make them clearer.  Change wording of suffix
86595         message for clarity.
86596         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
86597         Argument_type_string.
86598         (STRTOL_FATAL_WARN): Remove; no longer used.
86599         * modules/human (Depends-on): Remove gettext-h.
86601 2007-08-06  Simon Josefsson  <simon@josefsson.org>
86603         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
86605 2007-07-31  Bruno Haible  <bruno@clisp.org>
86607         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
86608         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
86609         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
86611 2007-07-31  Bruno Haible  <bruno@clisp.org>
86613         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
86614         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
86616 2007-07-30  Bruno Haible  <bruno@clisp.org>
86618         * modules/base64 (License): Use the synonymous term "LGPLv2+".
86619         * modules/c-ctype (License): Likewise.
86620         * modules/c-strcase (License): Likewise.
86621         * modules/check-version (License): Likewise.
86622         * modules/iconv (License): Likewise.
86623         * modules/iconv_open (License): Likewise.
86624         * modules/read-file (License): Likewise.
86625         * modules/striconv (License): Likewise.
86626         * modules/strverscmp (License): Likewise.
86627         * modules/vasprintf (License): Likewise.
86628         * modules/crypto/des (License): Likewise.
86629         * modules/crypto/gc (License): Likewise.
86630         * modules/crypto/gc-arcfour (License): Likewise.
86631         * modules/crypto/gc-arctwo (License): Likewise.
86632         * modules/crypto/gc-des (License): Likewise.
86633         * modules/crypto/gc-hmac-md5 (License): Likewise.
86634         * modules/crypto/gc-hmac-sha1 (License): Likewise.
86635         * modules/crypto/gc-md2 (License): Likewise.
86636         * modules/crypto/gc-md4 (License): Likewise.
86637         * modules/crypto/gc-md5 (License): Likewise.
86638         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
86639         * modules/crypto/gc-random (License): Likewise.
86640         * modules/crypto/gc-rijndael (License): Likewise.
86641         * modules/crypto/gc-sha1 (License): Likewise.
86642         * modules/crypto/md2 (License): Likewise.
86643         * modules/crypto/md4 (License): Likewise.
86645 2007-07-30  Jim Meyering  <jim@meyering.net>
86647         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
86648         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
86649         it has valid stat data.  This bug would cause du not to count the
86650         sizes of inaccessible directories.
86651         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
86652         in <http://bugzilla.redhat.com/250077>.
86654 2007-07-25  Peter O'Gorman  <peter@pogma.com>
86655             Bruno Haible  <bruno@clisp.org>
86657         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
86658         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
86659         #include_next, gives a diagnostic about it, but reports no error in
86660         the exit code.
86661         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
86663 2007-07-24  Ben Pfaff  <blp@gnu.org>
86665         Improve name: "count-one-bits" is better than "popcount".
86666         * MODULES.html.sh: Update name.
86667         * lib/popcount.h: Renamed lib/count-one-bits.h.
86668         (popcount): Renamed count_one_bits.
86669         (popcountl): Renamed count_one_bits_l.
86670         (popcountll): Renamed count_one_bits_ll.
86671         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
86672         * modules/popcount: Renamed module/count-one-bits.
86673         * modules/popcount-tests: Renamed module/count-one-bits-tests.
86674         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
86676 2007-07-23  Ben Pfaff  <blp@gnu.org>
86678         * lib/popcount.h (popcount32): Reduce size of constants, to allow
86679         better code generation, and add U to large constants to avoid
86680         warnings, in non-GCC case.
86681         Suggested by Bruno Haible.
86683 2007-07-23  Ben Pfaff  <blp@gnu.org>
86685         * lib/popcount.h: Use verify_true instead of if...abort.
86686         * modules/popcount: Depend on verify module.
86687         Suggested by Jim Meyering.
86689 2007-07-23  Bruno Haible  <bruno@clisp.org>
86691         * gnulib-tool (func_import): Create a .cvsignore file also when the
86692         directory is not yet in CVS but the toplevel directory is. When
86693         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
86694         Reported by Karl Berry.
86696 2007-07-22  Ben Pfaff  <blp@gnu.org>
86698         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
86699         case.
86700         Suggested by Eric Blake.
86702 2007-07-22  Ben Pfaff  <blp@gnu.org>
86704         New module: popcount.
86705         * MODULES.html.sh: Add popcount.
86706         * modules/popcount: New file.
86707         * modules/popcount-tests: New file.
86708         * tests/test-popcount.c: New file.
86709         * lib/popcount.h: New file.
86710         * m4/popcount.m4: New file.
86712 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
86714         * build-aux/announce-gen: Update to GPLv3.
86716         * build-aux/config.guess: Update from config.
86718 2007-07-21  Bruno Haible  <bruno@clisp.org>
86720         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
86721         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
86723 2007-07-20  Jim Meyering  <jim@meyering.net>
86725         * check-module: Diagnose a self-dependency.
86727 2007-07-19  Bruno Haible  <bruno@clisp.org>
86729         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
86730         empty.
86731         Reported by Eric Blake.
86733 2007-07-18  Bruno Haible  <bruno@clisp.org>
86735         * gnulib-tool: New options --po-base, --po-domain.
86736         (func_usage): Document them.
86737         (pobase, po_domain): New variables.
86738         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
86739         DEFAULT_TEXT_DOMAIN.
86740         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
86741         (func_import): Consider pobase and po_domain. Create a po/ directory.
86742         (func_create_testdir): Set pobase and po_domain to empty.
86743         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
86744         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
86746 2007-07-18  Bruno Haible  <bruno@clisp.org>
86748         * gnulib-tool (func_get_automake_snippet): Synthesize also an
86749         EXTRA_DIST augmentation for files in build-aux/.
86751 2007-07-16  Bruno Haible  <bruno@clisp.org>
86753         * modules/lseek (License): Use the synonymous term "LGPLv2+".
86754         * modules/getdelim (License): Likewise.
86756 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
86758         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
86759         * modules/d-type (License): Likewise.
86760         * modules/extensions (License): Likewise.
86761         * modules/fnmatch (License): Likewise.
86762         * modules/fseeko (License): Likewise.
86763         * modules/getaddrinfo (License): Likewise.
86764         * modules/getline (License): Likewise.
86765         * modules/getlogin_r (License): Likewise.
86766         * modules/getpass (License): Likewise.
86767         * modules/gettimeofday (License): Likewise.
86768         * modules/glob (License): Likewise.
86769         * modules/inet_ntop (License): Likewise.
86770         * modules/malloc (License): Likewise.
86771         * modules/malloca (License): Likewise.
86772         * modules/memmem (License): Likewise.
86773         * modules/mempcpy (License): Likewise.
86774         * modules/memset (License): Likewise.
86775         * modules/minmax (License): Likewise.
86776         * modules/mktime (License): Likewise.
86777         * modules/netinet_in (License): Likewise.
86778         * modules/pathmax (License): Likewise.
86779         * modules/poll (License): Likewise.
86780         * modules/regex (License): Likewise.
86781         * modules/snprintf (License): Likewise.
86782         * modules/stdbool (License): Likewise.
86783         * modules/stdint (License): Likewise.
86784         * modules/stdio (License): Likewise.
86785         * modules/strcase (License): Likewise.
86786         * modules/strcasestr (License): Likewise.
86787         * modules/strdup (License): Likewise.
86788         * modules/string (License): Likewise.
86789         * modules/strndup (License): Likewise.
86790         * modules/strnlen (License): Likewise.
86791         * modules/strpbrk (License): Likewise.
86792         * modules/strptime (License): Likewise.
86793         * modules/strsep (License): Likewise.
86794         * modules/sys_select (License): Likewise.
86795         * modules/sys_socket (License): Likewise.
86796         * modules/sys_stat (License): Likewise.
86797         * modules/sys_time (License): Likewise.
86798         * modules/time (License): Likewise.
86799         * modules/time_r (License): Likewise.
86800         * modules/timegm (License): Likewise.
86801         * modules/unistd (License): Likewise.
86802         * modules/vsnprintf (License): Likewise.
86803         * modules/wctype (License): Likewise.
86805 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
86807         * modules/argz (License): LGPLv2+.
86809 2007-07-15  Karl Berry  <karl@gnu.org>
86811         * doc/gnulib.texi: revise node structure per new fdl.texi.
86813 2007-07-14  Bruno Haible  <bruno@clisp.org>
86815         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
86816         the output file.
86817         * lib/uniname/uninames.h: Regenerated.
86819 2007-07-14  Karl Berry  <karl@gnu.org>
86821         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
86822         omitting sectioning and index commands.
86824 2007-07-13  Bruno Haible  <bruno@clisp.org>
86826         New gnulib-tool option --more-symlinks.
86827         * gnulib-tool (func_usage): Document --more-symlinks.
86828         (do_copyrights): New variable.
86829         Recognize option --more-symlinks.
86830         (func_import): Don't add a copyright notice transform to
86831         sed_transform_lib_file if do_copyrights is empty.
86833 2007-07-13  Bruno Haible  <bruno@clisp.org>
86835         * lib/vasnprintf.c (decimal_point_char): Define also if
86836         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
86837         && !NEED_PRINTF_DIRECTIVE_A.
86838         Reported by Clemens Koller <clemens.koller@anagramm.de> via
86839         Gary V. Vaughan <gary@gnu.org>.
86841 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
86843         * lib/inttypes_.h: Undo previous change, since it was fixed
86844         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
86846 2007-07-13  Bruno Haible  <bruno@clisp.org>
86848         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
86849         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
86851 2007-07-13  Jim Meyering  <jim@meyering.net>
86853         df: Don't fail for Tru64's "file-on-file mount".
86854         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
86855         so we fall through and use statfs instead.  Details here:
86856         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
86857         Reported by Albert Chin.
86859 2007-07-13  Bruno Haible  <bruno@clisp.org>
86861         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
86862         * modules/configmake (License): Likewise.
86863         * modules/gettext (License): Likewise.
86864         * modules/gettext-h (License): Likewise.
86865         * modules/include_next (License): Likewise.
86866         * modules/link-warning (License): Likewise.
86867         * modules/localcharset (License): Likewise.
86868         * modules/localename (License): Likewise.
86869         * modules/lock (License): Likewise.
86870         * modules/relocatable-lib-lgpl (License): Likewise.
86871         * modules/size_max (License): Likewise.
86872         * modules/vasnprintf (License): Likewise.
86873         * modules/wchar (License): Likewise.
86874         * modules/xsize (License): Likewise.
86876 2007-07-13  Bruno Haible  <bruno@clisp.org>
86878         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
86879         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
86881 2007-07-12  Bruno Haible  <bruno@clisp.org>
86883         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
86884         in the modules files.
86886 2007-07-11  Karl Berry  <karl@gnu.org>
86888         * MODULES.html.sh (func_module): use
86889          sed -e '\|^'"${includefile}"'$|d'
86890          instead of /.../d, to avoid errors on $includefile's containing /.
86892 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
86894         * gnulib-tool (func_import): Avoid duplication of --avoid
86895         statements
86896         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
86897         names to `_' in variable names.
86899 2007-07-10  Eric Blake  <ebb9@byu.net>
86901         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
86902         * NEWS: Document this change.
86904 2007-07-08  Bruno Haible  <bruno@clisp.org>
86906         Update to Unicode 5.0.
86907         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
86908         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
86909         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
86910         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
86911         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
86912         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
86913         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
86914         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
86915         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
86916         U+10A3F, U+1D242..U+1D244.
86917         (nonspacing_table_ind): Update.
86918         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
86919         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
86921 2007-07-08  Bruno Haible  <bruno@clisp.org>
86923         Update to Unicode 5.0.
86924         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
86925         code transform. Extend the name index field of unicode_name_to_code and
86926         unicode_code_to_name from 16 to 24 bits.
86927         * lib/uniname/uniname.c (unicode_character_name,
86928         unicode_name_character): Add the range 0x12xxx to the code transform.
86929         * lib/uniname/uninames.h: Regenerated.
86930         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
86932 2007-07-07  Bruno Haible  <bruno@clisp.org>
86934         * modules/wcwidth-tests: New file.
86935         * tests/test-wcwidth.c: New file.
86937         Work around MacOS X wcwidth() bug.
86938         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
86939         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
86940         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
86941         original wcwidth in non-UTF-8 locales.
86942         * modules/wcwidth (Depends-on): Add localcharset, streq,
86943         uniwidth/width.
86944         * doc/functions/wcwidth.texi: Update.
86946 2007-07-07  Bruno Haible  <bruno@clisp.org>
86948         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
86949         (wcwidth): New declaration.
86950         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
86951         macros.
86952         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
86953         here. Prepare for creating <wchar.h> unconditionally.
86954         * modules/wchar (Depends-on): Add link-warning.
86955         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
86956         REPLACE_WCWIDTH, and GL_LINK_WARNING.
86957         * lib/wcwidth.h: Remove file.
86958         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
86959         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
86960         * modules/wcwidth (Files): Remove lib/wcwidth.h.
86961         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
86962         (Include): Replace wcwidth.h with <wchar.h>.
86963         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
86964         * lib/mbchar.h: Don't include wcwidth.h.
86965         * lib/mbswidth.c: Likewise.
86966         * NEWS: Mention the change.
86968 2007-07-07  Bruno Haible  <bruno@clisp.org>
86970         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
86971         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
86972         definition with an external declaration.
86973         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
86974         defined as a function. Remove AC_C_INLINE requirement.
86975         * modules/wcwidth (Files): Add lib/wcwidth.c.
86976         (Makefile.am): Remove redundant statement.
86978 2007-07-07  Bruno Haible  <bruno@clisp.org>
86980         * MODULES.html.sh (Unicode string functions): Add the new modules.
86982         * tests/uniwidth/test-u32-strwidth.c: New file.
86983         * modules/uniwidth/u32-strwidth-tests: New file.
86985         * lib/uniwidth/u32-strwidth.c: New file.
86986         * modules/uniwidth/u32-strwidth: New file.
86988         * tests/uniwidth/test-u16-strwidth.c: New file.
86989         * modules/uniwidth/u16-strwidth-tests: New file.
86991         * lib/uniwidth/u16-strwidth.c: New file.
86992         * modules/uniwidth/u16-strwidth: New file.
86994         * tests/uniwidth/test-u8-strwidth.c: New file.
86995         * modules/uniwidth/u8-strwidth-tests: New file.
86997         * lib/uniwidth/u8-strwidth.c: New file.
86998         * modules/uniwidth/u8-strwidth: New file.
87000         * tests/uniwidth/test-u32-width.c: New file.
87001         * modules/uniwidth/u32-width-tests: New file.
87003         * lib/uniwidth/u32-width.c: New file.
87004         * modules/uniwidth/u32-width: New file.
87006         * tests/uniwidth/test-u16-width.c: New file.
87007         * modules/uniwidth/u16-width-tests: New file.
87009         * lib/uniwidth/u16-width.c: New file.
87010         * modules/uniwidth/u16-width: New file.
87012         * tests/uniwidth/test-u8-width.c: New file.
87013         * modules/uniwidth/u8-width-tests: New file.
87015         * lib/uniwidth/u8-width.c: New file.
87016         * modules/uniwidth/u8-width: New file.
87018         * tests/uniwidth/test-uc_width.c: New file.
87019         * modules/uniwidth/width-tests: New file.
87021         * lib/uniwidth/width.c: New file, from GNU libiconv.
87022         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
87023         * modules/uniwidth/width: New file.
87025         * lib/uniwidth.h: New file, from GNU libiconv.
87026         * modules/uniwidth/base: New file.
87028 2007-07-07  Bruno Haible  <bruno@clisp.org>
87030         * lib/uniname.h: New file, from GNU gettext.
87031         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
87032         * lib/uniname/uninames.h: New file, from GNU gettext.
87033         * lib/uniname/uniname.c: New file, from GNU gettext.
87034         * tests/uniname/test-uninames.sh: New file.
87035         * tests/uniname/test-uninames.c: New file, from GNU gettext.
87036         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
87037         * modules/uniname/base: New file.
87038         * modules/uniname/uniname: New file.
87039         * modules/uniname/uniname-tests: New file.
87040         * MODULES.html.sh (Unicode string functions): Add the new modules.
87042 2007-07-06  Bruno Haible  <bruno@clisp.org>
87044         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
87046 2007-07-06  Bruno Haible  <bruno@clisp.org>
87048         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
87049         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
87050         includes <cygwin/sys_time.h> which includes <sys/select.h> which
87051         include <sys/time.h>.
87052         Reported by Eric Blake.
87054 2007-07-06  Eric Blake  <ebb9@byu.net>
87056         Fix testing canonicalize on cygwin.
87057         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
87058         Revert patch from 2007-06-19.
87059         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
87060         canonicalize module is also in use.
87061         * tests/test-canonicalize.c: New file.
87062         * tests/test-canonicalize.sh: Likewise.
87063         * modules/canonicalize-tests: Likewise.
87065 2007-07-06  Jim Meyering  <jim@meyering.net>
87067         * lib/getugroups.c (getugroups): Detect getgrent failure.
87068         Adjust comment to reflect reality: this function may return -1.
87070 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
87072         * build-aux/bootstrap (TP_URL,get_translations): Update to use
87073         the new TP address.
87074         (usage): Fix typo
87075         (gnulib_mk): New variable.
87077 2007-07-05  Jim Meyering  <jim@meyering.net>
87079         Don't let endgrent clobber errno, no matter how improbable.
87080         * lib/getugroups.c (getugroups): Save and restore errno around
87081         endgrent call.
87083         Close the group DB even when failing with 2^31 or more members.
87084         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
87086 2007-07-04  Jim Meyering  <jim@meyering.net>
87088         * lib/getugroups.h: New file.
87089         * lib/getugroups.c: Include "getugroups.h".
87090         Remove uses of "register" keyword.
87091         Move local variable, "cp", down into scope where used.
87092         Give "username" parameter the "const" attribute.
87093         * modules/getugroups (Files): Add lib/getugroups.h
87095 2007-07-04  Karl Berry  <karl@gnu.org>
87097         * MODULES.html.sh (func_all_modules): Complete rename of
87098         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
87100 2007-07-02  Bruno Haible  <bruno@clisp.org>
87102         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
87103         mode, when inttypes.h comes from gnulib.
87104         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
87106 2007-07-02  Simon Josefsson  <simon@josefsson.org>
87108         * NEWS: Mention lgpl module name change.
87110         * modules/lgpl-2.1: Renamed from lgpl.
87112         * NEWS: Mention gpl module name change.
87114         * modules/gpl-3.0: New file, based on gpl-2.0.
87116         * modules/gpl-2.0: Renamed from gpl.
87118         * modules/gpl: Fix filename, doc/gpl.texi is now found at
87119         doc/gpl-2.0.texi.
87121 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
87123         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
87124         #define __STDC_LIMIT_MACROS temporarily while including
87125         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
87126         Problem reported by Joel E. Denny in
87127         <http://lists.gnu.org/r/bug-gnulib/2007-07/msg00008.html>.
87129 2007-07-01  Bruno Haible  <bruno@clisp.org>
87131         * lib/unistdio.h: New file.
87132         * lib/unistdio/u-asnprintf.h: New file.
87133         * lib/unistdio/u-asprintf.h: New file.
87134         * lib/unistdio/u-printf-args.c: New file.
87135         * lib/unistdio/u-printf-args.h: New file.
87136         * lib/unistdio/u-printf-parse.h: New file.
87137         * lib/unistdio/u-snprintf.h: New file.
87138         * lib/unistdio/u-sprintf.h: New file.
87139         * lib/unistdio/u-vasprintf.h: New file.
87140         * lib/unistdio/u-vsnprintf.h: New file.
87141         * lib/unistdio/u-vsprintf.h: New file.
87142         * lib/unistdio/ulc-asnprintf.c: New file.
87143         * lib/unistdio/ulc-asprintf.c: New file.
87144         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
87145         * lib/unistdio/ulc-printf-parse.c: New file.
87146         * lib/unistdio/ulc-snprintf.c: New file.
87147         * lib/unistdio/ulc-sprintf.c: New file.
87148         * lib/unistdio/ulc-vasnprintf.c: New file.
87149         * lib/unistdio/ulc-vasprintf.c: New file.
87150         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
87151         * lib/unistdio/ulc-vsnprintf.c: New file.
87152         * lib/unistdio/ulc-vsprintf.c: New file.
87153         * lib/unistdio/u8-asnprintf.c: New file.
87154         * lib/unistdio/u8-asprintf.c: New file.
87155         * lib/unistdio/u8-printf-parse.c: New file.
87156         * lib/unistdio/u8-snprintf.c: New file.
87157         * lib/unistdio/u8-sprintf.c: New file.
87158         * lib/unistdio/u8-vasnprintf.c: New file.
87159         * lib/unistdio/u8-vasprintf.c: New file.
87160         * lib/unistdio/u8-vsnprintf.c: New file.
87161         * lib/unistdio/u8-vsprintf.c: New file.
87162         * lib/unistdio/u8-u8-asnprintf.c: New file.
87163         * lib/unistdio/u8-u8-asprintf.c: New file.
87164         * lib/unistdio/u8-u8-snprintf.c: New file.
87165         * lib/unistdio/u8-u8-sprintf.c: New file.
87166         * lib/unistdio/u8-u8-vasnprintf.c: New file.
87167         * lib/unistdio/u8-u8-vasprintf.c: New file.
87168         * lib/unistdio/u8-u8-vsnprintf.c: New file.
87169         * lib/unistdio/u8-u8-vsprintf.c: New file.
87170         * lib/unistdio/u16-asnprintf.c: New file.
87171         * lib/unistdio/u16-asprintf.c: New file.
87172         * lib/unistdio/u16-printf-parse.c: New file.
87173         * lib/unistdio/u16-snprintf.c: New file.
87174         * lib/unistdio/u16-sprintf.c: New file.
87175         * lib/unistdio/u16-vasnprintf.c: New file.
87176         * lib/unistdio/u16-vasprintf.c: New file.
87177         * lib/unistdio/u16-vsnprintf.c: New file.
87178         * lib/unistdio/u16-vsprintf.c: New file.
87179         * lib/unistdio/u16-u16-asnprintf.c: New file.
87180         * lib/unistdio/u16-u16-asprintf.c: New file.
87181         * lib/unistdio/u16-u16-snprintf.c: New file.
87182         * lib/unistdio/u16-u16-sprintf.c: New file.
87183         * lib/unistdio/u16-u16-vasnprintf.c: New file.
87184         * lib/unistdio/u16-u16-vasprintf.c: New file.
87185         * lib/unistdio/u16-u16-vsnprintf.c: New file.
87186         * lib/unistdio/u16-u16-vsprintf.c: New file.
87187         * lib/unistdio/u32-asnprintf.c: New file.
87188         * lib/unistdio/u32-asprintf.c: New file.
87189         * lib/unistdio/u32-printf-parse.c: New file.
87190         * lib/unistdio/u32-snprintf.c: New file.
87191         * lib/unistdio/u32-sprintf.c: New file.
87192         * lib/unistdio/u32-vasnprintf.c: New file.
87193         * lib/unistdio/u32-vasprintf.c: New file.
87194         * lib/unistdio/u32-vsnprintf.c: New file.
87195         * lib/unistdio/u32-vsprintf.c: New file.
87196         * lib/unistdio/u32-u32-asnprintf.c: New file.
87197         * lib/unistdio/u32-u32-asprintf.c: New file.
87198         * lib/unistdio/u32-u32-snprintf.c: New file.
87199         * lib/unistdio/u32-u32-sprintf.c: New file.
87200         * lib/unistdio/u32-u32-vasnprintf.c: New file.
87201         * lib/unistdio/u32-u32-vasprintf.c: New file.
87202         * lib/unistdio/u32-u32-vsnprintf.c: New file.
87203         * lib/unistdio/u32-u32-vsprintf.c: New file.
87204         * tests/unistdio/test-ulc-asnprintf1.c: New file.
87205         * tests/unistdio/test-ulc-asnprintf1.h: New file.
87206         * tests/unistdio/test-ulc-printf1.h: New file.
87207         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
87208         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
87209         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
87210         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
87211         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
87212         * tests/unistdio/test-ulc-vasprintf1.c: New file.
87213         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
87214         * tests/unistdio/test-ulc-vsprintf1.c: New file.
87215         * tests/unistdio/test-u8-asnprintf1.c: New file.
87216         * tests/unistdio/test-u8-asnprintf1.h: New file.
87217         * tests/unistdio/test-u8-printf1.h: New file.
87218         * tests/unistdio/test-u8-vasnprintf1.c: New file.
87219         * tests/unistdio/test-u8-vasnprintf2.c: New file.
87220         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
87221         * tests/unistdio/test-u8-vasnprintf3.c: New file.
87222         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
87223         * tests/unistdio/test-u8-vasprintf1.c: New file.
87224         * tests/unistdio/test-u8-vsnprintf1.c: New file.
87225         * tests/unistdio/test-u8-vsprintf1.c: New file.
87226         * tests/unistdio/test-u16-asnprintf1.c: New file.
87227         * tests/unistdio/test-u16-asnprintf1.h: New file.
87228         * tests/unistdio/test-u16-printf1.h: New file.
87229         * tests/unistdio/test-u16-vasnprintf1.c: New file.
87230         * tests/unistdio/test-u16-vasnprintf2.c: New file.
87231         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
87232         * tests/unistdio/test-u16-vasnprintf3.c: New file.
87233         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
87234         * tests/unistdio/test-u16-vasprintf1.c: New file.
87235         * tests/unistdio/test-u16-vsnprintf1.c: New file.
87236         * tests/unistdio/test-u16-vsprintf1.c: New file.
87237         * tests/unistdio/test-u32-asnprintf1.c: New file.
87238         * tests/unistdio/test-u32-asnprintf1.h: New file.
87239         * tests/unistdio/test-u32-printf1.h: New file.
87240         * tests/unistdio/test-u32-vasnprintf1.c: New file.
87241         * tests/unistdio/test-u32-vasnprintf2.c: New file.
87242         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
87243         * tests/unistdio/test-u32-vasnprintf3.c: New file.
87244         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
87245         * tests/unistdio/test-u32-vasprintf1.c: New file.
87246         * tests/unistdio/test-u32-vsnprintf1.c: New file.
87247         * tests/unistdio/test-u32-vsprintf1.c: New file.
87248         * modules/unistdio/base: New file.
87249         * modules/unistdio/u-printf-args: New file.
87250         * modules/unistdio/ulc-asnprintf: New file.
87251         * modules/unistdio/ulc-asprintf: New file.
87252         * modules/unistdio/ulc-fprintf: New file.
87253         * modules/unistdio/ulc-printf-parse: New file.
87254         * modules/unistdio/ulc-snprintf: New file.
87255         * modules/unistdio/ulc-sprintf: New file.
87256         * modules/unistdio/ulc-vasnprintf: New file.
87257         * modules/unistdio/ulc-vasprintf: New file.
87258         * modules/unistdio/ulc-vfprintf: New file.
87259         * modules/unistdio/ulc-vsnprintf: New file.
87260         * modules/unistdio/ulc-vsprintf: New file.
87261         * modules/unistdio/u8-asnprintf: New file.
87262         * modules/unistdio/u8-asprintf: New file.
87263         * modules/unistdio/u8-printf-parse: New file.
87264         * modules/unistdio/u8-snprintf: New file.
87265         * modules/unistdio/u8-sprintf: New file.
87266         * modules/unistdio/u8-vasnprintf: New file.
87267         * modules/unistdio/u8-vasprintf: New file.
87268         * modules/unistdio/u8-vsnprintf: New file.
87269         * modules/unistdio/u8-vsprintf: New file.
87270         * modules/unistdio/u8-u8-asnprintf: New file.
87271         * modules/unistdio/u8-u8-asprintf: New file.
87272         * modules/unistdio/u8-u8-snprintf: New file.
87273         * modules/unistdio/u8-u8-sprintf: New file.
87274         * modules/unistdio/u8-u8-vasnprintf: New file.
87275         * modules/unistdio/u8-u8-vasprintf: New file.
87276         * modules/unistdio/u8-u8-vsnprintf: New file.
87277         * modules/unistdio/u8-u8-vsprintf: New file.
87278         * modules/unistdio/u16-asnprintf: New file.
87279         * modules/unistdio/u16-asprintf: New file.
87280         * modules/unistdio/u16-printf-parse: New file.
87281         * modules/unistdio/u16-snprintf: New file.
87282         * modules/unistdio/u16-sprintf: New file.
87283         * modules/unistdio/u16-vasnprintf: New file.
87284         * modules/unistdio/u16-vasprintf: New file.
87285         * modules/unistdio/u16-vsnprintf: New file.
87286         * modules/unistdio/u16-vsprintf: New file.
87287         * modules/unistdio/u16-u16-asnprintf: New file.
87288         * modules/unistdio/u16-u16-asprintf: New file.
87289         * modules/unistdio/u16-u16-snprintf: New file.
87290         * modules/unistdio/u16-u16-sprintf: New file.
87291         * modules/unistdio/u16-u16-vasnprintf: New file.
87292         * modules/unistdio/u16-u16-vasprintf: New file.
87293         * modules/unistdio/u16-u16-vsnprintf: New file.
87294         * modules/unistdio/u16-u16-vsprintf: New file.
87295         * modules/unistdio/u32-asnprintf: New file.
87296         * modules/unistdio/u32-asprintf: New file.
87297         * modules/unistdio/u32-printf-parse: New file.
87298         * modules/unistdio/u32-snprintf: New file.
87299         * modules/unistdio/u32-sprintf: New file.
87300         * modules/unistdio/u32-vasnprintf: New file.
87301         * modules/unistdio/u32-vasprintf: New file.
87302         * modules/unistdio/u32-vsnprintf: New file.
87303         * modules/unistdio/u32-vsprintf: New file.
87304         * modules/unistdio/u32-u32-asnprintf: New file.
87305         * modules/unistdio/u32-u32-asprintf: New file.
87306         * modules/unistdio/u32-u32-snprintf: New file.
87307         * modules/unistdio/u32-u32-sprintf: New file.
87308         * modules/unistdio/u32-u32-vasnprintf: New file.
87309         * modules/unistdio/u32-u32-vasprintf: New file.
87310         * modules/unistdio/u32-u32-vsnprintf: New file.
87311         * modules/unistdio/u32-u32-vsprintf: New file.
87312         * modules/unistdio/ulc-asnprintf-tests: New file.
87313         * modules/unistdio/ulc-vasnprintf-tests: New file.
87314         * modules/unistdio/ulc-vasprintf-tests: New file.
87315         * modules/unistdio/ulc-vsnprintf-tests: New file.
87316         * modules/unistdio/ulc-vsprintf-tests: New file.
87317         * modules/unistdio/u8-asnprintf-tests: New file.
87318         * modules/unistdio/u8-vasnprintf-tests: New file.
87319         * modules/unistdio/u8-vasprintf-tests: New file.
87320         * modules/unistdio/u8-vsnprintf-tests: New file.
87321         * modules/unistdio/u8-vsprintf-tests: New file.
87322         * modules/unistdio/u16-asnprintf-tests: New file.
87323         * modules/unistdio/u16-vasnprintf-tests: New file.
87324         * modules/unistdio/u16-vasprintf-tests: New file.
87325         * modules/unistdio/u16-vsnprintf-tests: New file.
87326         * modules/unistdio/u16-vsprintf-tests: New file.
87327         * modules/unistdio/u32-asnprintf-tests: New file.
87328         * modules/unistdio/u32-vasnprintf-tests: New file.
87329         * modules/unistdio/u32-vasprintf-tests: New file.
87330         * modules/unistdio/u32-vsnprintf-tests: New file.
87331         * modules/unistdio/u32-vsprintf-tests: New file.
87332         * MODULES.html.sh (Unicode string functions): Add the new modules.
87334 2007-07-01  Bruno Haible  <bruno@clisp.org>
87336         * lib/sprintf.c (sprintf): Limit the available length estimation,
87337         to avoid address wraparound.
87338         * lib/vsprintf.c (vsprintf): Likewise.
87339         * modules/sprintf-posix (Dependencies): Add stdint.
87340         * modules/vsprintf-posix (Dependencies): Likewise.
87342 2007-07-01  Bruno Haible  <bruno@clisp.org>
87344         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
87345         Windows PATH as well. Conservative double-quoting. Comments.
87347 2007-07-01  Bruno Haible  <bruno@clisp.org>
87348             Eric Blake  <ebb9@byu.net>
87349             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
87351         * gnulib-tool (self_abspathname): Fix algorithm to cope with
87352         empty components in $PATH, denoting '.'.
87354 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
87356         * gnulib-tool: Fix indentation.
87357         (func_create_megatestdir): Likewise.
87358         Report by Bruno Haible.
87360 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
87362         Sync from Automake.
87363         * build-aux/gnupload: Fix shell portability issues with for loops.
87364         Report by Karl Berry.
87366 2007-06-29  Simon Josefsson  <simon@josefsson.org>
87368         * build-aux/maint.mk (POURL): Use translationproject.org.
87370 2007-06-27  Simon Josefsson  <simon@josefsson.org>
87371             Bruno Haible  <bruno@clisp.org>
87373         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
87374         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
87375         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
87376         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
87377         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
87379 2007-06-27  Bruno Haible  <bruno@clisp.org>
87381         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
87382         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
87384 2007-06-26  Karl Berry  <karl@gnu.org>
87386         * MODULES.html.sh: remove xreadlink-with-size.
87388 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
87390         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
87391         method that I hope also handles the double-include problem noted
87392         by Bruno Haible in
87393         <http://lists.gnu.org/r/bug-gnulib/2007-05/msg00186.html>.
87395 2007-06-23  Bruno Haible  <bruno@clisp.org>
87397         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
87398         Don't let the 'mostlyclean' target fail if the last subdirectory could
87399         not be removed.
87400         Reported by Karl Berry.
87402 2007-06-23  Bruno Haible  <bruno@clisp.org>
87404         * gnulib-tool (echo): Add a speedier workaround for ksh.
87405         * tests/test-echo.sh: Likewise.
87407 2007-06-23  Bruno Haible  <bruno@clisp.org>
87409         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
87410         * tests/test-echo.sh: Likewise.
87412 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
87414         * gnulib-tool (IFS): Initialize early, so we don't set it to
87415         empty later.
87416         (self_abspathname): Rewrite algorithm to set it, reindent.
87417         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
87418         (func_create_megatestdir): Merge some sed scripts.
87420 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
87422         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
87423         exposed by Sun Studio 11 cc on Solaris 8.
87425 2007-06-22  Bruno Haible  <bruno@clisp.org>
87427         * gnulib-tool (echo): Ensure the echo primitive does not interpret
87428         backslashes.
87429         * tests/test-echo.sh: New file.
87431 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
87433         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
87434         simplify `sed_replace_build_aux' scripts, they are portable but
87435         echoing them with `echo' is not.
87436         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
87438 2007-06-21  Karl Berry  <karl@gnu.org>
87440         * config/srclist.txt: guess we can't handle the licenses via
87441         srclist at the moment.
87443 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
87445         * MODULES.html.sh: Add include_next.
87446         * modules/include_next: New file.
87448 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
87450         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
87451         INCLUDE_NEXT.
87452         (gl_CHECK_NEXT_HEADERS): New macro.
87453         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
87454         the obsolescent gl_ABSOLUTE_HEADER.
87455         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
87456         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
87457         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
87458         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
87459         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
87460         * m4/math_h.m4 (gl_MATH_H): Likewise.
87461         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
87462         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
87463         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
87464         * m4/stdint.m4 (gl_STDINT_H): Likewise.
87465         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
87466         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
87467         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
87468         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
87469         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
87470         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
87471         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
87472         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
87473         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
87474         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
87475         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
87476         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
87477         * m4/inttypes.m4 (gl_INTTYPES_H): Define
87478         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
87479         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
87480         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
87481         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
87482         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
87483         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
87484         * lib/float_.h: Likewise.
87485         * lib/inttypes_.h: Likewise.
87486         * lib/math_.h: Likewise.
87487         * lib/search_.h: Likewise.
87488         * lib/signal_.h: Likewise.
87489         * lib/stdint_.h: Likewise.
87490         * lib/stdio_.h: Likewise.
87491         * lib/stdlib_.h: Likewise.
87492         * lib/string_.h: Likewise.
87493         * lib/sys_stat_.h: Likewise.
87494         * lib/sys_time_.h: Likewise.
87495         * lib/time_.h: Likewise.
87496         * lib/unistd_.h: Likewise.
87497         * lib/wchar_.h: Likewise.
87498         * lib/wctype_.h: Likewise.
87499         * lib/dirent_.h: Likewise.
87500         * lib/iconv_.h: Likewise.
87501         * lib/locale_.h: Likewise.
87502         * lib/netinet_in_.h: Likewise.
87503         * lib/sys_select_.h: Likewise.
87504         * lib/sys_socket_.h: Likewise.
87505         * lib/sysexits_.h: Likewise.
87506         * modules/fcntl (Depends-on): Depend on include_next, not
87507         absolute_header.
87508         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
87509         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
87510         * modules/fchdir: Likewise.
87511         * modules/float: Likewise.
87512         * modules/iconv_open: Likewise.
87513         * modules/inttypes: Likewise.
87514         * modules/locale: Likewise.
87515         * modules/math: Likewise.
87516         * modules/netinet_in: Likewise.
87517         * modules/search: Likewise.
87518         * modules/signal: Likewise.
87519         * modules/stdint: Likewise.
87520         * modules/stdio: Likewise.
87521         * modules/stdlib: Likewise.
87522         * modules/string: Likewise.
87523         * modules/sys_select: Likewise.
87524         * modules/sys_socket: Likewise.
87525         * modules/sys_stat: Likewise.
87526         * modules/sys_time: Likewise.
87527         * modules/sysexits: Likewise.
87528         * modules/time: Likewise.
87529         * modules/unistd: Likewise.
87530         * modules/wchar: Likewise.
87531         * modules/wctype: Likewise.
87532         * modules/sys_stat: Change maintainer to "all".
87533         * modules/unistd: Likewise.
87535 2007-06-20  Karl Berry  <karl@gnu.org>
87537         * config/srclist.txt: track www changes in license files.
87539 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
87541         * build-aux/bootstrap: Remove stray dot.
87542         Make sure build_aux settings are honored when linking
87543         gnulib_extra_files.
87545 2007-06-19  Eric Blake  <ebb9@byu.net>
87547         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
87548         Allow compilation on cygwin.
87550 2007-06-19  Jim Meyering  <jim@meyering.net>
87552         xreadlink-with-size: Remove module.  No longer used.
87553         Ex-callers now use xreadlink or mreadlink-with-size.
87554         * modules/xreadlink-with-size: Remove module.
87555         * lib/xreadlink-with-size.c: Remove file.
87556         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
87557         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
87558         just before the function definition *is* accurate.
87560         Eliminate one way canonicalize_filename_mode could exit.
87561         * lib/canonicalize.c (canonicalize_filename_mode):
87562         Use mreadlink_with_size, not xreadlink_with_size.
87564 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
87566         Detect porting problems to FreeBSD/arm, which has time_t wider than
87567         long int.  Original problem reported for GNU diff by Xin Li in
87568         <http://lists.gnu.org/r/bug-gnu-utils/2007-06/msg00091.html>.
87569         * modules/getdate (Depends-on): Add intprops, verify.
87570         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
87571         is an integer type no wider than long int.
87573 2007-06-18  Jim Meyering  <jim@meyering.net>
87575         New module: mreadlink-with-size.
87576         * MODULES.html.sh: Add mreadlink-with-size.
87577         * modules/mreadlink-with-size: New module
87578         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
87579         not xreadlink-with-size.
87580         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
87582 2007-06-16  Bruno Haible  <bruno@clisp.org>
87584         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
87585         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
87586         Reported by Gary V. Vaughan <gary@gnu.org>.
87588 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
87590         Revamp lchown so that it lives in unistd.h where it belongs.
87591         * lib/lchown.h: Remove.
87592         * lib/dirchownmod.c: Don't include lib/lchown.h.
87593         * lib/fchownat.c: Likewise.
87594         * lib/openat.c: Likewise.
87595         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
87596         does not follow symlinks.
87597         (EOPNOTSUPP): Define if not defined.
87598         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
87599         is defined to 0.
87600         (lchown): New decl.
87601         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
87602         Do not check for lchown decl.
87603         Set REPLACE_LCHOWN.
87604         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
87605         REPLACE_LCHOWN.
87606         * modules/chown: Make it clear it follows symlinks.
87607         * modules/lchown: Make it clear it doesn't follow symlinks.
87608         (Files): Remove lib/lchown.h
87609         (Depends-on): Add unistd.
87610         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
87611         (Include): Include <unistd.h>, not "lchown.h".
87612         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
87613         REPLACE_LCHOWN.
87615 2007-06-15  Jim Meyering  <jim@meyering.net>
87617         Change license (GPL to LGPL) of fsusage and dependents.
87618         * modules/fsusage (License): Change to LGPL.
87619         * modules/full-read (License): Likewise.
87620         * modules/full-write (License): Likewise.
87621         * modules/safe-read (License): Likewise.
87622         * modules/safe-write (License): Likewise.
87624 2007-06-14  Ben Pfaff  <blp@gnu.org>
87626         Missing part of allocsa -> malloca transition.
87627         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
87628         gl_MALLOCA.
87630 2007-06-12  Bruno Haible  <bruno@clisp.org>
87632         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
87633         to ia64, x86_64, i386.
87634         Reported by Eric Blake.
87636 2007-06-12  Bruno Haible  <bruno@clisp.org>
87638         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
87639         cross-compiling to x86_64.
87641 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
87643         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
87644         glitch reported by Ralf Wildenhues in
87645         <http://lists.gnu.org/r/bug-gnulib/2007-06/msg00114.html>.
87647         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
87648         Vin Shelton.
87650 2007-06-11  Bruno Haible  <bruno@clisp.org>
87652         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
87653         replacement string.
87654         Reported by Eric Blake.
87656 2007-06-10  Bruno Haible  <bruno@clisp.org>
87658         Prepare vasnprintf code for use with Unicode strings.
87659         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
87660         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
87661         TYPE_U32_STRING.
87662         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
87663         a_u32_string variants.
87664         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
87665         * lib/printf-args.c: Don't include config.h and the specification
87666         header if PRINTF_FETCHARGS is already defined.
87667         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
87668         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
87669         TYPE_U16_STRING, TYPE_U32_STRING.
87670         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
87671         u16_directive, u16_directives, u32_directive, u32_directives): New
87672         types.
87673         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
87674         New declarations.
87675         * lib/printf-parse.c: Don't include config.h and the specification
87676         header if PRINTF_PARSE is already defined. Eliminate the set of
87677         parameters for WIDE_CHAR_VERSION; the user of this file must provide
87678         them now. Include c-ctype.h.
87679         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
87680         directive and CHAR_T_ONLY_ASCII.
87681         * lib/vasnprintf.c: Don't include config.h and the specification header
87682         if VASNPRINTF is already defined.
87683         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
87684         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
87685         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
87686         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
87687         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
87688         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
87689         code accordingly.
87690         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
87691         pad_ourselves also in this case, with the 'c' and 's' directives, and
87692         with a different notion of "width".
87693         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
87695 2007-06-10  Bruno Haible  <bruno@clisp.org>
87697         * modules/unistr/u32-mbsnlen: New file.
87698         * lib/unistr/u32-mbsnlen.c: New file.
87700         * modules/unistr/u16-mbsnlen: New file.
87701         * lib/unistr/u16-mbsnlen.c: New file.
87703         * modules/unistr/u8-mbsnlen: New file.
87704         * lib/unistr/u8-mbsnlen.c: New file.
87706         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
87707         declarations.
87709 2007-06-10  Bruno Haible  <bruno@clisp.org>
87711         * lib/string_.h (mbsnlen): New declaration.
87712         * lib/mbsnlen.c: New file.
87713         * m4/mbsnlen.m4: New file.
87714         * modules/mbsnlen: New file.
87715         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
87716         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
87717         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
87719 2007-06-10  Bruno Haible  <bruno@clisp.org>
87721         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
87723 2007-06-10  Bruno Haible  <bruno@clisp.org>
87725         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
87726         * lib/mbuiter.h: Likewise.
87728 2007-06-10  Bruno Haible  <bruno@clisp.org>
87730         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
87731         declaration.
87733 2007-06-10  Karl Berry  <karl@gnu.org>
87735         * config/srclist.txt: remove gettext entries, Bruno prefers
87736         to update individually.
87738 2007-06-10  Bruno Haible  <bruno@clisp.org>
87740         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
87741         'maxlen'. Ensure only length + width bytes are allocated, not
87742         length + 1 + width.
87744 2007-06-09  Bruno Haible  <bruno@clisp.org>
87746         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
87747         (CHAR_T): Remove macro.
87748         (VASNPRINTF): Update.
87750 2007-06-09  Bruno Haible  <bruno@clisp.org>
87752         * MODULES.html.sh (Unicode string functions): Add the new modules.
87754         * modules/uniconv/u32-conv-to-enc: New file.
87755         * lib/uniconv/u32-conv-to-enc.c: New file.
87756         * modules/uniconv/u32-conv-to-enc-tests: New file.
87757         * tests/uniconv/test-u32-conv-to-enc.c: New file.
87759         * modules/uniconv/u16-conv-to-enc: New file.
87760         * lib/uniconv/u16-conv-to-enc.c: New file.
87761         * lib/uniconv/u-conv-to-enc.h: New file.
87762         * modules/uniconv/u16-conv-to-enc-tests: New file.
87763         * tests/uniconv/test-u16-conv-to-enc.c: New file.
87765         * modules/uniconv/u8-conv-to-enc: New file.
87766         * lib/uniconv/u8-conv-to-enc.c: New file.
87767         * modules/uniconv/u8-conv-to-enc-tests: New file.
87768         * tests/uniconv/test-u8-conv-to-enc.c: New file.
87770         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
87771         u32_conv_to_encoding): New declarations.
87773 2007-06-09  Bruno Haible  <bruno@clisp.org>
87775         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
87777 2007-06-09  Bruno Haible  <bruno@clisp.org>
87779         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
87780         * modules/malloca: Renamed from modules/allocsa, updated.
87781         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
87782         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
87783         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
87784         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
87785         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
87786         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
87787         * modules/xmalloca: Renamed from modules/xallocsa, updated.
87788         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
87789         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
87790         * modules/c-strcasestr (Depends-on): Update.
87791         * lib/c-strcasestr.c: Update.
87792         * modules/c-strstr (Depends-on): Update.
87793         * lib/c-strstr.c: Update.
87794         * modules/canonicalize-lgpl (Depends-on): Update.
87795         * lib/canonicalize-lgpl.c: Update.
87796         * modules/clean-temp (Depends-on): Update.
87797         * lib/clean-temp.c: Update.
87798         * modules/csharpcomp (Depends-on): Update.
87799         * lib/csharpcomp.c: Update.
87800         * modules/csharpexec (Depends-on): Update.
87801         * lib/csharpexec.c: Update.
87802         * modules/javacomp (Depends-on): Update.
87803         * lib/javacomp.c: Update.
87804         * modules/javaexec (Depends-on): Update.
87805         * lib/javaexec.c: Update.
87806         * modules/mbscasestr (Depends-on): Update.
87807         * lib/mbscasestr.c: Update.
87808         * modules/mbsstr (Depends-on): Update.
87809         * lib/mbsstr.c: Update.
87810         * modules/setenv (Depends-on): Update.
87811         * lib/setenv.c: Update.
87812         * modules/strcasestr (Depends-on): Update.
87813         * lib/strcasestr.c: Update.
87814         * modules/striconveha (Depends-on): Update.
87815         * lib/striconveha.c: Update.
87816         * modules/relocatable-prog-wrapper (Files): Update.
87817         * lib/relocwrapper.c: Update.
87818         * build-aux/install-reloc: Update.
87819         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
87821 2007-06-08  Bruno Haible  <bruno@clisp.org>
87823         Port to uClibc.
87824         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
87825         * lib/fpurge.c (fpurge): Likewise.
87826         * lib/freading.c (freading): Likewise.
87827         * lib/fseeko.c (rpl_fseeko): Likewise.
87828         * lib/fseterr.c (fseterr): Likewise.
87829         * lib/fwriting.c (fwriting): Likewise.
87830         * tests/test-fflush.c (main): Avoid a failure on uClibc.
87832 2007-06-08  Bruno Haible  <bruno@clisp.org>
87834         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
87835         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
87836         * modules/gettext (Files): Add m4/intlmacosx.m4.
87838 2007-06-07  Bruno Haible  <bruno@clisp.org>
87840         * modules/localename-tests: New file.
87841         * tests/test-localename.c: New file.
87843         New module 'localename'.
87844         * lib/localename.h: New file.
87845         * lib/localename.c: New file, from GNU gettext.
87846         * m4/localename.m4: New file.
87847         * modules/localename: New file.
87849 2007-06-07  Bruno Haible  <bruno@clisp.org>
87851         Work around the lack of <wchar.h> on some builds of uClibc.
87852         * doc/headers/wchar.texi: Update.
87853         * lib/wchar_.h: Include <wchar.h> only if it exists.
87854         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
87855         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
87856         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
87857         doesn't exist.
87858         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
87859         * modules/mbfile (Depends-on): Add wchar.
87860         * modules/mbiter (Depends-on): Likewise.
87861         * modules/mbuiter (Depends-on): Likewise.
87862         Reported by Simon Josefsson.
87864 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
87866         Work around problem reported by Steven M. Schweda in
87867         <http://lists.gnu.org/r/bug-tar/2007-06/msg00002.html>:
87868         Tru64 5.1B with the Compaq compiler environment installed declares
87869         an 'isblank' function but does not define it in the C library.
87870         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
87871         * lib/regex_internal.h (isblank): Likewise.
87872         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
87873         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
87875 2007-06-05  Bruno Haible  <bruno@clisp.org>
87877         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
87878         ia64.
87879         * modules/printf-safe: New file.
87880         * modules/fprintf-posix (Depends-on): Add printf-safe.
87881         * modules/printf-posix (Depends-on): Likewise.
87882         * modules/snprintf-posix (Depends-on): Likewise.
87883         * modules/sprintf-posix (Depends-on): Likewise.
87884         * modules/vasnprintf-posix (Depends-on): Likewise.
87885         * modules/vasprintf-posix (Depends-on): Likewise.
87886         * modules/vfprintf-posix (Depends-on): Likewise.
87887         * modules/vprintf-posix (Depends-on): Likewise.
87888         * modules/vsnprintf-posix (Depends-on): Likewise.
87889         * modules/vsprintf-posix (Depends-on): Likewise.
87890         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
87891         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
87892         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
87893         "no" on i386, x86_64, ia64.
87894         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
87895         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
87896         on i386, x86_64, ia64.
87897         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
87898         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
87899         on i386, x86_64, ia64.
87900         * tests/test-vasnprintf-posix.c: Include float.h.
87901         (LDBL80_WORDS): New macro.
87902         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
87903         on i386, x86_64, ia64.
87904         * tests/test-vasprintf-posix.c: Include float.h.
87905         (LDBL80_WORDS): New macro.
87906         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
87907         on i386, x86_64, ia64.
87908         * tests/test-snprintf-posix.c: Include float.h.
87909         * tests/test-sprintf-posix.c: Likewise.
87910         * tests/test-vsnprintf-posix.c: Likewise.
87911         * tests/test-vsprintf-posix.c: Likewise.
87913 2007-06-05  Bruno Haible  <bruno@clisp.org>
87915         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
87916         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
87917         non-IEEE numbers on i386, x86_64, ia64.
87918         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
87919         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
87920         * tests/test-isnanl.h: Include float.h.
87921         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
87923 2007-06-05  Bruno Haible  <bruno@clisp.org>
87925         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
87926         also the %a / %A. Handle the %a / %A code before this extra handling.
87928 2007-06-05  Bruno Haible  <bruno@clisp.org>
87930         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
87931         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
87933 2007-06-05  Bruno Haible  <bruno@clisp.org>
87935         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
87936         typo in variable name.
87938 2007-06-05  Eric Blake  <ebb9@byu.net>
87940         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
87941         Reported by Simon Josefsson.
87943 2007-06-04  Bruno Haible  <bruno@clisp.org>
87945         Avoid test failures on some PowerPC platforms.
87946         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
87947         Define differently for PowerPC.
87948         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
87949         Reported by Gary V. Vaughan <gary@gnu.org>.
87951 2007-06-02  Bruno Haible  <bruno@clisp.org>
87953         Fix test-stdint failure on FreeBSD/ia64.
87954         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
87955         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
87956         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
87957         * doc/headers/stdint.texi: Update.
87959 2007-06-01  Bruno Haible  <bruno@clisp.org>
87961         * tests/test-binary-io.c (main): Pass a third argument to open().
87962         Reported by Gary V. Vaughan <gary@gnu.org>.
87964 2007-06-01  Bruno Haible  <bruno@clisp.org>
87966         * doc/functions/frexpl.texi: Update for mingw.
87968 2007-06-01  Bruno Haible  <bruno@clisp.org>
87970         * tests/test-lseek.c (main): Disable test of errno for invalid third
87971         argument.
87972         * doc/functions/lseek.texi: Update.
87973         Reported by Gary V. Vaughan <gary@gnu.org>.
87975 2007-05-28  Bruno Haible  <bruno@clisp.org>
87977         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
87979 2007-05-31  Eric Blake  <ebb9@byu.net>
87981         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
87982         cross compiling.
87984 2007-05-30  Eric Blake  <ebb9@byu.net>
87985         and Bruno Haible  <bruno@clisp.org>
87987         Work around mingw test failures exposed by m4-1.4.9b.
87988         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
87989         * tests/test-unistd.c: Disable uid_t and git_t tests for the
87990         moment.
87992 2007-05-30  Bruno Haible  <bruno@clisp.org>
87994         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
87995         assuming that they are closed. Needed on HP-UX 11.
87997 2007-05-29  Bruno Haible  <bruno@clisp.org>
87999         Fix a problem with #include_next.
88000         * lib/dirent_.h: Split the double-inclusion guard.
88001         * lib/fcntl_.h: Likewise.
88002         * lib/float_.h: Likewise.
88003         * lib/iconv_.h: Likewise.
88004         * lib/inttypes_.h: Likewise.
88005         * lib/locale_.h: Likewise.
88006         * lib/math_.h: Likewise.
88007         * lib/netinet_in_.h: Likewise.
88008         * lib/search_.h: Likewise.
88009         * lib/signal_.h: Likewise.
88010         * lib/stdint_.h: Likewise.
88011         * lib/stdio_.h: Likewise.
88012         * lib/stdlib_.h: Likewise.
88013         * lib/string_.h: Likewise.
88014         * lib/sys_select_.h: Likewise.
88015         * lib/sys_socket_.h: Likewise.
88016         * lib/sys_stat_.h: Likewise.
88017         * lib/sys_time_.h: Likewise.
88018         * lib/sysexits_.h: Likewise.
88019         * lib/time_.h: Likewise.
88020         * lib/unistd_.h: Likewise.
88021         * lib/wchar_.h: Likewise.
88022         * lib/wctype_.h: Likewise.
88024 2007-05-29  Bruno Haible  <bruno@clisp.org>
88026         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
88027         for the moment.
88029 2007-05-29  Bruno Haible  <bruno@clisp.org>
88031         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
88032         invocation.
88033         Reported by Eric Blake.
88035 2007-05-29  Bruno Haible  <bruno@clisp.org>
88037         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
88038         compiling case.
88040 2007-05-29  Eric Blake  <ebb9@byu.net>
88041             Bruno Haible  <bruno@clisp.org>
88043         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
88044         cross compiles.
88046 2007-05-28  Eric Blake  <ebb9@byu.net>
88048         * modules/closein-tests (test_closein_LDADD): Support test on
88049         cygwin with libtool.
88051 2007-05-28  Bruno Haible  <bruno@clisp.org>
88053         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
88054         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
88055         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
88056         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
88057         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
88058         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
88059         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
88060         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
88061         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
88063 2007-05-28  Eric Blake  <ebb9@byu.net>
88065         Unconditionally include <config.h> in unit tests.
88066         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
88067         * tests/test-allocsa.c, tests/test-arcfour.c,
88068         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
88069         tests/test-array_list.c, tests/test-array_oset.c,
88070         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
88071         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
88072         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
88073         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
88074         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
88075         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
88076         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
88077         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
88078         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
88079         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
88080         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
88081         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
88082         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
88083         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
88084         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
88085         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
88086         test-md5.c, test-memmem.c, test-printf-posix.c,
88087         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
88088         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
88089         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
88090         test-strcasestr.c, test-striconv.c, test-striconveh.c,
88091         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
88092         test-vasnprintf-posix2.c, test-vasnprintf.c,
88093         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
88094         test-vfprintf-posix.c, test-vprintf-posix.c,
88095         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
88096         test-xvasprintf.c: Likewise.
88098 2007-05-28  Bruno Haible  <bruno@clisp.org>
88100         * gnulib-tool (func_import): Remember the --with-tests command-line
88101         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
88102         Reported by Eric Blake.
88104 2007-05-28  Bruno Haible  <bruno@clisp.org>
88106         * modules/ftell-tests: New file.
88107         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
88108         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
88110         * lib/ftell.c: New file.
88111         * modules/ftell: New file.
88112         * m4/ftell.m4: New file.
88113         * doc/functions/ftell.texi: Update.
88114         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
88115         REPLACE_FTELL.
88116         * lib/stdio_.h (rpl_ftell): New declaration.
88117         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
88118         REPLACE_FTELL.
88120 2007-05-28  Eric Blake  <ebb9@byu.net>
88122         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
88124 2007-05-28  Bruno Haible  <bruno@clisp.org>
88126         * modules/fseek-tests: New file.
88127         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
88128         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
88130         * lib/fseek.c: New file.
88131         * modules/fseek: New file.
88132         * m4/fseek.m4: New file.
88133         * doc/functions/fseek.texi: Update.
88134         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
88135         REPLACE_FSEEK.
88136         * lib/stdio_.h (rpl_fseek): New declaration.
88137         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
88138         REPLACE_FSEEK.
88140 2007-05-28  Bruno Haible  <bruno@clisp.org>
88142         * lib/stdio_.h (fflush): More comments.
88144 2007-05-28  Bruno Haible  <bruno@clisp.org>
88146         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
88147         runtime test.
88149 2007-05-28  Eric Blake  <ebb9@byu.net>
88151         Improve lseek module.
88152         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
88153         * lib/unistd_.h (lseek): Scale back link warning message.
88154         * tests/test-lseek.c: Beef up test.
88155         * tests/test-lseek.sh: Exercise more facets of lseek.
88156         Reported by Bruno Haible.
88158 2007-05-28  Bruno Haible  <bruno@clisp.org>
88160         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
88161         to define.
88163 2007-05-27  Bruno Haible  <bruno@clisp.org>
88165         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
88167 2007-05-27  Bruno Haible  <bruno@clisp.org>
88169         * modules/openmp: New file.
88170         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
88171         Noah Misch.
88173 2007-05-26  Bruno Haible  <bruno@clisp.org>
88175         * modules/chdir-long (Depends-on): Add fchdir.
88176         * modules/chdir-safer (Depends-on): Likewise.
88177         * modules/fts (Depends-on): Likewise.
88178         * modules/fts-lgpl (Depends-on): Likewise.
88179         * modules/openat (Depends-on): Likewise.
88180         * modules/savewd (Depends-on): Likewise.
88182 2007-05-24  Eric Blake  <ebb9@byu.net>
88184         Fix lseek on mingw.
88185         * modules/lseek: New module.
88186         * m4/lseek.m4: New file.
88187         * lib/lseek.c: New file.
88188         * modules/lseek-tests: New file.
88189         * tests/test-lseek.c: New file.
88190         * tests/test-lseek.sh: New file.
88191         * MODULES.html.sh: Document lseek module.
88192         * modules/fflush (Depends-on): Add lseek, fseeko.
88193         * modules/fseeko (Depends-on): Likewise.
88194         * modules/ftello (Depends-on): Likewise.
88195         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
88196         broken.
88197         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
88198         broken.
88199         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
88200         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
88201         * lib/ftello.c (rpl_ftello): Likewise.
88202         * tests/test-fseeko.c (main): Test this.
88203         * tests/test-fseeko.sh: Likewise.
88204         * tests/test-ftello.c (main): Likewise.
88205         * tests/test-ftello.sh: Likewise.
88206         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
88207         implies replacing fseek.
88208         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
88209         HAVE_FTELLO.
88210         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
88211         * modules/unistd (Makefile.am): Likewise.
88212         * lib/unistd_.h (lseek): Declare a replacement.
88213         * doc/functions/lseek.texi (lseek): Document this fix.
88214         * doc/functions/fseek.texi (fseek): Likewise.
88215         * doc/functions/ftell.texi (ftell): Likewise.
88217 2007-05-24  Bruno Haible  <bruno@clisp.org>
88219         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
88220         in the printed representation of a NaN.
88221         * tests/test-vasprintf-posix.c (test_function): Likewise.
88222         * tests/test-snprintf-posix.h (test_function): Likewise.
88223         * tests/test-sprintf-posix.h (test_function): Likewise.
88224         Reported by Eric Blake.
88226 2007-05-23  Eric Blake  <ebb9@byu.net>
88228         Fix fseeko/ftello on cygwin 1.5.24.
88229         * doc/functions/fseeko.texi (fseeko): Document the fix.
88230         * doc/functions/ftello.texi (ftello): Document the fix.
88231         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
88232         * doc/functions/stdout.text (stdout): New file.
88233         * doc/functions/stderr.text (stderr): New file.
88234         * doc/gnulib.texi (Function Substitutes): Use new files.
88235         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
88236         prior to 1.7.0.
88237         * tests/test-ftello.c (main): Likewise for ftello.
88238         * tests/test-fseeko.sh: New file.
88239         * tests/test-ftello.sh: New file.
88240         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
88241         with seekable stdin.
88242         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
88243         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
88244         (gl_REPLACE_FSEEKO): New macro.
88245         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
88246         * modules/fseeko (Files): Distribute fseeko.c.
88247         * modules/ftello (Files): Distribute ftello.c.
88248         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
88249         mode.
88250         * lib/ftello.c (rpl_ftello): New file.
88251         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
88252         fseeko, ftello.
88253         (gl_STDIN_LARGE_OFFSET): New macro.
88254         * modules/stdio (Makefile.am): Perform the replacement.
88255         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
88257 2007-05-23  Bruno Haible  <bruno@clisp.org>
88259         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
88260         GNULIB_POSIXCHECK is defined.
88262 2007-05-21  Bruno Haible  <bruno@clisp.org>
88264         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
88265         Check also the output for NaN arguments. When cross-compiling, guess
88266         no on IRIX.
88267         * lib/vasnprintf.c: Update comments.
88268         * tests/test-vasnprintf-posix.c (strisnan): New function.
88269         (test_function): Use it.
88270         * tests/test-vasprintf-posix.c (strisnan): New function.
88271         (test_function): Use it.
88272         * tests/test-snprintf-posix.h (strisnan): New function.
88273         (test_function): Use it.
88274         * tests/test-sprintf-posix.h (strisnan): New function.
88275         (test_function): Use it.
88276         Reported by Eric Blake.
88278 2007-05-20  Bruno Haible  <bruno@clisp.org>
88280         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
88281         numbers that fails on BeOS.
88282         * doc/functions/frexpl.texi: Update.
88284 2007-05-20  Jim Meyering  <jim@meyering.net>
88286         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
88287         forced upon us by glibc-2.6.
88289 2007-05-20  Bruno Haible  <bruno@clisp.org>
88291         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
88292         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
88293         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
88294         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
88295         NEED_PRINTF_INFINITE.
88296         (is_infinitel): New function.
88297         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
88298         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
88299         gl_PREREQ_VASNPRINTF_INFINITE.
88300         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
88301         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
88302         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
88303         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
88304         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
88305         gl_PREREQ_VASNPRINTF_INFINITE.
88306         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
88307         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
88308         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
88309         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
88310         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
88311         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
88312         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
88313         * doc/functions/fprintf.texi: Update.
88314         * doc/functions/printf.texi: Update.
88315         * doc/functions/snprintf.texi: Update.
88316         * doc/functions/sprintf.texi: Update.
88317         * doc/functions/vfprintf.texi: Update.
88318         * doc/functions/vprintf.texi: Update.
88319         * doc/functions/vsnprintf.texi: Update.
88320         * doc/functions/vsprintf.texi: Update.
88322 2007-05-20  Bruno Haible  <bruno@clisp.org>
88324         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
88325         was not found in libc.
88326         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
88328 2007-05-20  Bruno Haible  <bruno@clisp.org>
88330         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
88331         printed as "-nan" instead of "nan".
88332         * tests/test-vasprintf-posix.c (test_function): Likewise.
88333         * tests/test-snprintf-posix.h (test_function): Likewise.
88334         * tests/test-sprintf-posix.h (test_function): Likewise.
88335         Needed for HP-UX 11.
88337 2007-05-20  Jim Meyering  <jim@meyering.net>
88339         Fix buggy test for the fchownat-deref bug.
88340         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
88341         symlink required for the run-test.  Without it, this test would
88342         always declare that fchownat doesn't work, and client code would
88343         unnecessarily use the replacement function with fixed libc.
88344         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
88345         Reported by Greg Schafer.
88347 2007-05-19  Bruno Haible  <bruno@clisp.org>
88349         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
88350         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
88351         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
88352         Needed for IRIX 6.5 and Solaris 2.5.1.
88354 2007-05-19  Bruno Haible  <bruno@clisp.org>
88356         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
88357         (test_function): Skip tests involving -0.0 on platforms where
88358         -0.0 = 0.0.
88359         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
88360         (test_function): Skip tests involving -0.0 on platforms where
88361         -0.0 = 0.0.
88362         * tests/test-snprintf-posix.h (have_minus_zero): New function.
88363         (test_function): Skip tests involving -0.0 on platforms where
88364         -0.0 = 0.0.
88365         * tests/test-sprintf-posix.h (have_minus_zero): New function.
88366         (test_function): Skip tests involving -0.0 on platforms where
88367         -0.0 = 0.0.
88368         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
88369         tests.
88370         * tests/test-printf-posix.h (test_function): Likewise.
88371         * tests/test-printf-posix.output: Remove all -0.0 related results.
88372         Needed for IRIX 6.5.
88374 2007-05-19  Bruno Haible  <bruno@clisp.org>
88376         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
88377         printed as "nan0x7fffffff" instead of "nan".
88378         * tests/test-vasprintf-posix.c (test_function): Likewise.
88379         * tests/test-snprintf-posix.h (test_function): Likewise.
88380         * tests/test-sprintf-posix.h (test_function): Likewise.
88381         * tests/test-fprintf-posix.h (NaN): Remove macro.
88382         (test_function): Remove all NaN related tests.
88383         * tests/test-printf-posix.h (NaN): Remove macro.
88384         (test_function): Remove all NaN related tests.
88385         * tests/test-printf-posix.output: Remove all NaN related results.
88386         Needed for IRIX 6.5.
88388 2007-05-19  Bruno Haible  <bruno@clisp.org>
88390         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
88391         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
88393 2007-05-19  Bruno Haible  <bruno@clisp.org>
88395         * lib/float_.h: New file.
88396         * m4/float_h.m4: New file.
88397         * modules/float: New file.
88398         * modules/isnanl (Dependencies): Add float.
88399         * modules/isnanl-nolibm (Dependencies): Likewise.
88400         * modules/mathl (Dependencies): Likewise.
88401         * modules/printf-frexpl (Dependencies): Likewise.
88402         * modules/signbit (Dependencies): Likewise.
88403         * modules/vasnprintf (Dependencies): Likewise.
88404         * doc/headers/float.texi: Update.
88406 2007-05-19  Jim Meyering  <jim@meyering.net>
88408         * lib/utimens.c (gl_futimens): Rename from futimens,
88409         now that glibc-2.6 declares futimens.
88410         * lib/utimens.h: Likewise.
88412 2007-05-19  Bruno Haible  <bruno@clisp.org>
88414         Avoid test failures on mingw.
88415         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
88416         * tests/test-printf-posix.sh: Likewise.
88417         * tests/test-vfprintf-posix.sh: Likewise.
88418         * tests/test-vprintf-posix.sh: Likewise.
88420 2007-05-19  Bruno Haible  <bruno@clisp.org>
88422         Fix *printf result for NaN, Inf, -0.0 on mingw.
88423         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
88424         * lib/vasnprintf.c: Include math.h and isnan.h.
88425         (is_infinite_or_zero): New function.
88426         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
88427         values in the %f, %F, %e, %E, %g, %G directives.
88428         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
88429         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
88430         gl_PRINTF_INFINITE and test its result. Invoke
88431         gl_PREREQ_VASNPRINTF_INFINITE.
88432         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
88433         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
88434         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
88435         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
88436         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
88437         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
88438         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
88439         * doc/functions/fprintf.texi: Update.
88440         * doc/functions/printf.texi: Update.
88441         * doc/functions/snprintf.texi: Update.
88442         * doc/functions/sprintf.texi: Update.
88443         * doc/functions/vfprintf.texi: Update.
88444         * doc/functions/vprintf.texi: Update.
88445         * doc/functions/vsnprintf.texi: Update.
88446         * doc/functions/vsprintf.texi: Update.
88448 2007-05-19  Bruno Haible  <bruno@clisp.org>
88450         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
88451         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
88452         Instead of multiplying with 10^k, set extra_zeroes to k.
88453         (scale10_round_long_double): Remove function.
88455 2007-05-18  Bruno Haible  <bruno@clisp.org>
88457         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
88458         introduced on 2007-05-06.
88460 2007-05-18  Bruno Haible  <bruno@clisp.org>
88462         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
88463         %g directives.
88464         * tests/test-vasprintf-posix.c (test_function): Likewise.
88465         * tests/test-snprintf-posix.h (test_function): Likewise.
88466         * tests/test-sprintf-posix.h (test_function): Likewise.
88468 2007-05-18  Bruno Haible  <bruno@clisp.org>
88470         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
88471         (strmatch): New function.
88472         (test_function): Test the %f directive on numbers of various exponents.
88473         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
88474         (strmatch): New function.
88475         (test_function): Test the %f directive on numbers of various exponents.
88476         * tests/test-snprintf-posix.h (strmatch): New function.
88477         (test_function): Test the %f directive on numbers of various exponents.
88478         * tests/test-sprintf-posix.h (strmatch): New function.
88479         (test_function): Test the %f directive on numbers of various exponents.
88480         * tests/test-snprintf-posix.c (SIZEOF): New macro.
88481         * tests/test-sprintf-posix.c (SIZEOF): New macro.
88482         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
88483         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
88485 2007-05-18  Bruno Haible  <bruno@clisp.org>
88487         Add support for 'long double' number output.
88488         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
88489         * lib/vasnprintf.c: Include math.h and float+.h.
88490         (mp_limb_t): New type.
88491         (GMP_LIMB_BITS): New macro.
88492         (mp_twolimb_t): New type.
88493         (GMP_TWOLIMB_BITS): New macro.
88494         (mpn_t): New type.
88495         (multiply, divide, convert_to_decimal, decode_long_double,
88496         scale10_round_long_double, scale10_round_decimal_long_double,
88497         floorlog10l): New functions.
88498         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
88499         for the %f, %F, %e, %E, %g, %G directives.
88500         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
88501         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
88502         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
88503         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
88504         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
88505         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
88506         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
88507         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
88508         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
88509         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
88510         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
88511         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
88512         * modules/snprintf-posix (Depends-on): Likewise.
88513         * modules/sprintf-posix (Depends-on): Likewise.
88514         * modules/vasnprintf-posix (Depends-on): Likewise.
88515         * modules/vasprintf-posix (Depends-on): Likewise.
88516         * modules/vfprintf-posix (Depends-on): Likewise.
88517         * modules/vsnprintf-posix (Depends-on): Likewise.
88518         * modules/vsprintf-posix (Depends-on): Likewise.
88519         * modules/vasnprintf (Files): Add lib/float+.h.
88520         * doc/functions/fprintf.texi: Update.
88521         * doc/functions/printf.texi: Update.
88522         * doc/functions/snprintf.texi: Update.
88523         * doc/functions/sprintf.texi: Update.
88524         * doc/functions/vfprintf.texi: Update.
88525         * doc/functions/vprintf.texi: Update.
88526         * doc/functions/vsnprintf.texi: Update.
88527         * doc/functions/vsprintf.texi: Update.
88529 2007-05-18  Bruno Haible  <bruno@clisp.org>
88531         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
88533 2007-05-18  Bruno Haible  <bruno@clisp.org>
88535         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
88536         for printing 64-bit integers. Needed for mingw.
88538 2007-05-18  Bruno Haible  <bruno@clisp.org>
88540         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
88541         gl_FUNC_FREXPL_WORKS.
88542         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
88544 2007-05-18  Bruno Haible  <bruno@clisp.org>
88546         * modules/frexpl-nolibm-tests: New file.
88548         * modules/frexpl-nolibm: New file.
88549         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
88551 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
88553         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
88554         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
88555         GCC 4.2, which otherwise issues a lot of warnings.
88556         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
88557         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
88558         Likewise.
88559         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
88560         * modules/iconv_open (iconv.h): Likewise.
88561         * modules/locale (locale.h): Likewise.
88562         * modules/netinet_in (netinet/in.h): Likewise.
88563         * modules/sys_select (sys_select.h): Likewise.
88564         * modules/sys_socket (sys/socket.h): Likewise.
88565         * modules/sys_stat (sys/stat.h): Likewise.
88566         * modules/sysexits (sysexits.h): Likewise.
88567         * modules/unistd (unistd.h): Likewise.
88569 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
88571         * modules/closein-tests (Makefile.am): Distribute
88572         `test-closein.sh'.
88574 2007-05-17  Bruno Haible  <bruno@clisp.org>
88576         * tests/test-printf-posix.output: Renamed from
88577         tests/test-fprintf-posix.out.
88578         * modules/fprintf-posix-tests: Update.
88579         * modules/printf-posix-tests: Update.
88580         * modules/vfprintf-posix-tests: Update.
88581         * modules/vprintf-posix-tests: Update.
88582         * tests/test-fprintf-posix.sh: Update.
88583         * tests/test-printf-posix.sh: Update.
88584         * tests/test-vfprintf-posix.sh: Update.
88585         * tests/test-vprintf-posix.sh: Update.
88586         Reported by Ralf Wildenhues.
88588 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
88590         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
88591         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
88592         GCC 4.2, which otherwise issues a lot of warnings.
88593         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
88594         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
88595         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
88596         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
88597         it should no longer be needed.
88598         * lib/string_.h: Likewise.
88599         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
88600         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
88601         * modules/inttypes (inttypes.h): Likewise.
88602         * modules/math (math.h): Likewise.
88603         * modules/search (search.h): Likewise.
88604         * modules/signal (signal.h): Likewise.
88605         * modules/stdint (stdint.h): Likewise.
88606         * modules/stdio (stdio.h): Likewise.
88607         * modules/stdlib (stdlib.h): Likewise.
88608         * modules/string (string.h): Likewise.
88609         * modules/sys_time (sys/time.h): Likewise.
88610         * modules/time (time.h): Likewise.
88611         * modules/wchar (wchar.h): Likewise.
88612         * modules/wctype (wtype.h): Likewise.
88614 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
88616         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
88618 2007-05-13  Bruno Haible  <bruno@clisp.org>
88620         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
88621         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
88622         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
88623         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
88624         (gl_PREREQ_STRTOK_R): Don't require it here.
88626 2007-05-13  Bruno Haible  <bruno@clisp.org>
88628         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
88629         when used in C++ mode.
88631 2007-05-12  Bruno Haible  <bruno@clisp.org>
88633         * lib/linebuffer.h: Tweak doc.
88634         * lib/linebuffer.c: Likewise.
88636 2007-05-12  James Youngman  <jay@gnu.org>
88638         * lib/linebuffer.c (readlinebuffer_delim): New function,
88639         like readlinebuffer, but use a caller-specified delimiter.
88640         (readlinebuffer): Just call readlinebuffer_delim with '\n'
88641         as the delimiter.
88642         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
88644 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
88646         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
88647         * modules/openat (Files): Remove openat-die.c.
88648         (Depends-on): Add openat-die.
88649         * modules/openat-die: New module.
88651 2007-05-06  Bruno Haible  <bruno@clisp.org>
88653         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
88654         Update with info about Cygwin.
88655         * doc/functions/fprintf.texi: Update.
88656         * doc/functions/printf.texi: Update.
88657         * doc/functions/snprintf.texi: Update.
88658         * doc/functions/sprintf.texi: Update.
88659         * doc/functions/vfprintf.texi: Update.
88660         * doc/functions/vprintf.texi: Update.
88661         * doc/functions/vsnprintf.texi: Update.
88662         * doc/functions/vsprintf.texi: Update.
88663         Reported by Eric Blake.
88665 2007-05-06  Bruno Haible  <bruno@clisp.org>
88667         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
88668         padding ourselves for the floating-point directives.
88669         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
88670         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
88671         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
88672         gl_PRINTF_FLAG_ZERO and test its result. Invoke
88673         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
88674         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
88675         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
88676         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
88677         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
88678         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
88679         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
88680         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
88681         * tests/test-snprintf-posix.h (test_function): Also check the width
88682         and some flags in the %f directive.
88683         * tests/test-sprintf-posix.h (test_function): Likewise.
88684         * tests/test-vasnprintf-posix.c (test_function): Likewise.
88685         * tests/test-vasprintf-posix.c (test_function): Likewise.
88686         * doc/functions/fprintf.texi: Update.
88687         * doc/functions/printf.texi: Update.
88688         * doc/functions/snprintf.texi: Update.
88689         * doc/functions/sprintf.texi: Update.
88690         * doc/functions/vfprintf.texi: Update.
88691         * doc/functions/vprintf.texi: Update.
88692         * doc/functions/vsnprintf.texi: Update.
88693         * doc/functions/vsprintf.texi: Update.
88695 2007-05-06  Bruno Haible  <bruno@clisp.org>
88697         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
88698         pass the ' flag character to sprintf or snprintf.
88699         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
88700         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
88701         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
88702         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
88703         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
88704         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
88705         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
88706         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
88707         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
88708         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
88709         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
88710         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
88711         * tests/test-snprintf-posix.h (test_function): Also check the grouping
88712         flag.
88713         * tests/test-sprintf-posix.h (test_function): Likewise.
88714         * tests/test-vasnprintf-posix.c (test_function): Likewise.
88715         * tests/test-vasprintf-posix.c (test_function): Likewise.
88716         * doc/functions/fprintf.texi: Update.
88717         * doc/functions/printf.texi: Update.
88718         * doc/functions/snprintf.texi: Update.
88719         * doc/functions/sprintf.texi: Update.
88720         * doc/functions/vfprintf.texi: Update.
88721         * doc/functions/vprintf.texi: Update.
88722         * doc/functions/vsnprintf.texi: Update.
88723         * doc/functions/vsprintf.texi: Update.
88725 2007-05-01  Bruno Haible  <bruno@clisp.org>
88727         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
88729 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
88731         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
88732         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
88734 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
88736         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
88737         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
88738         <http://lists.gnu.org/r/bug-gnulib/2007-05/msg00021.html>.
88740 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
88742         * lib/argp-help.c (struct hol_entry): New member `ord'.
88743         (HOL_ENTRY_PTRCMP): Use ord for comparison
88744         (hol_sort): Initialize ord.
88746 2007-05-01  Bruno Haible  <bruno@clisp.org>
88748         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
88749         Reported by Eric Blake.
88750         * doc/gnulib.texi (Function Substitutes): Update.
88752 2007-05-01  Bruno Haible  <bruno@clisp.org>
88754         * doc/functions.texi: Remove file, now redundant through
88755         doc/functions/*.texi.
88757 2007-05-01  Bruno Haible  <bruno@clisp.org>
88759         * modules/argp (Depends-on): Add sleep.
88761 2007-05-01  Bruno Haible  <bruno@clisp.org>
88763         * modules/sleep-tests: New file.
88764         * tests/test-sleep.c: New file.
88766         * modules/sleep: New file.
88767         * lib/sleep.c: New file.
88768         * m4/sleep.m4: New file.
88769         * lib/unistd_.h (sleep): New declaration.
88770         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
88771         HAVE_SLEEP.
88772         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
88773         * doc/functions/sleep.texi: Document the sleep module.
88775 2007-05-01  Bruno Haible  <bruno@clisp.org>
88777         * lib/sigprocmask.h: Remove file.
88778         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
88779         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
88780         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
88781         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
88782         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
88783         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
88784         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
88785         HAVE_SIGSET_T as a shell variable.
88786         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
88787         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
88788         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
88789         (Depends-on): Add signal. Remove verify.
88790         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
88791         (Include): Mention <signal.h> instead of sigprocmask.h.
88792         * NEWS: Mention the change.
88793         * lib/fatal-signal.c: Don't include sigprocmask.h.
88795 2007-05-01  Bruno Haible  <bruno@clisp.org>
88797         * modules/signal: New file.
88798         * lib/signal_.h: New file.
88799         * m4/signal_h.m4: New file.
88801 2007-05-01  Bruno Haible  <bruno@clisp.org>
88803         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
88804         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
88805         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
88806         HAVE_WCTYPE_CTMP_BUG into wctype.h.
88808 2007-05-01  Bruno Haible  <bruno@clisp.org>
88810         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
88811         configure time.
88812         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
88813         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
88814         * modules/sys_stat (Makefile.am): Substitute their values into
88815         sys/stat.h.
88817 2007-05-01  Bruno Haible  <bruno@clisp.org>
88819         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
88820         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
88821         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
88823 2007-05-01  Bruno Haible  <bruno@clisp.org>
88825         * doc/header/assert.texi: Undo last change: don't mention the gnulib
88826         'assert' module here.
88828 2007-05-01  Bruno Haible  <bruno@clisp.org>
88830         * doc/functions/*.texi: New files.
88831         * doc/functions/google-ranking.txt: New file.
88832         * doc/gnulib.texi (Function Substitutes): New chapter.
88833         (ctime, inet_ntoa): Remove sections.
88834         * doc/ctime.texi: Remove file.
88835         * doc/inet_ntoa.texi: Remove file.
88836         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
88837         dependencies.
88838         (%.info): New rule, specifying a --reference-limit.
88840 2007-05-01  Bruno Haible  <bruno@clisp.org>
88842         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
88844 2007-05-01  Bruno Haible  <bruno@clisp.org>
88846         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
88847         the portability of 'mkdir' to mingw systems.
88849 2007-05-01  Bruno Haible  <bruno@clisp.org>
88851         * doc/headers/google-ranking.txt: New file.
88853 2007-04-30  Eric Blake  <ebb9@byu.net>
88855         Prefer fseeko to fseek.
88856         * modules/getpass (Depends-on): Add fseeko.
88857         * lib/getpass.c (getpass): Use fseeko, not fseek.
88859 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
88861         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
88862         assumes the sorting is stable, while most qsort implementations
88863         are not.  Use argument addresses to ensure they never compare as
88864         equal.
88866         * tests/test-argp-2.sh (usage-indent test): Fix output
88867         (func_compare): Restore diff options
88868         * tests/test-argp.c: Restore #include "progname.h"
88870 2007-04-29  Bruno Haible  <bruno@clisp.org>
88872         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
88873         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
88874         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
88875         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
88876         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
88877         (configure.ac): Define CHECK_SNPRINTF_POSIX.
88878         (TESTS, check_PROGRAMS): Add test-snprintf.
88879         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
88880         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
88881         (TESTS, check_PROGRAMS): Add test-vsnprintf.
88882         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
88883         assertions that fail on HP-UX, OSF/1, or IRIX.
88884         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
88886 2007-04-29  Bruno Haible  <bruno@clisp.org>
88888         * MODULES.html.sh (posix_functions): Remove 'contents'.
88890 2007-04-29  Karl Berry  <karl@gnu.org>
88892         * config/srclist.txt (gendocs_template_min): new entry.
88894 2007-04-29  Bruno Haible  <bruno@clisp.org>
88896         Work around fpurge bug on BSD systems.
88897         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
88898         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
88899         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
88900         fpurge to rpl_fpurge if the system already has this function.
88901         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
88902         the case where the system already has this function. Correct invariants
88903         on BSD systems.
88904         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
88905         BSD systems.
88907 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
88909         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
88910         proposed by Sven Verdoolaege.
88912         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
88913         options.
88914         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
88915         (usage and help tests): Update
88917 2007-04-29  Bruno Haible  <bruno@clisp.org>
88919         * tests/test-fflush.c (main): Use a file of size 17, not 10.
88920         Print more information in case of failure. Disable a test on BeOS.
88922 2007-04-29  Bruno Haible  <bruno@clisp.org>
88924         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
88925         This helps debugging on systems on which no gdb is available.
88927 2007-04-29  Bruno Haible  <bruno@clisp.org>
88929         * lib/freading.h: Improve comments.
88930         * lib/fwriting.h: Likewise.
88931         * tests/test-freading.c (main): Don't check freading immediately after
88932         repositioning. Needed for glibc.
88934 2007-04-29  Bruno Haible  <bruno@clisp.org>
88936         * lib/freading.c (freading): Trivial simplification.
88938 2007-04-28  Bruno Haible  <bruno@clisp.org>
88940         * tests/test-fwriting.c (main): Also test the interaction between
88941         fflush and fwriting.
88942         * modules/fwriting-tests (Depends-on): Add fflush.
88944         * tests/test-freading.c (main): Also test the interaction between
88945         fflush and freading.
88946         * modules/freading-tests (Depends-on): Add fflush.
88948 2007-04-28  Bruno Haible  <bruno@clisp.org>
88950         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
88951         fseeko and ftello.
88952         Suggested by Eric Blake.
88954 2007-04-28  Jim Meyering  <jim@meyering.net>
88956         Avoid false-negative in gl_STDINT_H's C99 conformance test.
88957         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
88958         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
88960 2007-04-27  Eric Blake  <ebb9@byu.net>
88962         * doc/headers/assert.texi (assert.h): Document assert module use.
88964 2007-04-27  Bruno Haible  <bruno@clisp.org>
88966         * doc/headers/*.texi: New files.
88967         * doc/gnulib.texi (Header File Substitutes): New chapter.
88968         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
88969         dependencies.
88970         (standards.info ,standards.html, standards.dvi): Update dependencies.
88971         (mostlyclean, clean): New targets.
88973 2007-04-27  Bruno Haible  <bruno@clisp.org>
88975         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
88976         * modules/sysexits (Files, Makefile.am): Update.
88978         * lib/sys_socket_.h: Renamed from lib/socket_.h.
88979         * modules/sys_socket (Files, Makefile.am): Update.
88981         * lib/sys_stat_.h: Renamed from lib/stat_.h.
88982         * modules/sys_stat (Files, Makefile.am): Update.
88984 2007-04-27  Eric Blake  <ebb9@byu.net>
88986         * lib/freading.h: Improve comments.
88987         * lib/fwriting.h: Likewise.
88988         * lib/fflush.c: Likewise.
88990         Fix closein for mingw.
88991         * modules/closein-tests: Add tests for closein.
88992         * tests/test-closein.c: New file.
88993         * tests/test-closein.sh: Likewise.
88994         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
88995         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
88997 2007-04-27  Bruno Haible  <bruno@clisp.org>
88999         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
89000         version is < 6.
89001         * lib/math_.h [__DECC]: Likewise.
89002         * lib/stdio_.h [__DECC]: Likewise.
89003         * lib/stdlib_.h [__DECC]: Likewise.
89004         * lib/string_.h [__DECC]: Likewise.
89005         * lib/time_.h [__DECC]: Likewise.
89006         * lib/wchar_.h [__DECC]: Likewise.
89007         * lib/wctype_.h [__DECC]: Likewise.
89009 2007-04-27  Bruno Haible  <bruno@clisp.org>
89011         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
89013 2007-04-27  Bruno Haible  <bruno@clisp.org>
89015         * lib/fflush.c: Add comments.
89016         * modules/fpurge-tests (Depends-on): Add fflush.
89017         * modules/freadable-tests (Depends-on): Likewise.
89018         * modules/fwritable-tests (Depends-on): Likewise.
89020 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
89022         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
89023         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
89024         Report by Bruno Haible <bruno@clisp.org>.
89026 2007-04-26  Eric Blake  <ebb9@byu.net>
89028         Fix fflush on mingw.
89029         * modules/fflush (Depends-on): Add freading.
89030         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
89031         but unread data.
89033 2007-04-26  Eric Blake  <ebb9@byu.net>
89034         and Bruno Haible  <bruno@clisp.org>
89036         Implement freading and fwriting.
89037         * lib/freading.c: New file.
89038         * lib/freading.h: Likewise.
89039         * m4/freading.m4: Likewise.
89040         * modules/freading: Likewise.
89041         * modules/freading-tests: Likewise.
89042         * tests/test-freading.c: Likewise.
89043         * lib/fwriting.c: New file.
89044         * lib/fwriting.h: Likewise.
89045         * m4/fwriting.m4: Likewise.
89046         * modules/fwriting: Likewise.
89047         * modules/fwriting-tests: Likewise.
89048         * tests/test-fwriting.c: Likewise.
89049         * MODULES.html.sh (File stream based Input/Output): Mention them.
89051 2007-04-26  Bruno Haible  <bruno@clisp.org>
89053         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
89054         'long' when we assume it.
89055         Suggested by Eric Blake.
89057 2007-04-26  Bruno Haible  <bruno@clisp.org>
89059         Ensure fseeko, ftello are declared on glibc systems.
89060         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
89061         * modules/fseeko (configure.ac-early): Likewise.
89062         * modules/ftello (configure.ac-early): Likewise.
89063         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
89064         AC_FUNC_FSEEKO for this.
89065         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
89066         (gl_CHECK_FSEEKO): Remove macro.
89068 2007-04-26  Bruno Haible  <bruno@clisp.org>
89070         * tests/test-fflush.c (main): Also check the ftell result after
89071         fflush and fseek/fseeko.
89072         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
89073         file descriptor position cache in the stream.
89074         * lib/fseeko.c (rpl_fseeko): Likewise.
89076 2007-04-26  Bruno Haible  <bruno@clisp.org>
89078         * modules/fflush-tests (Depends-on): Add fseeko.
89080 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
89081             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
89083         * lib/argz_.h: ensure error_t definition is obtained in same
89084         mechanism system argz.h would have.
89085         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
89086         argz facilities are known bad.  Err on the side of caution if
89087         cross-compiling.
89089 2007-04-25  Eric Blake  <ebb9@byu.net>
89091         * lib/fpurge.c (includes): Use stdlib.h for free.
89092         * tests/test-fflush.c (main): Also test fflush-fseeko.
89094 2007-04-25  Bruno Haible  <bruno@clisp.org>
89096         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
89097         * lib/fseeko.c: New file.
89098         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
89099         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
89100         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
89101         gl_FUNC_FSEEKO.
89102         (gl_FUNC_FSEEKO): Invoke it.
89103         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
89104         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
89105         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
89107 2007-04-25  Bruno Haible  <bruno@clisp.org>
89109         * modules/fflush (Depends-on): Add ftello.
89111 2007-04-25  Bruno Haible  <bruno@clisp.org>
89113         * modules/ftello-tests: New file.
89114         * tests/test-ftello.c: New file.
89116         * modules/ftello: New file.
89117         * m4/ftello.m4: New file.
89118         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
89119         HAVE_FTELLO.
89120         * lib/stdio_.h (ftello): New declaration.
89121         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
89122         HAVE_FTELLO.
89124 2007-04-25  Bruno Haible  <bruno@clisp.org>
89126         * modules/fseeko-tests: New file.
89127         * tests/test-fseeko.c: New file.
89129         * modules/fseeko: New file.
89130         * m4/fseeko.m4: New file.
89131         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
89132         HAVE_FSEEKO.
89133         * lib/stdio_.h (fseeko): New declaration.
89134         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
89135         HAVE_FSEEKO.
89137 2007-04-25  Bruno Haible  <bruno@clisp.org>
89139         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
89141 2007-04-25  Bruno Haible  <bruno@clisp.org>
89143         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
89144         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
89145         * tests/test-unistd.c: Likewise.
89146         * tests/test-fcntl.c: Likewise.
89148 2007-04-23  Eric Blake  <ebb9@byu.net>
89150         * lib/fflush.c: Fix missing include.
89151         Reported by Bruno Haible.
89153 2007-04-23  Bruno Haible  <bruno@clisp.org>
89155         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
89156         Reported by Eric Blake.
89158 2007-04-23  Bruno Haible  <bruno@clisp.org>
89160         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
89162 2007-04-23  Bruno Haible  <bruno@clisp.org>
89164         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
89166 2007-04-23  Bruno Haible  <bruno@clisp.org>
89168         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
89169         Needed on HP-UX 11.
89171 2007-04-16  Eric Blake  <ebb9@byu.net>
89173         Make fflush rely on fpurge.
89174         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
89175         open coding all variants.
89176         * modules/fflush (Depends-on): Add fpurge and unistd.
89177         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
89178         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
89180         Fix --with-tests compilation on cygwin.
89181         * modules/argmatch-tests (Makefile.am): List gnulib library first
89182         in LDADD.
89183         * modules/argp-tests (Makefile.am): Likewise.
89184         * modules/array-list-tests (Makefile.am): Likewise.
89185         * modules/array-oset-tests (Makefile.am): Likewise.
89186         * modules/avltree-list-tests (Makefile.am): Likewise.
89187         * modules/avltree-oset-tests (Makefile.am): Likewise.
89188         * modules/avltreehash-list-tests (Makefile.am): Likewise.
89189         * modules/carray-list-tests (Makefile.am): Likewise.
89190         * modules/dirname-tests (Makefile.am): Likewise.
89191         * modules/frexp-tests (Makefile.am): Likewise.
89192         * modules/isnanl-tests (Makefile.am): Likewise.
89193         * modules/linked-list-tests (Makefile.am): Likewise.
89194         * modules/linkedhash-list-tests (Makefile.am): Likewise.
89195         * modules/lock-tests (Makefile.am): Likewise.
89196         * modules/rbtree-list-tests (Makefile.am): Likewise.
89197         * modules/rbtree-oset-tests (Makefile.am): Likewise.
89198         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
89199         * modules/tls-tests (Makefile.am): Likewise.
89200         * modules/tsearch-tests (Makefile.am): Likewise.
89201         * modules/xvasprintf-tests (Makefile.am): Likewise.
89203         Fix fpurge for cygwin.
89204         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
89205         value.
89206         * modules/fpurge-tests (Depends-on): Clean up trash.
89208 2007-04-16  Simon Josefsson  <simon@josefsson.org>
89210         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
89212         * m4/autobuild.m4: Re-indent.
89214 2007-04-13  Bruno Haible  <bruno@clisp.org>
89216         * modules/fpurge-tests: New file.
89217         * tests/test-fpurge.c: New file.
89219         * modules/fpurge: New file.
89220         * lib/fpurge.h: New file.
89221         * lib/fpurge.c: New file.
89222         * m4/fpurge.m4: New file.
89224 2007-04-13  Bruno Haible  <bruno@clisp.org>
89226         * modules/fbufmode-tests: New file.
89227         * tests/test-fbufmode.c: New file.
89229         * modules/fbufmode: New file.
89230         * lib/fbufmode.h: New file.
89231         * lib/fbufmode.c: New file.
89232         * m4/fbufmode.m4: New file.
89234 2007-04-13  Bruno Haible  <bruno@clisp.org>
89236         * modules/fwritable-tests: New file.
89237         * tests/test-fwritable.c: New file.
89239         * modules/fwritable: New file.
89240         * lib/fwritable.h: New file.
89241         * lib/fwritable.c: New file.
89242         * m4/fwritable.m4: New file.
89244 2007-04-13  Bruno Haible  <bruno@clisp.org>
89246         * modules/freadable-tests: New file.
89247         * tests/test-freadable.c: New file.
89249         * modules/freadable: New file.
89250         * lib/freadable.h: New file.
89251         * lib/freadable.c: New file.
89252         * m4/freadable.m4: New file.
89254 2007-04-13  Bruno Haible  <bruno@clisp.org>
89256         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
89257         MOSTLYCLEANFILES.
89259 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
89261         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
89262         gzip bootstrap.conf to avoid dragging in i18n machinery.
89263         (gnulib_tool_option): Use it.
89265 2007-04-13  Bruno Haible  <bruno@clisp.org>
89267         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
89268         %F directives.
89269         * tests/test-vasprintf-posix.c (test_function): Likewise.
89270         * tests/test-snprintf-posix.h (test_function): Likewise.
89271         * tests/test-sprintf-posix.h (test_function): Likewise.
89272         * tests/test-fprintf-posix.h (test_function): Likewise.
89273         * tests/test-printf-posix.h (test_function): Likewise.
89274         * tests/test-fprintf-posix.out: Likewise.
89276 2007-04-13  Bruno Haible  <bruno@clisp.org>
89278         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
89279         * modules/tls-tests (configure.ac): Likewise.
89280         Reported by Arto C. Nirkko <anirkko@insel.ch>.
89282 2007-04-13  Bruno Haible  <bruno@clisp.org>
89284         * lib/tls.c (glthread_tls_get): Fix return type.
89285         Patch by Arto C. Nirkko <anirkko@insel.ch>.
89287 2007-04-12  Eric Blake  <ebb9@byu.net>
89289         * modules/gettime (Depends-on): Remove gettime.
89290         Reported by Dmitry V. Levin.
89292 2007-04-12  Bruno Haible  <bruno@clisp.org>
89294         * modules/fflush (Include): Mention <stdio.h>.
89295         * modules/strtoimax (Include): Mention <inttypes.h>.
89296         * modules/strtoumax (Include): Likewise.
89298 2007-04-12  Eric Blake  <ebb9@byu.net>
89300         * .cvsignore: New file.
89301         * .gitignore: Likewise.
89303 2007-04-12  Bruno Haible  <bruno@clisp.org>
89305         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
89306         not before, since $(LDADD) often contains libgnu.a.
89307         * modules/striconv-tests (test_striconv_LDADD): Likewise.
89308         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
89309         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
89310         Needed on Cygwin.
89312 2007-04-12  Eric Blake  <ebb9@byu.net>
89314         Work around glibc's failure to flush stdin on fclose.
89315         * lib/closein.c (close_stdin): Flush stdin before closing.
89317         Work around glibc's failure to reset seekable stdin on exit.
89318         * modules/closein: New module.
89319         * lib/closein.c: New file.
89320         * lib/closein.h: Likewise.
89321         * m4/closein.m4: Likewise.
89322         * MODULES.html.sh (File stream based Input/Output): Document it.
89324 2007-04-12  Simon Josefsson  <simon@josefsson.org>
89326         * gnulib-tool: Rename generated 'autobuild' script to
89327         'do-autobuild' in --create-megatestdir output.
89329         * doc/gnulib.texi (Build robot for gnulib): Fix.
89331 2007-04-12  Simon Josefsson  <simon@josefsson.org>
89333         * modules/sysexits (Depends-on): Add absolute-header.
89335 2007-04-12  Eric Blake  <ebb9@byu.net>
89337         No need to preserve errno on success.
89338         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
89339         Reported by Bruno Haible.
89341 2007-04-12  Simon Josefsson  <simon@josefsson.org>
89343         * MODULES.html.sh (Support for maintaining and releasing
89344         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
89346 2007-04-12  Simon Josefsson  <simon@josefsson.org>
89348         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
89350 2007-04-12  Simon Josefsson  <simon@josefsson.org>
89352         * modules/autobuild: New module.
89354         * m4/autobuild.m4: New file.
89356 2007-04-11  Bruno Haible  <bruno@clisp.org>
89358         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
89359         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
89360         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
89361         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
89362         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
89363         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
89364         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
89365         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
89366         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
89367         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
89368         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
89369         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
89370         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
89371         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
89372         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
89373         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
89374         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
89375         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
89376         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
89377         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
89378         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
89379         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
89380         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
89381         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
89382         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
89383         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
89384         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
89385         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
89386         Reported by Eric Blake.
89388 2007-04-11  Bruno Haible  <bruno@clisp.org>
89390         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
89392 2007-04-10  Bruno Haible  <bruno@clisp.org>
89394         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
89395         for NaN and Infinity. Needed on FreeBSD 6.1.
89396         * tests/test-vasnprintf-posix.c (test_function): Undo last change
89397         regarding results for "%010a" of Infinity and NaN.
89398         * tests/test-vasprintf-posix.c (test_function): Likewise.
89399         * tests/test-snprintf-posix.h (test_function): Likewise.
89400         * tests/test-sprintf-posix.h (test_function): Likewise.
89401         * tests/test-fprintf-posix.h (test_function): Likewise.
89402         * tests/test-printf-posix.h (test_function): Likewise.
89403         * tests/test-fprintf-posix.out: Likewise.
89405 2007-04-10  Bruno Haible  <bruno@clisp.org>
89407         * modules/locale-tests: New file.
89408         * tests/test-locale.c: New file.
89410         * modules/locale: New file.
89411         * lib/locale_.h: New file.
89412         * m4/locale_h.m4: New file.
89414 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
89415             Bruno Haible  <bruno@clisp.org>
89417         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
89418         be determined, test for availability of the copysignf, copysign,
89419         copysignl functions.
89420         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
89421         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
89422         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
89424 2007-04-09  Eric Blake  <ebb9@byu.net>
89426         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
89427         * modules/stdio (Makefile.am): Support fflush.
89428         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
89429         * modules/fflush: New file.
89430         * lib/fflush.c: Likewise.
89431         * m4/fflush.m4: Likewise.
89432         * modules/fflush-tests: New test.
89433         * tests/test-fflush.c: Likewise.
89434         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
89436 2007-04-06  Bruno Haible  <bruno@clisp.org>
89438         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
89439         (VASNPRINTF): Use signbit for faster determination whether to print a
89440         minus sign.
89441         * modules/vasnprintf (Files): Remove lib/float+.h.
89442         * modules/fprintf-posix (Depends-on): Add signbit.
89443         * modules/snprintf-posix (Depends-on): Likewise.
89444         * modules/sprintf-posix (Depends-on): Likewise.
89445         * modules/vasnprintf-posix (Depends-on): Likewise.
89446         * modules/vasprintf-posix (Depends-on): Likewise.
89447         * modules/vfprintf-posix (Depends-on): Likewise.
89448         * modules/vsnprintf-posix (Depends-on): Likewise.
89449         * modules/vsprintf-posix (Depends-on): Likewise.
89451 2007-04-06  Bruno Haible  <bruno@clisp.org>
89453         * tests/test-frexp.c (main): Test also the sign bit of zero results.
89454         * tests/test-frexpl.c (main): Likewise.
89455         * tests/test-ldexpl.c (main): Likewise.
89456         * modules/frexp-tests (Depends-on): Add signbit.
89457         * modules/frexpl-tests (Depdends-on): Likewise.
89458         * modules/ldexpl-tests (Depdends-on): Likewise.
89460 2007-04-06  Bruno Haible  <bruno@clisp.org>
89462         * modules/signbit-tests: New file.
89463         * tests/test-signbit.c: New file.
89465         * modules/signbit: New file.
89466         * lib/signbitf.c: New file.
89467         * lib/signbitd.c: New file.
89468         * lib/signbitl.c: New file.
89469         * m4/signbit.m4: New file.
89470         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
89471         (signbit): New macro.
89472         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
89473         REPLACE_SIGNBIT.
89474         * modules/math (Makefile.am): Substitute also GNULIB_SIGNBIT and
89475         REPLACE_FREXPL into math.h.
89477 2007-04-06  Bruno Haible  <bruno@clisp.org>
89479         * modules/isnanf-nolibm-tests: New file.
89480         * tests/test-isnanf.c: New file.
89482         * modules/isnanf-nolibm: New file.
89483         * lib/isnanf.h: New file.
89484         * lib/isnanf.c: New file.
89485         * lib/isnan.c: Consider the USE_FLOAT macro.
89486         * m4/isnanf.m4: New file.
89488 2007-04-06  Bruno Haible  <bruno@clisp.org>
89490         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
89491         (Link): New section.
89493         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
89495 2007-04-06  Bruno Haible  <bruno@clisp.org>
89497         Assume the 'long double' type.
89498         * m4/longdouble.m4: Remove file.
89499         * config/srclist.txt: Don't mention longdouble.m4.
89500         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
89501         * lib/float+.h: Likewise.
89502         * lib/frexp.c: Likewise.
89503         * lib/printf-args.h: Likewise.
89504         * lib/printf-args.c: Likewise.
89505         * lib/printf-frexp.c: Likewise.
89506         * lib/printf-parse.c: Likewise.
89507         * lib/vasnprintf.c: Likewise.
89508         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
89509         * m4/intl.m4: Likewise.
89510         * m4/isnanl.m4: Likewise.
89511         * m4/printf.m4: Likewise.
89512         * m4/printf-frexpl.m4: Likewise.
89513         * m4/vasnprintf.m4: Likewise.
89514         * modules/allocsa (Files): Remove m4/longdouble.m4.
89515         * modules/gettext (Files): Likewise.
89516         * modules/relocatable-prog-wrapper (Files): Likewise.
89517         * modules/vasnprintf (Files): Likewise.
89518         * modules/isnanl (Files): Likewise.
89519         (Include): Simplify.
89520         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
89521         (Include): Simplify.
89522         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
89523         (Include): Simplify.
89524         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
89525         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
89526         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
89527         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
89528         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
89529         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
89530         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
89531         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
89532         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
89533         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
89534         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
89535         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
89536         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
89537         * tests/test-isnanl.c: Likewise.
89538         * tests/test-snprintf-posix.h: Likewise.
89539         * tests/test-sprintf-posix.h: Likewise.
89540         * tests/test-vasnprintf-posix.c: Likewise.
89541         * tests/test-vasnprintf-posix2.c: Likewise.
89542         * tests/test-vasprintf-posix.c: Likewise.
89544 2007-04-06  Bruno Haible  <bruno@clisp.org>
89546         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
89547         * lib/math_.h [__DECC]: Include the overridden include file through
89548         #include_next, outside the double-inclusion guard.
89549         * lib/stdio_.h [__DECC]: Likewise.
89550         * lib/stdlib_.h [__DECC]: Likewise.
89551         * lib/string_.h [__DECC]: Likewise.
89552         * lib/time_.h [__DECC]: Likewise.
89553         * lib/wchar_.h [__DECC]: Likewise.
89554         * lib/wctype_.h [__DECC]: Likewise.
89555         * lib/inttypes_.h [__DECC]: Likewise.
89556         Reported by Albert Chin <china@thewrittenword.com> in
89557         <http://lists.gnu.org/r/bug-gnulib/2007-04/msg00088.html>.
89559 2007-04-04  Eric Blake  <ebb9@byu.net>
89561         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
89562         1.5.x.
89564 2007-04-04  Bruno Haible  <bruno@clisp.org>
89566         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
89567         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
89569 2007-04-04  Bruno Haible  <bruno@clisp.org>
89571         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
89572         results for "%010a" of Infinity and NaN.
89573         * tests/test-vasprintf-posix.c (test_function): Likewise.
89574         * tests/test-snprintf-posix.h (test_function): Likewise.
89575         * tests/test-sprintf-posix.h (test_function): Likewise.
89576         * tests/test-fprintf-posix.h (test_function): Remove these tests.
89577         * tests/test-printf-posix.h (test_function): Likewise.
89578         * tests/test-fprintf-posix.out: Update.
89579         Needed for FreeBSD 6.1.
89581 2007-04-04  Bruno Haible  <bruno@clisp.org>
89583         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
89584         directly used by the gnulib modules nor by gnulib-tool.
89586 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
89588         * DEPENDENCIES: Give overall description of version dependency
89589         desirability.  Use more-typical names for apps.
89590         Add shell, coreutils, diffutils, grep, tar, gzip.
89592 2007-04-04  Simon Josefsson  <simon@josefsson.org>
89594         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
89596 2007-04-04  Karl Berry  <karl@gnu.org>
89598         * MODULES.html.sh (func_module): missing '.
89600 2007-04-03  Bruno Haible  <bruno@clisp.org>
89602         * modules/argmatch-tests (Makefile.am): New variable
89603         test_argmatch_LDADD.
89604         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
89605         * modules/array-list-tests (Makefile.am): New variable
89606         test_array_list_LDADD.
89607         * modules/array-oset-tests (Makefile.am): New variable
89608         test_array_oset_LDADD.
89609         * modules/avltree-list-tests (Makefile.am): New variable
89610         test_avltree_list_LDADD.
89611         * modules/avltree-oset-tests (Makefile.am): New variable
89612         test_avltree_oset_LDADD.
89613         * modules/avltreehash-list-tests (Makefile.am): New variable
89614         test_avltreehash_list_LDADD.
89615         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
89616         test_canonicalize_lgpl_LDADD.
89617         * modules/carray-list-tests (Makefile.am): New variable
89618         test_carray_list_LDADD.
89619         * modules/dirname-tests (Makefile.am): New variable
89620         test_dirname_LDADD.
89621         * modules/linked-list-tests (Makefile.am): New variable
89622         test_linked_list_LDADD.
89623         * modules/linkedhash-list-tests (Makefile.am): New variable
89624         test_linkedhash_list_LDADD.
89625         * modules/rbtree-list-tests (Makefile.am): New variable
89626         test_rbtree_list_LDADD.
89627         * modules/rbtree-oset-tests (Makefile.am): New variable
89628         test_rbtree_oset_LDADD.
89629         * modules/rbtreehash-list-tests (Makefile.am): New variable
89630         test_rbtreehash_list_LDADD.
89631         * modules/xvasprintf-tests (Makefile.am): New variable
89632         test_xvasprintf_LDADD.
89633         Reported by Eric Blake.
89635 2007-04-03  Eric Blake  <ebb9@byu.net>
89637         * DEPENDENCIES: Weaken m4 requirements.
89639 2007-04-03  Bruno Haible  <bruno@clisp.org>
89641         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
89642         * modules/isnanl-tests (configure.ac): Likewise.
89644 2007-04-03  Ben Pfaff  <blp@gnu.org>
89646         * modules/iconv_open: Add $(srcdir)/ to source directory
89647         references in Makefile fragments that call gperf, to fix VPATH
89648         builds.
89650 2007-04-03  Bruno Haible  <bruno@clisp.org>
89652         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
89653         * lib/ldexpl.c: Undo last change.
89655 2007-04-03  Bruno Haible  <bruno@clisp.org>
89657         * modules/printf-frexpl (Depends-on): Undo last change.
89658         (Files): Add m4/ldexpl.m4.
89660 2007-04-03  Bruno Haible  <bruno@clisp.org>
89662         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
89663         * modules/isnanl (Link): New section.
89665         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
89666         * modules/frexp (Link): New section.
89668         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
89669         * modules/frexpl (Link): New section.
89671         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
89672         * modules/ldexpl (Link): New section.
89674 2007-04-03  Bruno Haible  <bruno@clisp.org>
89676         * modules/TEMPLATE-EXTENDED: New file.
89677         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
89679 2007-04-03  Bruno Haible  <bruno@clisp.org>
89681         * DEPENDENCIES: New file.
89682         Suggested by Simon Josefsson.
89684 2007-04-03  Bruno Haible  <bruno@clisp.org>
89686         * doc/gnulib.texi: Escape @.
89688 2007-04-03  James Youngman  <jay@gnu.org>
89689         and Paul Eggert  <eggert@cs.ucla.edu>
89691         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
89692         birthtime on all systems that have birthtime, not just those which
89693         use st_birthtimensec rather than st_birthtim.  Putting zero in
89694         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
89695         that the birth time is not available for files on an NFS mount.
89697 2007-04-03  Simon Josefsson  <simon@josefsson.org>
89699         * modules/memxor: Move back from crypto/, suggested by Bruno.
89700         * modules/crypto/hmac-sha1: Fix memxor dependency.
89702         * modules/crypto/gc: Moved from ../.
89704 2007-04-02  Eric Blake  <ebb9@byu.net>
89706         * lib/ldexpl.c (includes): Avoid libm.
89708         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
89710 2007-04-02  Bruno Haible  <bruno@clisp.org>
89712         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
89713         on IRIX.
89715 2007-04-02  Bruno Haible  <bruno@clisp.org>
89717         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
89718         x86 or x86_64 platforms running MacOS X.
89719         Reported by Ryan Schmidt <@ryandesign.com>.
89721 2007-04-02  Bruno Haible  <bruno@clisp.org>
89723         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
89724         i386.
89726 2007-04-01  Simon Josefsson  <simon@josefsson.org>
89728         * modules/crypto/arcfour: Moved from ../.
89729         * modules/crypto/arcfour-tests: Moved from ../.
89730         * modules/crypto/arctwo: Moved from ../.
89731         * modules/crypto/arctwo-tests: Moved from ../.
89732         * modules/crypto/des: Moved from ../.
89733         * modules/crypto/des-tests: Moved from ../.
89734         * modules/crypto/gc-arcfour: Moved from ../.
89735         * modules/crypto/gc-arcfour-tests: Moved from ../.
89736         * modules/crypto/gc-arctwo: Moved from ../.
89737         * modules/crypto/gc-arctwo-tests: Moved from ../.
89738         * modules/crypto/gc-des: Moved from ../.
89739         * modules/crypto/gc-des-tests: Moved from ../.
89740         * modules/crypto/gc-hmac-md5: Moved from ../.
89741         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
89742         * modules/crypto/gc-hmac-sha1: Moved from ../.
89743         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
89744         * modules/crypto/gc-md2: Moved from ../.
89745         * modules/crypto/gc-md2-tests: Moved from ../.
89746         * modules/crypto/gc-md4: Moved from ../.
89747         * modules/crypto/gc-md4-tests: Moved from ../.
89748         * modules/crypto/gc-md5: Moved from ../.
89749         * modules/crypto/gc-md5-tests: Moved from ../.
89750         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
89751         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
89752         * modules/crypto/gc-random: Moved from ../.
89753         * modules/crypto/gc-rijndael: Moved from ../.
89754         * modules/crypto/gc-rijndael-tests: Moved from ../.
89755         * modules/crypto/gc-sha1: Moved from ../.
89756         * modules/crypto/gc-sha1-tests: Moved from ../.
89757         * modules/crypto/gc-tests: Moved from ../.
89758         * modules/crypto/hmac-md5: Moved from ../.
89759         * modules/crypto/hmac-md5-tests: Moved from ../.
89760         * modules/crypto/hmac-sha1: Moved from ../.
89761         * modules/crypto/hmac-sha1-tests: Moved from ../.
89762         * modules/crypto/md2: Moved from ../.
89763         * modules/crypto/md2-tests: Moved from ../.
89764         * modules/crypto/md4: Moved from ../.
89765         * modules/crypto/md4-tests: Moved from ../.
89766         * modules/crypto/md5: Moved from ../.
89767         * modules/crypto/md5-tests: Moved from ../.
89768         * modules/crypto/memxor: Moved from ../.
89769         * modules/crypto/rijndael: Moved from ../.
89770         * modules/crypto/rijndael-tests: Moved from ../.
89771         * modules/crypto/sha1: Moved from ../.
89773 2007-03-30  James Youngman  <jay@gnu.org>
89775         * tests/test-stat-time.c (prepare_test): use chmod() rather than
89776         rename() to change the ctime of a file (because ctime is unaffected
89777         by rename on jfs2 on AIX 5.1).
89778         (main): Start by doing cleanup, in case a previous run failed leaving
89779         test files behind.
89781 2007-03-31  Bruno Haible  <bruno@clisp.org>
89783         Support old proprietary implementations of iconv.
89784         * modules/iconv_open: New file.
89785         * lib/iconv_.h: New file.
89786         * m4/iconv_h.m4: New file.
89787         * lib/iconv_open.c: New file.
89788         * lib/iconv_open-aix.gperf: New file.
89789         * lib/iconv_open-hpux.gperf: New file.
89790         * lib/iconv_open-irix.gperf: New file.
89791         * lib/iconv_open-osf.gperf: New file.
89792         * m4/iconv_open.m4: New file.
89793         * modules/linebreak (Depends-on): Add iconv_open.
89794         * modules/striconv (Depends-on): Likewise.
89795         * modules/striconveh (Depends-on): Likewise.
89796         * modules/unicodeio (Depends-on): Likewise.
89797         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
89798         (iconv_t)(-1).
89799         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
89800         conversion if cd is (iconv_t)(-1).
89801         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
89802         is not possible.
89804 2007-03-31  Bruno Haible  <bruno@clisp.org>
89806         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
89807         work on Solaris either. Protect also second use of "autodetect_jp".
89809 2007-03-31  Bruno Haible  <bruno@clisp.org>
89811         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
89812         the function is not present.
89814 2007-03-31  Bruno Haible  <bruno@clisp.org>
89816         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
89817         the function is not present.
89819 2007-03-31  Bruno Haible  <bruno@clisp.org>
89821         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
89822         a bug in HP-UX iconv_open().
89824 2007-03-31  Bruno Haible  <bruno@clisp.org>
89826         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
89827         (Mathematics <math.h>): New section, add fpieee.
89828         (Input/output <stdio.h>): Add fseterr.
89829         (Mathematics <math.h>): New section, add printf-frexp.
89830         (Container data structures): Add sublist.
89831         (Core language properties): Add fpucw, inline.
89832         (Functions for greatest-width integer types <inttypes.h>): Add
89833         imaxabs, imaxdiv, inttypes.
89834         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
89835         isnanl-nolibm, ldexp.
89836         (Mathematics <math.h>): New section, add printf-frexpl.
89837         (Support for systems lacking POSIX:2001): Add fprintf-posix,
89838         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
89839         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
89840         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
89841         (Unicode string functions): Add unistr/u*-mbtoucr.
89842         (Java): Add javacomp-script, javaexec-script.
89843         (C#): Add csharpcomp-script, csharpexec-script.
89844         (Support for building libraries and executables): Add havelib,
89845         relocatable-*.
89846         (Support for maintaining and releasing projects): Renamed from
89847         'Support for maintaining and release projects'. Add announce-gen.
89849 2007-03-31  Bruno Haible  <bruno@clisp.org>
89851         * README: Talk primarily about git.
89852         (git and CVS): Renamed from CVS.
89853         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
89854         gnulib is available through git.
89855         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
89857 2007-03-30  Bruno Haible  <bruno@clisp.org>
89859         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
89860         * lib/poll_.h: Likewise.
89861         * lib/stat_.h: Likewise.
89862         * lib/sys_time_.h: Likewise.
89863         * lib/sysexit_.h: Likewise.
89864         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
89865         * lib/stdbool_.h: Likewise.
89866         * lib/byteswap_.h: Add double-inclusion guard.
89868 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
89870         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
89872 2007-03-30  Karl Berry  <karl@gnu.org>
89874         * config/srclist-update: double space after USA in the license
89875         substitution, since that's how it's usually (?) written.
89877 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
89879         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
89880         reported by Bruno Haible.
89882 2007-03-29  Bruno Haible  <bruno@clisp.org>
89884         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
89885         a bug in AIX iconv().
89887 2007-03-29  Bruno Haible  <bruno@clisp.org>
89889         * modules/ldexpl-tests: New file.
89890         * tests/test-ldexpl.c: New file.
89892 2007-03-29  Bruno Haible  <bruno@clisp.org>
89894         * lib/ldexpl.c: Include fpucw.h.
89895         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
89896         multiplication.
89897         * modules/ldexpl (Depends-on): Add fpucw.
89899 2007-03-29  Bruno Haible  <bruno@clisp.org>
89901         * modules/ldexpl: New file.
89902         * m4/ldexpl.m4: New file.
89903         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
89904         set.
89905         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
89906         REPLACE_LDEXPL.
89907         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
89908         REPLACE_LDEXPL.
89909         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
89910         gl_FUNC_LDEXPL_WORKS.
89911         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
89912         * modules/mathl (Files): Remove lib/ldexpl.c.
89913         (Depends-on): Add ldexpl.
89915 2007-03-29  Bruno Haible  <bruno@clisp.org>
89917         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
89919 2007-03-29  Bruno Haible  <bruno@clisp.org>
89921         * tests/test-striconveh.c (main): Don't assume that a direct conversion
89922         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
89923         and possibly also HP-UX.
89924         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
89925         work on AIX, IRIX, HP-UX, OSF/1.
89926         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
89927         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
89928         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
89929         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
89930         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
89931         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
89933 2007-03-29  Bruno Haible  <bruno@clisp.org>
89935         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
89937 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
89939         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
89940         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
89942 2007-03-29  Eric Blake  <ebb9@byu.net>
89944         * lib/acl-internal.h: Remove redundant include.
89945         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
89946         Cygwin when a file is locked.
89948 2007-03-29  Bruno Haible  <bruno@clisp.org>
89950         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
89951         file.
89952         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
89954 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
89956         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
89957         try to remove a parent directory if the child couldn't be removed
89958         (except for the first rmdir, which could fail because the child
89959         doesn't exist).  Problem reported by Jeff Blaine in
89960         <http://lists.gnu.org/r/bug-tar/2007-03/msg00014.html>.
89962 2007-03-28  Bruno Haible  <bruno@clisp.org>
89964         * lib/striconveh.c (utf8conv_carefully): New function.
89965         (mem_cd_iconveh_internal): Invoke it.
89967 2007-03-28  Bruno Haible  <bruno@clisp.org>
89969         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
89970         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
89971         input.
89972         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
89973         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
89974         unistr/u8-uctomb.
89976 2007-03-28  Bruno Haible  <bruno@clisp.org>
89978         * modules/unistr/u8-mbtoucr: New file.
89979         * lib/unistr/u8-mbtoucr.c: New file.
89980         * modules/unistr/u16-mbtoucr: New file.
89981         * lib/unistr/u16-mbtoucr.c: New file.
89982         * modules/unistr/u16-mbtoucr: New file.
89983         * lib/unistr/u16-mbtoucr.c: New file.
89984         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
89986 2007-03-27  Simon Josefsson  <simon@josefsson.org>
89987             Bruno Haible  <bruno@clisp.org>
89989         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
89990         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
89991         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
89993         * m4/stdio_h.m4: Add stubs for vasprintf too.
89995         * modules/stdio: Support vasprintf in sed command.
89997         * modules/vasprintf: Depend on stdio for prototypes.  Remove
89998         vasprintf.h.  Add stdio module indicator.
90000         * lib/stdio_.h: Declare asprintf and vasprintf, based on
90001         vasprintf.h.
90003         * lib/vasprintf.h: File removed.
90005         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
90006         * lib/vasprintf.c: Ditto.
90007         * lib/xvasprintf.c: Ditto.
90008         * tests/test-vasprintf-posix.c: Ditto.
90009         * tests/test-vasprintf.c: Ditto.
90011 2007-03-27  Bruno Haible  <bruno@clisp.org>
90013         Make vasnprintf multithread-safe.
90014         * lib/vasnprintf.c (decimal_point_char): New function.
90015         (VASNPRINTF): Use it.
90016         Suggested by Simon Josefsson.
90018 2007-03-27  Eric Blake  <ebb9@byu.net>
90020         Support sub-second birthtime on cygwin.
90021         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
90022         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
90023         (get_stat_birthtime): Also work with st_birthtim.
90025 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
90027         * lib/stat-time.h (USE_BIRTHTIME): Remove.
90028         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
90029         (get_stat_birthtime_ns): Do not try to use "spare" fields.
90030         (get_stat_birthtime_ns): Simplify compile-time tests.
90031         (get_stat_birthtime): Change the API to look like
90032         get_stat_mtime etc., except return a negative tv_nsec on error.
90033         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
90034         Don't check for "spare" fields.
90035         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
90036         or for struct stat.st_birthtime, as these tests aren't used.
90037         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
90039 2007-03-27  Bruno Haible  <bruno@clisp.org>
90041         * lib/stat-time.h: Include <sys/stat.h>.
90043 2007-03-27  James Youngman  <jay@gnu.org>
90045         * lib/stat-time.h (get_stat_birthtime): New function for
90046           retrieving st_birthtime as provided by UFS2 (hence *BSD).
90047         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
90048           and its variants.
90049         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
90050         * modules/stat-time-test: New file.
90051         * tests/test-stat-time.c: New test, devised by Bruno Haible.
90053 2007-03-26  Bruno Haible  <bruno@clisp.org>
90055         Better support of signalling NaNs.
90056         * lib/atanl.c: Include isnanl.h.
90057         (atanl): Perform test for NaN at the beginning of the function and
90058         through a call to isnanl.
90059         * lib/cosl.c: Include isnanl.h.
90060         (cosl): Perform test for NaN at the beginning of the function and
90061         through a call to isnanl.
90062         * lib/ldexpl.c: Include isnanl.h.
90063         (ldexpl): Perform test for NaN through a call to isnanl.
90064         * lib/logl.c: Include isnanl.h.
90065         (logl): Perform test for NaN at the beginning of the function and
90066         through a call to isnanl.
90067         * lib/sinl.c: Include isnanl.h.
90068         (sinl): Perform test for NaN at the beginning of the function and
90069         through a call to isnanl.
90070         * lib/sqrtl.c: Include isnanl.h.
90071         (sqrtl): Perform test for NaN at the beginning of the function and
90072         through a call to isnanl.
90073         * lib/tanl.c: Include isnanl.h.
90074         (tanl): Perform test for NaN at the beginning of the function and
90075         through a call to isnanl.
90076         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
90077         * modules/mathl (Depends-on): Add isnanl.
90079 2007-03-26  Eric Blake  <ebb9@byu.net>
90081         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
90082         regression in logic sense of previous patch.
90084 2007-03-26  Bruno Haible  <bruno@clisp.org>
90086         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
90087         unportable shell command "if ! ...".
90088         Reported by Ralf Wildenhues.
90090 2007-03-25  Bruno Haible  <bruno@clisp.org>
90092         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
90093         <sysexits.h> file, and only add EX_CONFIG.
90094         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
90095         absolute file name and whether it is sufficient. Substitute also
90096         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
90097         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
90098         ABSOLUTE_SYSEXITS_H into sysexits.h.
90100 2007-03-25  Bruno Haible  <bruno@clisp.org>
90102         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
90103         hints is NULL.
90105 2007-03-25  Bruno Haible  <bruno@clisp.org>
90107         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
90108         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
90110 2007-03-25  Bruno Haible  <bruno@clisp.org>
90112         * lib/vasnprintf.c: Include langinfo.h.
90113         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
90114         multithread-safe.
90115         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
90116         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
90117         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
90118         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
90119         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
90120         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
90121         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
90122         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
90123         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
90124         Reported by Simon Josefsson.
90126 2007-03-25  Bruno Haible  <bruno@clisp.org>
90128         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
90129         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
90130         * modules/vasnprintf (Depends-on): Add stdint.
90132 2007-03-25  Bruno Haible  <bruno@clisp.org>
90134         * modules/fpieee: New file.
90135         * m4/fpieee.m4: New file.
90136         * modules/isnan-nolibm (Depends-on): Add fpieee.
90137         * modules/isnanl-nolibm (Depends-on): Add fpieee.
90138         * modules/isnanl (Depends-on): Add fpieee.
90140 2007-03-25  Bruno Haible  <bruno@clisp.org>
90142         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
90144 2007-03-25  Bruno Haible  <bruno@clisp.org>
90146         Avoid test failures on IRIX 6.5.
90147         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
90148         (main): Use it.
90149         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
90150         macros.
90151         (main): Use them.
90153 2007-03-25  Bruno Haible  <bruno@clisp.org>
90155         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
90156         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
90157         exists but doesn't work.
90158         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
90159         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
90160         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
90161         * modules/math (Makefile.am): Substitute also REPLACE_FREXPL into
90162         math.h.
90164 2007-03-25  Bruno Haible  <bruno@clisp.org>
90166         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
90167         returns inf. Needed on IRIX 6.5.
90169 2007-03-25  Bruno Haible  <bruno@clisp.org>
90171         * tests/test-frexpl.c: Include isnanl-nolibm.h.
90172         (main): Use isnanl instead of x != x idiom.
90173         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
90175         * tests/test-frexp.c: Include isnan.h.
90176         (main): Use isnan instead of x != x idiom.
90177         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
90179 2007-03-25  Bruno Haible  <bruno@clisp.org>
90181         * tests/test-frexp.c (NaN): New function/macro.
90182         (main): Use it instead of 0.0 / 0.0.
90183         * tests/test-isnan.c (NaN): New function/macro.
90184         (main): Use it instead of 0.0 / 0.0.
90185         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
90186         (test_function): Use it instead of 0.0 / 0.0.
90187         * tests/test-vasprintf-posix.c (NaN): New function/macro.
90188         (test_function): Use it instead of 0.0 / 0.0.
90189         * tests/test-snprintf-posix.h (NaN): New function/macro.
90190         (test_function): Use it instead of 0.0 / 0.0.
90191         * tests/test-sprintf-posix.h (NaN): New function/macro.
90192         (test_function): Use it instead of 0.0 / 0.0.
90193         * tests/test-fprintf-posix.h (NaN): New function/macro.
90194         (test_function): Use it instead of 0.0 / 0.0.
90195         * tests/test-printf-posix.h (NaN): New function/macro.
90196         (test_function): Use it instead of 0.0 / 0.0.
90198         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
90200 2007-03-25  Bruno Haible  <bruno@clisp.org>
90202         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
90204 2007-03-25  Bruno Haible  <bruno@clisp.org>
90206         * lib/regexec.c (merge_state_with_log): Make static.
90208 2007-03-25  Bruno Haible  <bruno@clisp.org>
90210         * lib/trigl.c (kernel_rem_pio2): Make static.
90212 2007-03-25  Bruno Haible  <bruno@clisp.org>
90214         * lib/sincosl.c (sincosl_table): Make static.
90216 2007-03-25  Bruno Haible  <bruno@clisp.org>
90218         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
90219         if the compiler does not support C99.
90221 2007-03-25  Bruno Haible  <bruno@clisp.org>
90223         * modules/time (Makefile.am): Ensure all rule action lines start with a
90224         tab.
90226 2007-03-24  Bruno Haible  <bruno@clisp.org>
90228         * modules/tsearch-tests: New file.
90229         * tests/test-tsearch.sh: New file.
90230         * tests/test-tsearch.c: New file, mostly copied from glibc.
90232         * modules/search-tests: New file.
90233         * tests/test-search.c: New file.
90235         * modules/search: New file.
90236         * lib/search_.h: New file, incorporating lib/tsearch.h.
90237         * m4/search_h.m4: New file.
90238         * lib/tsearch.h: Remove file.
90239         * lib/tsearch.c: Include search.h instead of tsearch.h.
90240         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
90241         HAVE_TSEARCH.
90242         * modules/tsearch (Files): Remove lib/tsearch.h.
90243         (Depends-on): Add search.
90244         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
90245         (Include): Change tsearch.h into search.h.
90247 2007-03-24  Bruno Haible  <bruno@clisp.org>
90249         * modules/fpucw: New file.
90250         * lib/fpucw.h: New file.
90251         * lib/frexp.c: Include fpucw.h.
90252         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
90253         (FUNC): Use them.
90254         * lib/printf-frexp.c: Include fpucw.h.
90255         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
90256         (FUNC): Use them.
90257         * lib/vasnprintf.c: Include fpucw.h.
90258         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
90259         'long double' calculations.
90260         * tests/test-frexpl.c: Include fpucw.h.
90261         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
90262         * tests/test-printf-frexpl.c: Include fpucw.h.
90263         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
90264         * modules/frexpl (Depends-on): Add fpucw.
90265         * modules/printf-frexpl (Depends-on): Likewise.
90266         * modules/fprintf-posix (Depends-on): Likewise.
90267         * modules/snprintf-posix (Depends-on): Likewise.
90268         * modules/sprintf-posix (Depends-on): Likewise.
90269         * modules/vasnprintf-posix (Depends-on): Likewise.
90270         * modules/vasprintf-posix (Depends-on): Likewise.
90271         * modules/vfprintf-posix (Depends-on): Likewise.
90272         * modules/vsnprintf-posix (Depends-on): Likewise.
90273         * modules/vsprintf-posix (Depends-on): Likewise.
90274         * modules/frexpl-tests (Depends-on): Likewise.
90275         * modules/printf-frexpl-tests (Depends-on): Likewise.
90277 2007-03-24  Bruno Haible  <bruno@clisp.org>
90279         * lib/float+.h: New file.
90280         * lib/isnan.c: Include float+.h.
90281         (SIZE): New macro.
90282         (FUNC): Compare only SIZE bytes of the value.
90283         * lib/vasnprintf.c: Include float+.h.
90284         (VASNPRINTF): When comparing against +0.0L or +0.0, compare only
90285         SIZEOF_LDBL or SIZEOF_DBL bytes.
90286         * modules/isnan-nolibm (Files): Add lib/float+.h.
90287         * modules/isnanl-nolibm (Files): Add lib/float+.h.
90288         * modules/isnanl (Files): Add lib/float+.h.
90289         * modules/vasnprintf (Files): Add lib/float+.h.
90291 2007-03-24  Bruno Haible  <bruno@clisp.org>
90293         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
90294         include isnanl-nolibm.h.
90296 2007-03-24  Bruno Haible  <bruno@clisp.org>
90298         * tests/test-read-file.c (main): Don't produce spurious output for
90299         expected situations. Make the test fail if it encountered unexpected
90300         results.
90302 2007-03-24  Bruno Haible  <bruno@clisp.org>
90304         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
90305         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
90307 2007-03-24  Bruno Haible  <bruno@clisp.org>
90309         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
90311 2007-03-24  Bruno Haible  <bruno@clisp.org>
90313         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
90314         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
90316         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
90317         * modules/utf8-ucs4: Turn into a symbolic link to module
90318         unistr/u8-mbtouc.
90320         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
90321         utf8-ucs4-unsafe.
90322         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
90323         unistr/u8-mbtouc-unsafe.
90325         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
90326         * modules/utf16-ucs4: Turn into a symbolic link to module
90327         unistr/u16-mbtouc.
90329         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
90330         utf16-ucs4-unsafe.
90331         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
90332         unistr/u16-mbtouc-unsafe.
90334         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
90335         * modules/ucs4-utf8: Turn into a symbolic link to module
90336         unistr/u8-ubtomb.
90338         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
90339         * modules/ucs4-utf16: Turn into a symbolic link to module
90340         unistr/u16-ubtomb.
90342 2007-03-24  Bruno Haible  <bruno@clisp.org>
90344         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
90345         Enable the function only if HAVE_INLINE.
90346         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
90347         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
90348         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
90349         Enable the function only if HAVE_INLINE.
90350         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
90351         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
90352         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
90353         Enable the function only if HAVE_INLINE.
90354         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
90355         Enable the function only if HAVE_INLINE.
90356         * modules/utf8-ucs4: Update.
90357         * modules/utf8-ucs4-unsafe: Update.
90358         * modules/utf16-ucs4: Update.
90359         * modules/utf16-ucs4-unsafe: Update.
90360         * modules/ucs4-utf8: Update.
90361         * modules/ucs4-utf16: Update.
90363 2007-03-24  Bruno Haible  <bruno@clisp.org>
90365         * lib/utf8-ucs4.h: Remove file.
90366         * lib/utf8-ucs4-unsafe.h: Remove file.
90367         * lib/utf16-ucs4.h: Remove file.
90368         * lib/utf16-ucs4-unsafe.h: Remove file.
90369         * lib/ucs4-utf8.h: Remove file.
90370         * lib/ucs4-utf16.h: Remove file.
90371         * lib/unistr.h: Include their previous contents.
90372         * m4/utf-ucs4.m4: Remove file.
90373         * m4/ucs4-utf.m4: Remove file.
90374         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
90375         (Depends-on): Add unistr/base.
90376         (configure.ac): Remove gl_UTF_UCS4.
90377         (Makefile.am): Update.
90378         (Include): Change to unistr.h.
90379         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
90380         (Depends-on): Add unistr/base.
90381         (configure.ac): Remove gl_UTF_UCS4.
90382         (Makefile.am): Update.
90383         (Include): Change to unistr.h.
90384         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
90385         (Depends-on): Add unistr/base.
90386         (configure.ac): Remove gl_UTF_UCS4.
90387         (Makefile.am): Update.
90388         (Include): Change to unistr.h.
90389         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
90390         (Depends-on): Add unistr/base.
90391         (configure.ac): Remove gl_UTF_UCS4.
90392         (Makefile.am): Update.
90393         (Include): Change to unistr.h.
90394         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
90395         (Depends-on): Add unistr/base.
90396         (configure.ac): Remove gl_UCS4_UTF.
90397         (Makefile.am): Update.
90398         (Include): Change to unistr.h.
90399         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
90400         (Depends-on): Add unistr/base.
90401         (configure.ac): Remove gl_UCS4_UTF.
90402         (Makefile.am): Update.
90403         (Include): Change to unistr.h.
90404         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
90405         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
90406         utf8-ucs4-unsafe.h.
90407         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
90408         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
90409         utf16-ucs4-unsafe.h.
90410         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
90411         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
90412         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
90413         * lib/unistr/u8-strchr.c: Likewise.
90414         * lib/unistr/u8-strrchr.c: Likewise.
90415         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
90416         * lib/unistr/u16-strchr.c: Likewise.
90417         * lib/unistr/u16-strrchr.c: Likewise.
90418         * lib/striconveh.c: Update.
90419         * lib/linebreak.c: Update.
90421 2007-03-24  Bruno Haible  <bruno@clisp.org>
90423         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
90424         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
90426 2007-03-22  Bruno Haible  <bruno@clisp.org>
90428         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
90430 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
90432         * MODULES.html.sh (File system functions): New module write-any-file.
90433         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
90434         * m4/write-any-file.m4: New files.
90436 2007-03-23  Eric Blake  <ebb9@byu.net>
90438         * gnulib-tool: Rearrange space-tab sequences, since some editors
90439         like to eat them.
90441 2007-03-23  Eric Blake  <ebb9@byu.net>
90443         * lib/version-etc.c (version_etc_va): Update license wording to
90444         be more concise.  Recommended by Richard Stallman.
90446 2007-03-22  Bruno Haible  <bruno@clisp.org>
90448         * lib/poll.c (MSG_PEEK): New fallback definition.
90450 2007-03-22  Bruno Haible  <bruno@clisp.org>
90452         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
90453         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
90454         (main): Update.
90455         Fixes a compilation error on BeOS.
90457 2007-03-22  Bruno Haible  <bruno@clisp.org>
90459         * modules/frexpl-tests: New file.
90460         * tests/test-frexpl.c: New file.
90462         * modules/frexpl: New file.
90463         * m4/frexpl.m4: New file.
90464         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
90465         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
90466         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
90467         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
90468         (Depends-on): Add frexpl. Remove isnanl-nolibm.
90469         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
90471 2007-03-22  Bruno Haible  <bruno@clisp.org>
90473         * lib/frexpl.c: Share code with lib/frexp.c.
90474         * modules/mathl (Files): Add lib/frexp.c.
90475         (Depends-on): Add isnanl-nolibm.
90477 2007-03-22  Bruno Haible  <bruno@clisp.org>
90479         * modules/printf-frexp (Files): Add m4/frexp.m4.
90480         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
90481         only if the found frexp function actually works.
90483 2007-03-22  Bruno Haible  <bruno@clisp.org>
90485         * lib/frexp.c: Remove older implementation that uses divisions.
90487 2007-03-21  Bruno Haible  <bruno@clisp.org>
90489         * modules/frexp-tests: New file.
90490         * tests/test-frexp.c: New file.
90492         * modules/frexp: New file.
90493         * lib/frexp.c: New file.
90494         * m4/frexp.m4: New file.
90495         * lib/math_.h (frexp): New declaration.
90496         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
90497         REPLACE_FREXP.
90498         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
90500 2007-03-21  Bruno Haible  <bruno@clisp.org>
90502         * modules/isnanl-tests: New file.
90503         * tests/test-isnanl.c: New file.
90505         * modules/isnanl: New file.
90506         * lib/isnanl.h: New file.
90507         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
90508         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
90509         gl_FUNC_ISNANL_WORKS.
90510         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
90511         New macros.
90513 2007-03-21  Bruno Haible  <bruno@clisp.org>
90515         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
90516         lib/isnanl.h.
90517         (Include): Update.
90518         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
90519         * lib/vasnprintf.c: Update.
90520         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
90521         tests/test-isnanl.h, remove tests/test-isnanl.c.
90522         (Makefile.am): Update.
90523         * tests/test-isnanl-nolibm.c: New file.
90524         * tests/test-isnanl.h: New file.
90525         * tests/test-isnanl.c: Remove file.
90527 2007-03-21  Jim Meyering  <jim@meyering.net>
90529         When trying to open ".", treat ESTALE like EACCES.
90530         * lib/savewd.c (savewd_save): Resort to forking not just upon
90531         failure with EACCES, but also when errno is ESTALE.
90533 2007-03-20  Bruno Haible  <bruno@clisp.org>
90535         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
90536         Needed on AIX 5.1. Reported by Matthew Woehlke.
90538 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
90540         Suggestions by Bruno Haible:
90541         * lib/acl-internal.h: Include "gettext.h" rather than rolling
90542         our own.
90543         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
90544         * modules/acl (Depends-on): Add gettext.
90546 2007-03-19  Bruno Haible  <bruno@clisp.org>
90548         * modules/iconvme: Remove file.
90549         * lib/iconvme.h: Remove file.
90550         * lib/iconvme.c: Remove file.
90551         * m4/iconvme.m4: Remove file.
90553 2007-03-19  Bruno Haible  <bruno@clisp.org>
90555         * doc/relocatable-maint.texi: Break long shell script line.
90556         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
90558 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
90560         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
90561         handle file_has_acl.
90562         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
90563         * lib/acl.c: Move header inclusions and related macro defns into
90564         lib/acl-internal.h.
90565         (S_ISLNK): Remove defn, since that's now done for us.
90566         (file_has_acl): Move to lib/file-has-acl.c.
90567         Call acl_trivial if available.  This is the crucial part of the fix.
90568         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
90569         shared within the library.  Rewrite a bit, partly to make it compatible
90570         with the GNU coding style.
90571         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
90572         Remove unnecessary double-quotes.
90573         Don't test for acl_to_text; the build will catch that.
90574         Replace acl_entries if it doesn't exist and it is needed.
90575         Check for -lsec and acl_trivial (as used on Solaris 10).
90576         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
90577         lib/file-has-acl.c.
90578         (Depends-on): Add sys_stat, for S_ISLNK.
90580 2007-03-19  Ben Pfaff  <blp@gnu.org>
90582         * doc/gnulib.texi: Fix typos.
90583         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
90585 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
90587         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
90588         If size is zero here, buf must be zero.
90590 2007-03-19  Simon Josefsson  <simon@josefsson.org>
90592         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
90593         <bruno@clisp.org>.
90595 2007-03-18  Bruno Haible  <bruno@clisp.org>
90597         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
90598         Suggested by Eric Blake.
90600 2007-03-18  Ben Pfaff  <blp@gnu.org>
90602         * doc/relocatable.texi: Recommend using as prefix a directory
90603         that does not exist and will never be created.  Based on
90604         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
90605         and others.
90607 2007-03-17  Bruno Haible  <bruno@clisp.org>
90609         * lib/fchownat.c: Include lchown.h.
90611 2007-03-17  Bruno Haible  <bruno@clisp.org>
90613         Fix endless loop when the given allocated size was > INT_MAX.
90614         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
90615         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
90616         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
90617         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
90618         * lib/sprintf.c (sprintf): Likewise.
90620 2007-03-17  Bruno Haible  <bruno@clisp.org>
90622         * tests/test-argp-2.sh (func_compare): Output a context diff.
90624 2007-03-17  Bruno Haible  <bruno@clisp.org>
90626         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
90627         locale's decimal-point character.
90629 2007-03-17  Bruno Haible  <bruno@clisp.org>
90631         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
90632         before comparing it. Needed because on some platforms (e.g. x86) a
90633         'long double' occupies less bytes than sizeof (long double).
90635 2007-03-17  Bruno Haible  <bruno@clisp.org>
90637         * tests/test-crc.c (main): Make printf statements 64-bit clean.
90638         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
90639         * tests/test-getaddrinfo.c (simple): Likewise.
90640         * tests/test-read-file.c (main): Likewise.
90642 2007-03-17  Bruno Haible  <bruno@clisp.org>
90644         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
90646 2007-03-17  Bruno Haible  <bruno@clisp.org>
90648         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
90649         unused variable.
90651 2007-03-17  Bruno Haible  <bruno@clisp.org>
90653         * tests/test-c-strcasecmp.c: Include c-strcase.h.
90654         * tests/test-c-strncasecmp.c: Likewise.
90656 2007-03-17  Bruno Haible  <bruno@clisp.org>
90658         * modules/stdlib (Depends-on): Add unistd.
90659         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
90660         Needed for MacOS X 10.3.
90662 2007-03-17  Bruno Haible  <bruno@clisp.org>
90664         * lib/unistr/u-strdup.h: Include <stdlib.h>.
90666 2007-03-17  Bruno Haible  <bruno@clisp.org>
90668         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
90670 2007-03-17  Bruno Haible  <bruno@clisp.org>
90672         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
90673         to reflect files copied from gnulib (with or without modifications).
90674         Suggested by Jim Meyering.
90676 2007-03-17  Eric Blake  <ebb9@byu.net>
90678         * NEWS: Document stdlib change from 2007-02-18.
90680 2007-03-17  Jim Meyering  <jim@meyering.net>
90682         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
90683         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
90684         someone uses a name containing shell meta-characters.
90685         Reported by Alfred M. Szmidt.
90687         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
90689 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
90691         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
90692         and copy gettext configuration files only if configure.ac contains
90693         a use of AM_GNU_GETTEXT_VERSION.
90695 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
90697         * build-aux/bootstrap (gnulib_name): New variable.
90698         (gnulib_tool_options): Use it.
90700 2007-03-13  Simon Josefsson  <simon@josefsson.org>
90702         * tests/test-des.c: Use new namespace.
90704 2007-03-15  Bruno Haible  <bruno@clisp.org>
90706         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
90707         Reported by James Youngman <jay@gnu.org>.
90709 2007-03-15  Bruno Haible  <bruno@clisp.org>
90711         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
90712         declared prototype. Needed with cc on OSF/1 5.1.
90714 2007-03-15  Bruno Haible  <bruno@clisp.org>
90716         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
90717         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
90718         (struct gl_list_implementation): Add dispose_fn argument to the
90719         'create_empty', 'create' methods.
90720         (struct gl_list_impl_base): Add field 'dispose_fn'.
90721         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
90722         argument.
90723         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
90724         dispose_fn argument.
90725         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
90726         dispose_fn on the dropped values.
90727         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
90728         dispose_fn argument.
90729         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
90730         dropped values.
90731         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
90732         (gl_tree_remove_node): Call dispose_fn on the dropped value.
90733         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
90734         (gl_tree_remove_node): Call dispose_fn on the dropped value.
90735         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
90736         argument.
90737         (gl_tree_list_free): Call dispose_fn on the dropped values.
90738         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
90739         the dropped values.
90740         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
90741         Add dispose_fn argument.
90742         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
90743         Call dispose_fn on the dropped values.
90744         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
90745         Add dispose_fn argument.
90746         (gl_sublist_create): Initialize the 'dispose_fn' field.
90747         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
90748         * tests/test-array_list.c (main): Update.
90749         * tests/test-carray_list.c (main): Update.
90750         * tests/test-avltree_list.c (main): Update.
90751         * tests/test-rbtree_list.c (main): Update.
90752         * tests/test-avltreehash_list.c (main): Update.
90753         * tests/test-rbtreehash_list.c (main): Update.
90754         * tests/test-linked_list.c (main): Update.
90755         * tests/test-linkedhash_list.c (main): Update.
90756         * tests/test-array_oset.c (main): Update.
90758 2007-03-15  Bruno Haible  <bruno@clisp.org>
90760         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
90761         (gl_oset_create_empty): Add dispose_fn argument.
90762         (struct gl_oset_implementation): Add dispose_fn argument to
90763         'create_empty' method.
90764         (struct gl_oset_impl_base): Add dispose_fn field.
90765         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
90766         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
90767         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
90768         values.
90769         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
90770         (gl_tree_oset_free): Call dispose_fn on the dropped values.
90771         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
90772         dropped value.
90773         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
90774         dropped value.
90775         * tests/test-array_oset.c (main): Update.
90776         * tests/test-avltree_oset.c (main): Update.
90777         * tests/test-rbtree_oset.c (main): Update.
90778         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
90780 2007-03-13  Bruno Haible  <bruno@clisp.org>
90782         * tests/test-stdbool.c (i): Update after last patch.
90784 2007-03-12  Bruno Haible  <bruno@clisp.org>
90786         * lib/quotearg.c: Include <wctype.h> early, before the definition of
90787         the iswprint macro. Needed on Solaris 2.5.1.
90789 2007-03-12  Bruno Haible  <bruno@clisp.org>
90791         * tests/test-printf-frexp.c (main): Declare x as volatile.
90793 2007-03-12  Simon Josefsson  <simon@josefsson.org>
90795         * doc/gnulib.texi (Build robot for gnulib): New section.
90797 2007-03-12  Jim Meyering  <jim@meyering.net>
90799         * build-aux/bootstrap: New file.
90800         * build-aux/bootstrap.conf: New file, from coreutils.
90802 2007-03-11  Bruno Haible  <bruno@clisp.org>
90804         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
90806 2007-03-12  Simon Josefsson  <simon@josefsson.org>
90808         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
90809         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
90810         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
90812 2007-03-11  Bruno Haible  <bruno@clisp.org>
90814         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
90815         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
90817 2007-03-11  Bruno Haible  <bruno@clisp.org>
90819         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
90820         formula. Needed for SunPRO C 5.0.
90822 2007-03-11  Bruno Haible  <bruno@clisp.org>
90824         * modules/long-options (Depends-on): Add getopt.
90826 2007-03-11  Bruno Haible  <bruno@clisp.org>
90828         * modules/modechange (Depends-on): Add stdbool.
90830 2007-03-11  Bruno Haible  <bruno@clisp.org>
90832         * modules/i-ring (Depends-on): Add stdbool.
90834 2007-03-11  Bruno Haible  <bruno@clisp.org>
90836         * modules/gc-des (Depends-on): Add stdbool.
90838 2007-03-11  Bruno Haible  <bruno@clisp.org>
90840         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
90842 2007-03-11  Bruno Haible  <bruno@clisp.org>
90844         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
90846 2007-03-11  Bruno Haible  <bruno@clisp.org>
90848         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
90850 2007-03-11  Bruno Haible  <bruno@clisp.org>
90852         * lib/vasnprintf.c (sprintf): Undefine.
90854 2007-03-11  Bruno Haible  <bruno@clisp.org>
90856         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
90857         initializers in SunPRO C and Compaq C compilers.
90859 2007-03-11  Bruno Haible  <bruno@clisp.org>
90861         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
90862         decrementing code ANSI C compliant.
90864 2007-03-11  Bruno Haible  <bruno@clisp.org>
90866         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
90867         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
90869 2007-03-11  Bruno Haible  <bruno@clisp.org>
90871         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
90872         <stdbool.h> substitute doesn't pass.
90874 2007-03-11  Bruno Haible  <bruno@clisp.org>
90876         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
90878 2007-03-11  Bruno Haible  <bruno@clisp.org>
90880         * gnulib-tool (func_create_megatestdir): Create also an autobuild
90881         script, for submission to autobuild.josefsson.org.
90883 2007-03-10  Bruno Haible  <bruno@clisp.org>
90885         * modules/canonicalize-lgpl-tests: New file.
90886         * tests/test-canonicalize-lgpl.sh: New file.
90887         * tests/test-canonicalize-lgpl.c: New file.
90889         * modules/c-strcase-tests: New file.
90890         * tests/test-c-strcase.sh: New file.
90891         * tests/test-c-strcasecmp.c: New file.
90892         * tests/test-c-strncasecmp.c: New file.
90894         * modules/atexit-tests: New file.
90895         * tests/test-atexit.sh: New file.
90896         * tests/test-atexit.c: New file.
90898 2007-03-10  Bruno Haible  <bruno@clisp.org>
90900         * tests/test-binary-io.sh: Use temporary filenames that are not so
90901         likely to clash with those of other tests (in a parallel make).
90902         * tests/test-binary-io.c: Likewise.
90904 2007-03-10  Bruno Haible  <bruno@clisp.org>
90906         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
90907         fallback; use #error instead.
90908         Suggested by Simon Josefsson.
90910 2007-03-10  Bruno Haible  <bruno@clisp.org>
90912         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
90913         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
90914         first and the last.
90916 2007-03-10  Bruno Haible  <bruno@clisp.org>
90918         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
90920 2007-03-10  Bruno Haible  <bruno@clisp.org>
90922         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
90923         "make distcheck".
90924         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
90925         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
90926         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
90928 2007-03-10  Bruno Haible  <bruno@clisp.org>
90930         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
90931         variable.
90932         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
90933         variable.
90935 2007-03-09  Eric Blake  <ebb9@byu.net>
90936         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
90938         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
90939         types are not being provided by gnulib.
90940         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
90941         types are supported.
90943 2007-03-10  Bruno Haible  <bruno@clisp.org>
90945         * lib/stdio_.h (__attribute__): New macro.
90946         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
90947         vsprintf): Specify __attribute__ __format__ for GCC.
90948         Suggested by Eric Blake.
90950 2007-03-09  Bruno Haible  <bruno@clisp.org>
90952         * modules/printf-posix-tests: New file.
90953         * tests/test-printf-posix.sh: New file.
90954         * tests/test-printf-posix.c: New file.
90956         * modules/printf-posix: New file.
90957         * lib/printf.c: New file.
90958         * m4/printf-posix-rpl.m4: New file.
90959         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
90960         REPLACE_PRINTF.
90961         * lib/stdio_.h (printf): New declaration.
90962         (format, __format__, ____printf____, ____scanf____, ____strftime____,
90963         ____strfmon____): New macros.
90964         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
90965         REPLACE_PRINTF.
90967 2007-03-09  Bruno Haible  <bruno@clisp.org>
90969         * tests/test-vasnprintf-posix2.sh: New file.
90970         * tests/test-vasnprintf-posix2.c: New file.
90971         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
90972         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
90973         (Makefile.am): Activate test-vasnprintf-posix2.sh.
90975         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
90976         a locale dependent decimal point, rather than always '.'.
90978 2007-03-09  Eric Blake  <ebb9@byu.net>
90980         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
90981         spite of platforms like Tandem/NSK that define it to -1.
90983 2007-03-08  Bruno Haible  <bruno@clisp.org>
90985         * modules/vprintf-posix-tests: New file.
90986         * tests/test-vprintf-posix.sh: New file.
90987         * tests/test-vprintf-posix.c: New file.
90988         * tests/test-printf-posix.h: New file.
90990         * modules/vprintf-posix: New file.
90991         * lib/vprintf.c: New file.
90992         * m4/vprintf-posix.m4: New file.
90993         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
90994         REPLACE_VPRINTF.
90995         * lib/stdio_.h (vprintf): New declaration.
90996         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
90997         REPLACE_VPRINTF.
90999 2007-03-08  Bruno Haible  <bruno@clisp.org>
91001         * modules/fprintf-posix-tests: New file.
91002         * tests/test-fprintf-posix.sh: New file.
91003         * tests/test-fprintf-posix.c: New file.
91005         * modules/fprintf-posix: New file.
91006         * lib/fprintf.c: New file.
91007         * m4/fprintf-posix.m4: New file.
91008         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
91009         REPLACE_FPRINTF.
91010         * lib/stdio_.h (fprintf): New declaration.
91011         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
91012         REPLACE_FPRINTF.
91014 2007-03-08  Bruno Haible  <bruno@clisp.org>
91016         * modules/vfprintf-posix-tests: New file.
91017         * tests/test-vfprintf-posix.sh: New file.
91018         * tests/test-vfprintf-posix.c: New file.
91019         * tests/test-fprintf-posix.h: New file.
91020         * tests/test-fprintf-posix.out: New file.
91022         * modules/vfprintf-posix: New file.
91023         * lib/vfprintf.c: New file.
91024         * m4/vfprintf-posix.m4: New file.
91025         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
91026         REPLACE_VFPRINTF.
91027         * lib/stdio_.h (vfprintf): New declaration.
91028         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
91029         REPLACE_VFPRINTF.
91031 2007-03-08  Bruno Haible  <bruno@clisp.org>
91033         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
91035 2007-03-08  Bruno Haible  <bruno@clisp.org>
91037         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
91038         instead of 'expr' invocations.
91039         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
91040         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
91041         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
91042         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
91043         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
91044         Suggested by Paul Eggert.
91046 2007-03-08  Bruno Haible  <bruno@clisp.org>
91048         * modules/fseterr-tests: New file.
91049         * tests/test-fseterr.c: New file.
91051         * modules/fseterr: New file.
91052         * lib/fseterr.h: New file.
91053         * lib/fseterr.c: New file.
91055 2007-03-08  Bruno Haible  <bruno@clisp.org>
91057         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
91058         * lib/getopt_.h: Likewise.
91059         * lib/mbswidth.h: Likewise.
91060         * lib/setenv.h: Likewise.
91061         * lib/vasnprintf.h: Likewise.
91062         * lib/vasprintf.h: Likewise.
91063         * lib/verror.h: Likewise.
91064         * lib/xsetenv.h: Likewise.
91065         * lib/xvasprintf.h: Likewise.
91067 2007-03-08  Jim Meyering  <jim@meyering.net>
91069         * users.txt: Add parted.
91071         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
91073 2007-03-07  Bruno Haible  <bruno@clisp.org>
91075         * m4/printf.m4: Make the shell script snippets copy&pastable.
91077 2007-03-02  Bruno Haible  <bruno@clisp.org>
91079         * lib/netinet_in_.h: New file.
91080         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
91081         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
91082         * modules/netinet_in (Files): Add lib/netinet_in_.h.
91083         (Depends-on): Add absolute-header.
91084         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
91085         into netinet/in.h.
91087 2007-03-03  Bruno Haible  <bruno@clisp.org>
91089         * lib/sys_select_.h: New file.
91090         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
91091         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
91092         * modules/sys_select (Files): Add lib/sys_select_.h.
91093         (Depends-on): Add absolute-header.
91094         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
91095         into sys/select.h.
91097 2007-03-02  Bruno Haible  <bruno@clisp.org>
91099         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
91100         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
91101         values.
91102         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
91103         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
91104         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
91105         * modules/sys_socket (Depends-on): Add absolute-header.
91106         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
91107         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
91108         (Include): Remove requirement of inclusion of <sys/types.h>.
91110 2007-03-02  Bruno Haible  <bruno@clisp.org>
91112         * lib/byteswap_.h (bswap_32): Fix formula.
91114 2007-03-06  Bruno Haible  <bruno@clisp.org>
91116         * modules/sprintf-posix-tests: New file.
91117         * tests/test-sprintf-posix.c: New file.
91119         * modules/sprintf-posix: New file.
91120         * lib/sprintf.c: New file.
91121         * m4/sprintf-posix.m4: New file.
91122         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
91123         REPLACE_SPRINTF.
91124         * lib/stdio_.h (sprintf): New declaration.
91125         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
91126         REPLACE_SPRINTF.
91128 2007-03-06  Bruno Haible  <bruno@clisp.org>
91130         * modules/vsprintf-posix-tests: New file.
91131         * tests/test-vsprintf-posix.c: New file.
91132         * tests/test-sprintf-posix.h: New file.
91134         * modules/vsprintf-posix: New file.
91135         * lib/vsprintf.c: New file.
91136         * m4/vsprintf-posix.m4: New file.
91137         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
91138         REPLACE_VSPRINTF.
91139         * lib/stdio_.h (vsprintf): New declaration.
91140         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
91141         REPLACE_VSPRINTF.
91143 2007-03-06  Bruno Haible  <bruno@clisp.org>
91145         * modules/vsnprintf (Depend-on): Remove minmax.
91147 2007-03-06  Bruno Haible  <bruno@clisp.org>
91149         * modules/snprintf-posix-tests: New file.
91150         * tests/test-snprintf-posix.c: New file.
91152         * modules/snprintf-posix: New file.
91153         * m4/snprintf-posix.m4: New file.
91154         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
91155         gl_FUNC_SNPRINTF.
91156         (gl_FUNC_SNPRINTF): Invoke it.
91157         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
91158         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
91159         is set.
91160         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
91162 2007-03-06  Bruno Haible  <bruno@clisp.org>
91164         * modules/vsnprintf-posix-tests: New file.
91165         * tests/test-vsnprintf-posix.c: New file.
91166         * tests/test-snprintf-posix.h: New file.
91168         * modules/vsnprintf-posix: New file.
91169         * m4/vsnprintf-posix.m4: New file.
91170         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
91171         gl_FUNC_VSNPRINTF.
91172         (gl_FUNC_VSNPRINTF): Invoke it.
91173         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
91174         * lib/stdio_.h (vsnprintf): Define as a replacement if
91175         REPLACE_VSNPRINTF is set.
91176         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
91178 2007-03-06  Bruno Haible  <bruno@clisp.org>
91180         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
91181         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
91183 2007-03-06  Bruno Haible  <bruno@clisp.org>
91185         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
91186         (asinl): Declare also if HAVE_DECL_ASINL is set.
91187         (atanl): Declare also if HAVE_DECL_ATANL is set.
91188         (ceill): Declare also if HAVE_DECL_CEILL is set.
91189         (cosl): Declare also if HAVE_DECL_COSL is set.
91190         (expl): Declare also if HAVE_DECL_EXPL is set.
91191         (floorl): Declare also if HAVE_DECL_FLOORL is set.
91192         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
91193         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
91194         (logl): Declare also if HAVE_DECL_LOGL is set.
91195         (sinl): Declare also if HAVE_DECL_SINL is set.
91196         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
91197         (tanl): Declare also if HAVE_DECL_TANL is set.
91198         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
91199         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
91200         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
91201         declaration of frexpl, ldexpl.
91202         * modules/printf-frexpl (Depends-on): Add math.
91203         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
91205 2007-03-05  Bruno Haible  <bruno@clisp.org>
91207         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
91208         frexpl and ldexpl are declared.
91209         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
91211 2007-03-05  Bruno Haible  <bruno@clisp.org>
91213         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
91214         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
91216 2007-03-05  Bruno Haible  <bruno@clisp.org>
91218         * lib/stdio_.h: Include <stddef.h>.
91220 2007-03-05  Bruno Haible  <bruno@clisp.org>
91222         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
91224 2007-03-05  Bruno Haible  <bruno@clisp.org>
91226         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
91227         NetBSD 4, from Ralf Wildenhues.
91229 2007-03-04  Bruno Haible  <bruno@clisp.org>
91231         * lib/vasprintf.h: Update #if logic for the case when the functions
91232         exist but are overridden.
91234 2007-03-04  Bruno Haible  <bruno@clisp.org>
91236         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
91237         implementations: glibc-2.4 and MacOS X 10.3.
91238         * tests/test-vasnprintf-posix.c (test_function): Test also the case
91239         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
91240         * tests/test-vasprintf-posix.c (test_function): Likewise.
91242 2007-03-04  Bruno Haible  <bruno@clisp.org>
91244         * modules/vasprintf-posix-tests: New file.
91245         * tests/test-vasprintf-posix.c: New file.
91247         * modules/vasprintf-posix: New file.
91248         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
91249         defined.
91250         * m4/vasprintf-posix.m4: New file.
91251         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
91252         gl_FUNC_VASPRINTF.
91253         (gl_FUNC_VASPRINTF): Invoke it.
91254         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
91255         here.
91256         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
91258 2007-03-04  Bruno Haible  <bruno@clisp.org>
91260         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
91261         REPLACE_GETTIMEOFDAY.
91262         * modules/sys_time (Makefile.am): Likewise.
91263         * m4/sys_time_h.m4: Likewise.
91264         * m4/gettimeofday.m4: Likewise.
91266 2007-03-04  Bruno Haible  <bruno@clisp.org>
91268         * modules/vasnprintf-posix-tests: New file.
91269         * tests/test-vasnprintf-posix.c: New file.
91271         * modules/vasnprintf-posix: New file.
91272         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
91273         printf-frexpl.h.
91274         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
91275         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
91276         REPLACE_VASNPRINTF is defined.
91277         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
91278         gl_FUNC_VASNPRINTF.
91279         (gl_FUNC_VASNPRINTF): Invoke it.
91280         * m4/vasnprintf-posix.m4: New file.
91281         * m4/printf.m4: New file.
91283 2007-03-04  Bruno Haible  <bruno@clisp.org>
91285         Compile progreloc.c only if --enable-relocatable is specified.
91286         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
91287         if --enable-relocatable was specified.
91288         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
91289         lib_SOURCES.
91291 2007-03-04  Jim Meyering  <jim@meyering.net>
91293         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
91294         Use it consistently, rather than enumerating errno constants.
91296 2007-03-04  Bruno Haible  <bruno@clisp.org>
91298         * modules/xvasprintf-tests: New file.
91299         * tests/test-xvasprintf.c: New file.
91301         * modules/vasprintf-tests: New file.
91302         * tests/test-vasprintf.c: New file.
91304         * modules/vasnprintf-tests: New file.
91305         * tests/test-vasnprintf.c: New file.
91307         * modules/vsnprintf-tests: New file.
91308         * tests/test-vsnprintf.c: New file.
91310         * modules/snprintf-tests: New file.
91311         * tests/test-snprintf.c: New file.
91313 2007-03-04  Bruno Haible  <bruno@clisp.org>
91315         Compile relocatable.c only if --enable-relocatable is specified.
91316         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
91317         gl_RELOCATABLE_LIBRARY.
91318         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
91319         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
91320         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
91321         gl_RELOCATABLE_LIBRARY.
91322         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
91323         (Makefile.am): Remove lib_SOURCES.
91324         * modules/relocatable-lib-lgpl (configure.ac): Invoke
91325         gl_RELOCATABLE_LIBRARY.
91326         (Makefile.am): Remove lib_SOURCES.
91327         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
91328         always.
91329         * modules/relocatable-prog-wrapper (configure.ac): Invoke
91330         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
91332 2007-03-04  Bruno Haible  <bruno@clisp.org>
91334         * modules/argmatch-tests: New file.
91335         * tests/test-argmatch.c: New file.
91337         * tests/test-allocsa.c (main): Halve the number of loop runs.
91339         * modules/alloca-opt-tests: New file.
91340         * tests/test-alloca-opt.c: New file.
91342 2007-03-04  Jim Meyering  <jim@meyering.net>
91344         Work around difference between Linux ACLs and Solaris 10 ZFS.
91345         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
91346         for EINVAL.
91348 2007-03-03  Bruno Haible  <bruno@clisp.org>
91350         * modules/relocatable-prog (Depends-on): Add back progreloc's
91351         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
91353 2007-03-03  Bruno Haible  <bruno@clisp.org>
91355         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
91356         * modules/relocatable-lib: New file.
91358 2007-03-03  Bruno Haible  <bruno@clisp.org>
91360         * modules/relocatable-prog: Renamed from modules/relocatable.
91361         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
91363 2007-03-03  Bruno Haible  <bruno@clisp.org>
91365         * modules/relocatable-script (Files): Add doc/relocatable.texi,
91366         m4/relocatable-lib.m4.
91367         (Depends-on): Remove 'relocatable'.
91368         (configure.ac): Add gl_RELOCATABLE_NOP.
91370 2007-03-03  Bruno Haible  <bruno@clisp.org>
91372         * modules/relocatable-prog-wrapper: New file.
91373         * modules/relocatable (Depends-on): Add it. Remove all other
91374         dependencies except progname.
91375         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
91377         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
91378         (gl_FUNC_STRERROR): Nop.
91379         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
91381         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
91382         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
91384         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
91385         (gl_FUNC_READLINK): Update.
91387         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
91389 2007-03-03  Bruno Haible  <bruno@clisp.org>
91391         * lib/xreadlink.c: Include <unistd.h> unconditionally.
91392         * modules/xreadlink (Depends-on): Add unistd.
91393         * modules/xreadlink-with-size (Depends-on): Likewise.
91395 2007-03-03  Bruno Haible  <bruno@clisp.org>
91397         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
91398         extracted from gt_FUNC_SETENV.
91399         (gt_FUNC_SETENV): Remove macro.
91400         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
91401         remove gt_FUNC_SETENV.
91403 2007-03-03  Bruno Haible  <bruno@clisp.org>
91405         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
91406         ENABLE_RELOCATABLE here.
91407         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
91409 2007-03-03  Bruno Haible  <bruno@clisp.org>
91411         * modules/rbtreehash-list-tests (Depends-on): Add progname.
91412         * tests/test-rbtreehash_list.c: Include progname.h.
91413         (main): Call set_program_name.
91415         * modules/rbtree-oset-tests (Depends-on): Add progname.
91416         * tests/test-rbtree_oset.c: Include progname.h.
91417         (main): Call set_program_name.
91419         * modules/rbtree-list-tests (Depends-on): Add progname.
91420         * tests/test-rbtree_list.c: Include progname.h.
91421         (main): Call set_program_name.
91423         * modules/linked-list-tests (Depends-on): Add progname.
91424         * tests/test-linked_list.c: Include progname.h.
91425         (main): Call set_program_name.
91427 2007-03-03  Bruno Haible  <bruno@clisp.org>
91429         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
91430         All uses of __restrict changed to _Restrict_.
91431         * lib/glob_.h (__restrict): Remove macro.
91433 2007-03-02  Bruno Haible  <bruno@clisp.org>
91435         * modules/gettext (configure.ac): Require gettext infrastructure
91436         from version 0.16.1.
91438 2007-03-02  Bruno Haible  <bruno@clisp.org>
91440         * modules/linkedhash-list-tests (Depends-on): Add progname.
91441         * tests/test-linkedhash_list.c: Include progname.h.
91442         (main): Call set_program_name.
91444         * modules/carray-list-tests (Depends-on): Add progname.
91445         * tests/test-carray_list.c: Include progname.h.
91446         (main): Call set_program_name.
91448         * modules/avltreehash-list-tests (Depends-on): Add progname.
91449         * tests/test-avltreehash_list.c: Include progname.h.
91450         (main): Call set_program_name.
91452         * modules/avltree-oset-tests (Depends-on): Add progname.
91453         * tests/test-avltree_oset.c: Include progname.h.
91454         (main): Call set_program_name.
91456         * modules/avltree-list-tests (Depends-on): Add progname.
91457         * tests/test-avltree_list.c: Include progname.h.
91458         (main): Call set_program_name.
91460         * modules/array-oset-tests (Depends-on): Add progname.
91461         * tests/test-array_oset.c: Include progname.h.
91462         (main): Call set_program_name.
91464         * modules/array-list-tests (Depends-on): Add progname.
91465         * tests/test-array_list.c: Include progname.h.
91466         (main): Call set_program_name.
91468         * modules/argp-tests (Depends-on): Add progname.
91469         * tests/test-argp.c: Include argp.h first. Include progname.h.
91470         (main): Call set_program_name.
91472 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
91474         * doc/gnulib-tool.texi (Initial import): Reword description of
91475         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
91476         limited effect even if defined after the first system include.
91478 2007-03-01  Bruno Haible  <bruno@clisp.org>
91480         * build-aux/config.libpath: Update to libtool-1.5.22.
91481         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
91483 2007-03-01  Bruno Haible  <bruno@clisp.org>
91485         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
91486         foo_CFLAGS.
91487         Reported by Ralf Wildenhues.
91489 2007-03-01  Bruno Haible  <bruno@clisp.org>
91491         * build-aux/install-reloc: Remove object files left over by some
91492         compilers.
91493         Reported by Ralf Wildenhues.
91495 2007-03-01  Bruno Haible  <bruno@clisp.org>
91497         * build-aux/install-reloc: Break long lines.
91499 2007-03-01  Bruno Haible  <bruno@clisp.org>
91501         * doc/relocatable.texi: Document that it may not work on OpenBSD.
91502         Reported by Ralf Wildenhues.
91504 2007-03-01  Bruno Haible  <bruno@clisp.org>
91506         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
91507         include ordering constraints.
91509 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
91511         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
91512         <http://lists.gnu.org/r/bug-gnulib/2007-02/msg00136.html>.
91513         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
91514         as another example.
91515         * lib/time_.h: Fix misspelling.
91516         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
91517         Require gl_HEADER_TIME_H_DEFAULTS.
91518         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
91519         * m4/time_r.m4 (gl_TIME_R): Likewise.
91520         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
91522 2007-03-01  Bruno Haible  <bruno@clisp.org>
91524         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
91525         * m4/utimens.m4 (gl_UTIMENS): Likewise.
91527 2007-03-01  Jim Meyering  <jim@meyering.net>
91529         * modules/xreadlink (Maintainer): Add my name.
91530         * modules/xreadlink-with-size (Depends-on): Alphabetize.
91532 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
91533             Bruno Haible  <bruno@clisp.org>
91535         * build-aux/install-reloc: Compile also c-ctype.c.
91536         * build-aux/relocatable.sh.in: New file.
91537         * doc/relocatable.texi: New file.
91538         * doc/relocatable-maint.texi: New file.
91539         * doc/gnulib.texi: Include relocatable-maint.texi.
91540         * lib/progreloc.c: Include unistd.h unconditionally.
91541         * lib/relocwrapper.c: Include unistd.h unconditionally.
91542         Include c-ctype.h.
91543         (add_dotbin): Use c_tolower.
91544         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
91545         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
91546         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
91547         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
91548         to m4/relocatable-lib.m4.
91549         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
91550         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
91551         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
91552         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
91553         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
91554         * modules/relocatable: New file.
91555         * modules/relocatable-lib: New file.
91556         * modules/relocatable-script: New file.
91558 2007-02-28  Bruno Haible  <bruno@clisp.org>
91560         Import --enable-relocatable infrastructure.
91561         * build-aux/config.libpath: New file, from GNU gettext.
91562         * build-aux/install-reloc: New file, from GNU gettext.
91563         * build-aux/reloc-ldflags: New file, from GNU gettext.
91564         * lib/relocatable.h: New file, from GNU gettext.
91565         * lib/relocatable.c: New file, from GNU gettext.
91566         * lib/relocwrapper.c: New file, from GNU gettext.
91567         * m4/relocatable.m4: New file, from GNU gettext.
91569 2007-02-28  Bruno Haible  <bruno@clisp.org>
91571         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
91573         * modules/xreadlink: New file, from GNU gettext with modifications.
91574         * lib/xreadlink.c: New file, from GNU gettext.
91575         * lib/xreadlink.h: Add comments.
91576         (xreadlink): New declaration.
91578         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
91579         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
91580         lib/xreadlink-with-size.c.
91581         (configure.ac): Remove gl_XREADLINK invocation.
91582         (Makefile.am): Augment lib_SOURCES.
91583         * m4/xreadlink.m4: Remove file.
91584         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
91585         (xreadlink_with_size): Renamed from xreadink.
91586         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
91587         * modules/canonicalize (Depends-on): Replace xreadlink with
91588         xreadlink-with-size.
91589         * lib/canonicalize.c (canonicalize_filename_mode): Update.
91591 2007-02-25  Jim Meyering  <jim@meyering.net>
91593         * build-aux/announce-gen: When complaining about excess arguments,
91594         list them.
91596 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
91598         * README: Document signed integer overflow situation more
91599         accurately.
91601 2007-02-25  Bruno Haible  <bruno@clisp.org>
91603         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
91604         'a' or 'A' conversion.
91606 2007-02-25  Bruno Haible  <bruno@clisp.org>
91608         * modules/filename: Renamed from modules/pathname.
91609         (Files): Replace lib/pathname.h with lib/filename.h. Replace
91610         lib/concatpath.c with lib/concat-filename.c.
91611         (Makefile.am): Update.
91612         (Include): Replace pathname.h with filename.h.
91613         * lib/filename.h: Renamed from lib/pathname.h.
91614         (concatenated_filename): Renamed from concatenated_pathname.
91615         * lib/concat-filename.c: Renamed from lib/concatpath.c.
91616         (concatenated_filename): Renamed from concatenated_pathname.
91617         * lib/findprog.c: Include filename.h instead of pathname.h.
91618         (find_in_path): Update.
91619         * lib/javacomp.c: Include filename.h instead of pathname.h.
91620         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
91621         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
91622         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
91623         is_oldgcj_14_13_usable, is_javac_usable): Update.
91624         * lib/javaexec.c: Include filename.h instead of pathname.h.
91625         (execute_java_class): Update.
91626         * modules/findprog: Update.
91627         * modules/javacomp: Update.
91628         * modules/javaexec: Update.
91629         * MODULES.html.sh (File system functions): Add 'filename', remove
91630         'pathname'.
91632 2007-02-25  Bruno Haible  <bruno@clisp.org>
91634         * modules/printf-frexpl-tests: New file.
91635         * tests/test-printf-frexpl.c: New file.
91637         * modules/printf-frexpl: New file.
91638         * lib/printf-frexpl.h: New file.
91639         * lib/printf-frexpl.c: New file.
91640         * m4/printf-frexpl.m4: New file.
91642 2007-02-25  Bruno Haible  <bruno@clisp.org>
91644         * modules/printf-frexp-tests: New file.
91645         * tests/test-printf-frexp.c: New file.
91647         * modules/printf-frexp: New file.
91648         * lib/printf-frexp.h: New file.
91649         * lib/printf-frexp.c: New file.
91650         * m4/printf-frexp.m4: New file.
91652 2007-02-25  Bruno Haible  <bruno@clisp.org>
91654         Assume automake >= 1.10 for the tests.
91655         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
91656         * modules/arctwo-tests: Likewise.
91657         * modules/argp-tests: Likewise.
91658         * modules/avltree-list-tests: Likewise.
91659         * modules/avltree-oset-tests: Likewise.
91660         * modules/avltreehash-list-tests: Likewise.
91661         * modules/carray-list-tests: Likewise.
91662         * modules/crc-tests: Likewise.
91663         * modules/des-tests: Likewise.
91664         * modules/gc-arcfour-tests: Likewise.
91665         * modules/gc-arctwo-tests: Likewise.
91666         * modules/gc-des-tests: Likewise.
91667         * modules/gc-hmac-md5-tests: Likewise.
91668         * modules/gc-hmac-sha1-tests: Likewise.
91669         * modules/gc-md2-tests: Likewise.
91670         * modules/gc-md4-tests: Likewise.
91671         * modules/gc-md5-tests: Likewise.
91672         * modules/gc-pbkdf2-sha1-tests: Likewise.
91673         * modules/gc-rijndael-tests: Likewise.
91674         * modules/gc-sha1-tests: Likewise.
91675         * modules/gc-tests: Likewise.
91676         * modules/getaddrinfo-tests: Likewise.
91677         * modules/hmac-md5-tests: Likewise.
91678         * modules/hmac-sha1-tests: Likewise.
91679         * modules/linked-list-tests: Likewise.
91680         * modules/linkedhash-list-tests: Likewise.
91681         * modules/lock-tests: Likewise.
91682         * modules/md2-tests: Likewise.
91683         * modules/md4-tests: Likewise.
91684         * modules/md5-tests: Likewise.
91685         * modules/rbtree-list-tests: Likewise.
91686         * modules/rbtree-oset-tests: Likewise.
91687         * modules/rbtreehash-list-tests: Likewise.
91688         * modules/read-file-tests: Likewise.
91689         * modules/rijndael-tests: Likewise.
91690         * modules/stdint-tests: Likewise.
91691         * modules/tls-tests: Likewise.
91693 2007-02-24  Bruno Haible  <bruno@clisp.org>
91695         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
91696         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
91697         function; instead check whether isnan with a double argument links.
91698         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
91699         function; instead check whether isnan with a 'long double' argument
91700         links.
91701         Reported by Eric Blake <ebb9@byu.net>.
91703 2007-02-24  Bruno Haible  <bruno@clisp.org>
91705         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
91706         defined.
91707         * lib/isnanl.c: Remove all code. Just include isnan.c.
91708         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
91710 2007-02-25  Jim Meyering  <jim@meyering.net>
91712         Avoid conflicting types for 'unsetenv' on FreeBSD.
91713         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
91714         conflicting with FreeBSD's (5.0 and 6.1) function declaration
91715         in stdlib.h.
91717 2007-02-24  Bruno Haible  <bruno@clisp.org>
91719         * modules/isnanl-nolibm-tests: New file.
91720         * tests/test-isnanl.c: New file.
91722         * modules/isnanl-nolibm: New file.
91723         * lib/isnanl.h: New file.
91724         * lib/isnanl.c: New file.
91725         * m4/isnanl.m4: New file.
91727 2007-02-24  Bruno Haible  <bruno@clisp.org>
91729         * modules/isnan-nolibm-tests: New file.
91730         * tests/test-isnan.c: New file.
91732         * modules/isnan-nolibm: New file.
91733         * lib/isnan.h: New file.
91734         * lib/isnan.c: New file.
91735         * m4/isnan.m4: New file.
91737 2007-02-24  Bruno Haible  <bruno@clisp.org>
91739         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
91740         assume that an exponent fits in 20 bits.
91742 2007-02-24  Jim Meyering  <jim@meyering.net>
91744         * m4/regex.m4: Update the description of the configure-time option,
91745         --without-included-regex, to state accurately what the defaults are,
91746         and perhaps to give people an idea why using this option is risky.
91748 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
91750         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
91751         loops on small arguments.  This attempts to avoid the problem
91752         Bruno Haible reported for AIX 4.3.2 in
91753         <http://lists.gnu.org/r/bug-gnulib/2007-02/msg00309.html>.
91755 2007-02-23  Bruno Haible  <bruno@clisp.org>
91757         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
91758         Needed for help2man.
91760 2007-02-23  Karl Berry  <karl@gnu.org>
91762         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
91763         exists, foo.h should be cvs-ignored, not committed.
91765 2007-02-23  Eric Blake  <ebb9@byu.net>
91767         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
91768         * lib/stat-time.h (includes): Likewise.
91769         * lib/utimecmp.c (includes): Likewise.
91770         * lib/utimens.h (includes): Likewise.
91771         * lib/getdate.y (includes): Also include "timespec.h" for use
91772         internal to the module.
91773         * modules/utimens (Depends-on): Revert yesterday's patch.
91774         * modules/nanosleep (Depends-on): Add missing dependency.
91776 2007-02-22  Bruno Haible  <bruno@clisp.org>
91778         * lib/glob.c: Don't include getlogin_r.h.
91780 2007-02-22  Jim Meyering  <jim@meyering.net>
91782         * modules/utimens (Depends-on): Add timespec, required for
91783         utimens.h's inclusion of timespec.h.
91785 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
91787         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
91788         long unreadable paths in GNU/Linux.  Problem reported by Andreas
91789         Schwab in
91790         <http://lists.gnu.org/r/bug-gnulib/2007-02/msg00261.html>.
91791         I'll try to think of a better way to fix the Solaris problem.
91793         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
91794         like glibc; on Solaris 10, it fails with errno == EINVAL.
91795         POSIX says the behavior is unspecified if the first argument is NULL,
91796         so play it safe and never pass NULL to the system getcwd.
91798 2007-02-21  Jim Meyering  <jim@meyering.net>
91800         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
91801         of gettimeofday.  It would conflict with the one now always
91802         provided via sys_time_.h.  Reported by Matthew Woehlke, as
91803         an IRIX 6.5 build failure.
91805 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
91807         Minor fixups to port to Solaris 10 with Sun C 5.8.
91808         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
91809         * modules/getcwd (Depends-on): Add dirfd.
91810         * lib/putenv.c (putenv): #undef it.
91811         (rpl_putenv): New decl.
91812         (malloc, free): Include <stdlib.h> rather than prototyping separately.
91814 2007-02-20  Bruno Haible  <bruno@clisp.org>
91816         * modules/stdio-tests: New file.
91817         * tests/test-stdio.c: New file.
91819         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
91820         (Depends-on): Add stdio.
91821         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
91822         (Include): Use <stdio.h> instead of vsnprintf.h.
91823         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
91824         HAVE_DECL_VSNPRINTF.
91825         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
91827         * modules/snprintf (Files): Remove lib/snprintf.h.
91828         (Depends-on): Add stdio.
91829         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
91830         (Include): Use <stdio.h> instead of snprintf.h.
91831         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
91832         HAVE_DECL_SNPRINTF.
91833         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
91834         * lib/getaddrinfo.c: Likewise.
91836         * modules/stdio: New file.
91837         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
91838         * lib/snprintf.h: Remove file.
91839         * lib/vsnprintf.h: Remove file.
91840         * lib/.cppi-disable: Remove snprintf.h.
91841         * m4/stdio_h.m4: New file.
91842         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
91844 2007-02-20  Jim Meyering  <jim@meyering.net>
91846         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
91847         used by e.g., mingw.  From Bruno Haible.
91849 2007-02-19  Bruno Haible  <bruno@clisp.org>
91851         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
91852         warnings.
91853         Reported by Ben Pfaff <blp@cs.stanford.edu>.
91855 2007-02-19  Bruno Haible  <bruno@clisp.org>
91857         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
91858         from mingw users.
91860 2007-02-19  Bruno Haible  <bruno@clisp.org>
91862         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
91863         warnings.
91864         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
91866 2007-02-19  Jim Meyering  <jim@meyering.net>
91868         Don't use FD after a successful "fdopendir (fd)".
91869         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
91870         Reset it by calling dirfd on the just-obtained DIR*.
91872         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
91873         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
91875 2007-02-18  Bruno Haible  <bruno@clisp.org>
91877         * lib/readlink.c: Include <unistd.h>.
91878         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
91879         HAVE_READLINK.
91880         * modules/readlink (Depends-on): Add unistd.
91881         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
91882         (Include): Add <unistd.h>.
91884         * lib/getlogin_r.h: Remove file.
91885         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
91886         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
91887         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
91888         HAVE_DECL_GETLOGIN_R.
91889         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
91890         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
91891         (Include): Use <unistd.h> instead of getlogin_r.h.
91893         * lib/getcwd.h: Remove file.
91894         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
91895         * lib/xgetcwd.c: Likewise.
91896         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
91897         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
91898         * modules/getcwd (Files): Remove lib/getcwd.h.
91899         (Depends-on): Add unistd.
91900         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
91901         (Include): Use <unistd.h> instad of getcwd.h.
91903         * lib/ftruncate.c: Include <unistd.h> first.
91904         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
91905         Set HAVE_FTRUNCATE.
91906         * modules/ftruncate (Depends-on): Add unistd.
91907         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
91909         * lib/fchdir.c: Include <unistd.h> first.
91910         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
91911         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
91912         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
91913         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
91914         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
91916         * lib/dup2.c: Include <unistd.h> first.
91917         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
91918         HAVE_DUP2.
91919         * modules/dup2 (Depends-on): Add unistd.
91920         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
91922         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
91923         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
91924         REPLACE_CHOWN. Don't define chown as a macro here.
91925         * modules/chown (Depends-on): Add unistd.
91926         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
91928         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
91929         Add definition for GL_LINK_WARNING.
91930         (chown, dup2): New declarations.
91931         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
91932         link warning.
91933         (ftruncate): New declaration.
91934         (getcwd): New declaration, taken from old getcwd.h.
91935         (getlogin_r): New declaration, taken from old getlogin_r.h.
91936         (readlink): New declaration.
91937         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
91938         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
91939         (gl_PREREQ_UNISTD): Remove macro.
91940         (gl_UNISTD_MODULE_INDICATOR): New macro.
91941         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
91942         many new variables. Don't set UNISTD_H.
91943         * modules/unistd (Description): Change.
91944         (Depends-on): Add link-warning.
91945         (configure.ac): Update.
91946         (Makefile.am): Create unistd.h always. Substitute many new variables
91947         into it.
91949 2007-02-18  Bruno Haible  <bruno@clisp.org>
91951         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
91952         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
91953         HAVE_GETSUBOPT.
91954         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
91955         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
91956         * lib/getsubopt.h: Remove file.
91957         * modules/getsubopt (Files): Remove lib/getsubopt.h.
91958         (Depends-on): Add stdlib.
91959         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
91960         (Includes): Use <stdlib.h> instead of getsubopt.h.
91961         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
91962         Set HAVE_GETSUBOPT.
91963         * lib/getsubopt.c: Don't include getsubopt.h.
91965 2007-02-18  Bruno Haible  <bruno@clisp.org>
91967         * modules/fchdir (Depends-on): Add dup2.
91969 2007-02-18  Bruno Haible  <bruno@clisp.org>
91971         * lib/stdlib_.h: Handle glibc's special invocation convention
91972         specially.
91974 2007-02-18  Bruno Haible  <bruno@clisp.org>
91976         * modules/stdlib-tests: New file.
91977         * tests/test-stdlib.c: New file.
91979         * modules/mkstemp (Files): Remove lib/mkstemp.h.
91980         (Depends-on): Add stdlib.
91981         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
91982         (Includes): Use <stdlib.h> instead of mkstemp.h.
91983         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
91984         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
91985         * lib/mkstemp.c: Don't include mkstemp.h.
91986         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
91987         * lib/stdlib--.h: Don't include mkstemp.h.
91989         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
91990         (Depends-on): Add stdlib.
91991         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
91992         (Includes): Use <stdlib.h> instead of mkdtemp.h.
91993         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
91994         HAVE_MKDTEMP.
91995         * lib/mkdtemp.c: Don't include mkdtemp.h.
91996         * lib/clean-temp.c: Don't include mkdtemp.h.
91998         * modules/exit (Files): Remove lib/exit.h.
91999         (Depends-on): Add stdlib.
92000         (Makefile.am): Remove lib_SOURCES.
92001         (Include): Use <stdlib.h> instead of exit.h.
92002         * lib/argmatch.c: Don't include exit.h.
92003         * lib/execute.c: Likewise.
92004         * lib/pagealign_alloc.c: Likewise.
92005         * lib/pipe.c: Likewise.
92006         * lib/wait-process.c: Likewise.
92007         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
92008         * lib/exitfail.c: Likewise.
92009         * lib/savewd.c: Likewise.
92010         * lib/xsetenv.c: Likewise.
92012         * modules/stdlib: New file.
92013         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
92014         and extra comments about mkstemp().
92015         * lib/exit.h: Remove file.
92016         * lib/mkdtemp.h: Remove file.
92017         * lib/mkstemp.h: Remove file.
92018         * m4/stdlib_h.m4: New file.
92019         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
92021 2007-02-18  Bruno Haible  <bruno@clisp.org>
92023         * modules/math-tests: New file.
92024         * tests/test-math.c: New file.
92026         * modules/math: New file.
92027         * modules/mathl (Files): Remove lib/mathl.h.
92028         (Depends-on): Add math.
92029         (Makefile.am): Don't mention mathl.h.
92030         (Include): Use <math.h> instead of mathl.h.
92031         * lib/math_.h: New file.
92032         * lib/mathl.h: Remove file.
92033         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
92034         mathl.h.
92035         * lib/asinl.c: Likewise.
92036         * lib/atanl.c: Likewise.
92037         * lib/ceill.c: Likewise.
92038         * lib/cosl.c: Likewise.
92039         * lib/expl.c: Likewise.
92040         * lib/floorl.c: Likewise.
92041         * lib/frexpl.c: Likewise.
92042         * lib/ldexpl.c: Likewise.
92043         * lib/logl.c: Likewise.
92044         * lib/sincosl.c: Likewise.
92045         * lib/sinl.c: Likewise.
92046         * lib/sqrtl.c: Likewise.
92047         * lib/tanl.c: Likewise.
92048         * lib/trigl.c: Likewise.
92049         * m4/math_h.m4: New file.
92050         * MODULES.html.sh (Mathematics): Add math.
92052 2007-02-17  Bruno Haible  <bruno@clisp.org>
92054         * modules/wctype-tests: New file.
92055         * tests/test-wctype.c: New file.
92057         * modules/wchar-tests: New file.
92058         * tests/test-wchar.c: New file.
92060         * modules/unistd-tests: New file.
92061         * tests/test-unistd.c: New file.
92063         * modules/time-tests: New file.
92064         * tests/test-time.c: New file.
92066         * modules/sysexits-tests: New file.
92067         * tests/test-sysexits.c: New file.
92069         * modules/sys_time-tests: New file.
92070         * tests/test-sys_time.c: New file.
92072         * modules/sys_stat-tests: New file.
92073         * tests/test-sys_stat.c: New file.
92075         * modules/sys_socket-tests: New file.
92076         * tests/test-sys_socket.c: New file.
92078         * modules/sys_select-tests: New file.
92079         * tests/test-sys_select.c: New file.
92081         * modules/string-tests: New file.
92082         * tests/test-string.c: New file.
92084         * modules/stdbool-tests: New file.
92085         * tests/test-stdbool.c: New file.
92087         * modules/netinet_in-tests: New file.
92088         * tests/test-netinet_in.c: New file.
92090         * modules/inttypes-tests: New file.
92091         * tests/test-inttypes.c: New file.
92093         * modules/fcntl-tests: New file.
92094         * tests/test-fcntl.c: New file.
92096         * modules/byteswap-tests: New file.
92097         * tests/test-byteswap.c: New file.
92099         * modules/arpa_inet-tests: New file.
92100         * tests/test-arpa_inet.c: New file.
92102 2007-02-17  Bruno Haible  <bruno@clisp.org>
92104         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
92105         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
92106         if the corresponding module is not enabled. Emit link warnings if
92107         the function is used nevertheless.
92108         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
92109         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
92110         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
92111         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
92112         * modules/inttypes (Depends-on): Add link-warning.
92113         (Makefile.am): Copy the contents of build-aux/link-warning.h into
92114         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
92115         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
92116         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
92117         * modules/imaxdiv (configure.ac): Likewise.
92118         * modules/strtoimax (configure.ac): Likewise.
92119         * modules/strtoumax (configure.ac): Likewise.
92121 2007-02-17  Bruno Haible  <bruno@clisp.org>
92123         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
92124         gl_STRING_MODULE_INDICATOR_DEFAULTS.
92125         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
92126         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
92128 2007-02-17  Bruno Haible  <bruno@clisp.org>
92130         * modules/link-warning: New file.
92131         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
92132         * lib/string_.h (GL_LINK_WARNING): Remove definition.
92133         * modules/string (Depends-on): Add link-warning.
92134         (Makefile.am): Copy the contents of build-aux/link-warning.h into
92135         string.h.
92136         * MODULES.html.sh (Support for building libraries and executables): Add
92137         link-warning.
92139 2007-02-17  Bruno Haible  <bruno@clisp.org>
92141         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
92142         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
92143         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
92144         long lines.
92146 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
92147             Bruno Haible  <bruno@clisp.org>
92149         * modules/tmpfile: New file.
92150         * lib/tmpfile.c: New file.
92151         * m4/tmpfile.m4: New file.
92152         * MODULES.html.sh (func_all_modules): New section "Input/output".
92154 2007-02-15  Bruno Haible  <bruno@clisp.org>
92156         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
92157         (supports_delete_on_close): New function.
92158         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
92160 2007-02-14  Bruno Haible  <bruno@clisp.org>
92162         * modules/mbspcasecmp-tests: New file.
92163         * tests/test-mbspcasecmp.sh: New file.
92164         * tests/test-mbspcasecmp.c: New file.
92166         New module mbspcasecmp.
92167         * modules/mbspcasecmp: New file.
92168         * lib/mbspcasecmp.c: New file.
92169         * lib/string_.h (strncasecmp): Change warning message.
92170         (mbspcasecmp): New declaration.
92171         * m4/mbspcasecmp.m4: New file.
92172         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
92173         GNULIB_MBSPCASECMP.
92174         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
92175         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
92177 2007-02-14  Bruno Haible  <bruno@clisp.org>
92179         * modules/mbsncasecmp-tests: New file.
92180         * tests/test-mbsncasecmp.sh: New file.
92181         * tests/test-mbsncasecmp.c: New file.
92183         New module mbsncasecmp.
92184         * modules/mbsncasecmp: New file.
92185         * lib/mbsncasecmp.c: New file.
92186         * lib/string_.h (mbsncasecmp): New declaration.
92187         * m4/mbsncasecmp.m4: New file.
92188         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
92189         GNULIB_MBSNCASECMP.
92190         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
92191         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
92193 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
92195         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
92196         Verify that it doesn't overlap with our flags.
92197         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
92198         do not have the desired effect in multibyte locales; instead, use
92199         mbscasecmp.
92200         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
92201         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
92202         we don't require GNU fnmatch ourselves (if our users require it, they
92203         should do so explicitly).
92205         Fix regex code so it doesn't rely on strcasecmp.
92206         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
92207         Otherwise, include gnulib's langinfo.h.
92208         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
92209         undesirable behavior in non-C locales.  Instead, rely on localecharset.
92210         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
92211         * modules/regex (FILES): Remove m4/codeset.m4.
92212         (Depends-on): Add localcharset.  Remove strcase.
92214 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
92216         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
92217         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
92219 2007-02-13  Bruno Haible  <bruno@clisp.org>
92221         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
92222         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
92224 2007-02-12  Bruno Haible  <bruno@clisp.org>
92226         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
92227         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
92228         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
92229         time warning rather than a link error.
92231 2007-02-12  Bruno Haible  <bruno@clisp.org>
92233         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
92234         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
92235         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
92237 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
92239         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
92240         args, not 2.
92242 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
92244         New module 'time', so that apps can include <time.h> as per
92245         POSIX and GNU instead of separate include files like time_r.h
92246         and timegm.h.  This implementation tries out a simpler approach
92247         for replacing decls in standard include files (as compared to
92248         the string module), somewhat as an experiment.
92250         * config/srclist.txt: Comment out mktime.c for now.
92251         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
92252         since it doesn't apply any more.  Use generic wording instead.
92253         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
92254         'time'.
92255         * lib/time_.h, m4/time_h.m4, modules/time: New files.
92256         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
92257         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
92258         Don't include <sys/types.h>; no longer needed since we assume C89.
92259         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
92260         * lib/strftime.c: Likewise.
92261         * lib/time_r.c: Likewise.
92262         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
92263         * lib/nanosleep.c: Include <time.h> first, to check interface.
92264         * lib/strptime.c: Likewise.
92265         * lib/time_r.c: Likewise.
92266         * lib/timegm.c: Likewise.
92267         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
92268         needed.
92269         * lib/timegm.c: Don't include timegm.h; no longer needed.
92270         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
92271         time.h now handles any problems in that area.
92272         (struct timespec, nanosleep): Remove; time.h now arranges for these.
92273         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
92274         that time.h defines struct timespec.
92275         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
92276         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
92277         handles that.
92278         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
92279         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
92280         needed.  Set REPLACE_LOCALTIME.
92281         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
92282         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
92283         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
92284         nanosleep; time_h.m4 now does that.  Don't require
92285         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
92286         module handles this now.
92287         * modules/getdate (Depends-on): Remove timespec.  Add time.
92288         * modules/nanosleep (Depends-on): Likewise.
92289         * modules/stat-time (Depends-on): Likewise.
92290         * modules/nanosleep (Include): Include time.h, not timespec.h.
92291         * modules/strptime (Files): Remove lib/strptime.h.
92292         (Depends-on): Add extensions, time.
92293         (Include): Include time.h, not strptime.h.
92294         * modules/time_r (Files): Remove lib/time_r.h.
92295         (Depends-on): Add time.
92296         (Include): Include time.h, not time_r.h.
92297         * modules/timegm: Likewise.
92298         * modules/timespec (Description): Now does timespec-related decls
92299         of our own, instead of struct timespec itself.
92300         (Depends-on): Add time; remove extensions.
92301         (Maintainer): Add self.
92302         * modules/utimecmp (Depends-on): Add time; remove timespec.
92303         * modules/utimens (Depends-on): Likewise.
92304         * modules/xnanosleep (Depends-on): Likewise.
92306 2007-02-11  Bruno Haible  <bruno@clisp.org>
92308         * lib/c-strstr.c: Include allocsa.h.
92309         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
92310         * lib/c-strcasestr.c: Include allocsa.h.
92311         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
92312         * lib/strcasestr.c: Include allocsa.h.
92313         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
92314         * lib/mbsstr.c: Include allocsa.h.
92315         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
92316         allocsa/freesa instead of malloc/free.
92317         * lib/mbscasestr.c: Include allocsa.h.
92318         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
92319         allocsa/freesa instead of malloc/free.
92320         * modules/c-strstr (Depends-on): Add allocsa.
92321         * modules/c-strcasestr (Depends-on): Likewise.
92322         * modules/strcasestr (Depends-on): Likewise.
92323         * modules/mbsstr (Depends-on): Likewise.
92324         * modules/mbscasestr (Depends-on): Likewise.
92326 2007-02-11  Bruno Haible  <bruno@clisp.org>
92328         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
92330         * modules/mbsspn-tests: New file.
92331         * tests/test-mbsspn.sh: New file.
92332         * tests/test-mbsspn.c: New file.
92334 2007-02-11  Bruno Haible  <bruno@clisp.org>
92336         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
92338         * modules/mbspbrk-tests: New file.
92339         * tests/test-mbspbrk.sh: New file.
92340         * tests/test-mbspbrk.c: New file.
92342 2007-02-11  Bruno Haible  <bruno@clisp.org>
92344         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
92345         unneeded cast.
92347         * modules/mbscspn-tests: New file.
92348         * tests/test-mbscspn.sh: New file.
92349         * tests/test-mbscspn.c: New file.
92351 2007-02-11  Bruno Haible  <bruno@clisp.org>
92353         * modules/mbscasecmp-tests: New file.
92354         * tests/test-mbscasecmp.sh: New file.
92355         * tests/test-mbscasecmp.c: New file.
92357 2007-02-11  Bruno Haible  <bruno@clisp.org>
92359         Ensure O(n) worst-case complexity of mbscasestr.
92360         * lib/mbscasestr.c: Include stdbool.h.
92361         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
92362         functions.
92363         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
92364         the bookkeeping indicates that it's worth it.
92365         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
92367         * modules/mbscasestr-tests: New file.
92368         * tests/test-mbscasestr1.c: New file.
92369         * tests/test-mbscasestr2.sh: New file.
92370         * tests/test-mbscasestr2.c: New file.
92371         * tests/test-mbscasestr3.sh: New file.
92372         * tests/test-mbscasestr3.c: New file.
92373         * tests/test-mbscasestr4.sh: New file.
92374         * tests/test-mbscasestr4.c: New file.
92375         * m4/locale-tr.m4: New file.
92377 2007-02-11  Bruno Haible  <bruno@clisp.org>
92379         Ensure O(n) worst-case complexity of mbsstr.
92380         * lib/mbsstr.c: Include stdbool.h.
92381         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
92382         functions.
92383         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
92384         bookkeeping indicates that it's worth it.
92385         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
92387         * modules/mbsstr-tests: New file.
92388         * tests/test-mbsstr1.c: New file.
92389         * tests/test-mbsstr2.sh: New file.
92390         * tests/test-mbsstr2.c: New file.
92391         * tests/test-mbsstr3.sh: New file.
92392         * tests/test-mbsstr3.c: New file.
92393         * m4/locale-fr.m4: New file.
92395 2007-02-11  Bruno Haible  <bruno@clisp.org>
92397         * lib/mbsrchr.c (mbsrchr): Fix bug.
92399         * modules/mbsrchr-tests: New file.
92400         * tests/test-mbsrchr.sh: New file.
92401         * tests/test-mbsrchr.c: New file.
92403 2007-02-11  Bruno Haible  <bruno@clisp.org>
92405         * lib/mbschr.c (mbschr): Fix bug.
92407         * modules/mbschr-tests: New file.
92408         * tests/test-mbschr.sh: New file.
92409         * tests/test-mbschr.c: New file.
92410         * m4/locale-zh.m4: New file.
92412 2007-02-11  Bruno Haible  <bruno@clisp.org>
92414         Support for copying multibyte string iterators.
92415         * lib/mbiter.h: Include <string.h>.
92416         (mbiter_multi_copy): New function.
92417         (mbi_copy): New macro.
92418         * lib/mbuiter.h: Include <string.h>.
92419         (mbuiter_multi_copy): New function.
92420         (mbui_copy): New macro.
92422 2007-02-11  Bruno Haible  <bruno@clisp.org>
92424         New module mbslen.
92425         * modules/mbslen: New file.
92426         * lib/mbslen.c: New file.
92427         * lib/string_.h (mbslen): New declaration.
92428         * m4/mbslen.m4: New file.
92429         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
92430         GNULIB_MBSLEN.
92431         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
92432         * MODULES.html.sh (Internationalization functions): Add mbslen.
92434 2007-02-11  Bruno Haible  <bruno@clisp.org>
92436         Ensure O(n) worst-case complexity of strcasestr substitute.
92437         * lib/strcasestr.c: Include stdbool.h.
92438         (knuth_morris_pratt): New function.
92439         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
92440         bookkeeping indicates that it's worth it.
92441         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
92443         * modules/strcasestr-tests: New file.
92444         * tests/test-strcasestr.c: New file.
92446 2007-02-11  Bruno Haible  <bruno@clisp.org>
92448         Ensure O(n) worst-case complexity of c_strcasestr.
92449         * lib/c-strcasestr.c: Include stdbool.h, string.h.
92450         (knuth_morris_pratt): New function.
92451         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
92452         the bookkeeping indicates that it's worth it.
92453         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
92455         * modules/c-strcasestr-tests: New file.
92456         * tests/test-c-strcasestr.c: New file.
92458 2007-02-11  Bruno Haible  <bruno@clisp.org>
92460         Ensure O(n) worst-case complexity of c_strstr.
92461         * lib/c-strstr.c: Include stdbool.h, string.h.
92462         (knuth_morris_pratt): New function.
92463         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
92464         bookkeeping indicates that it's worth it.
92465         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
92467         * lib/c-strstr.c: Complete rewrite for maintainability.
92469         * modules/c-strstr-tests: New file.
92470         * tests/test-c-strstr.c: New file.
92472 2007-02-11  Bruno Haible  <bruno@clisp.org>
92474         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
92475         5.2.1 and earlier, whereby \055 was treated just like the range
92476         delimiter '-'.
92477         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
92479 2007-02-08  Bruno Haible  <bruno@clisp.org>
92481         * modules/regex (Depends-on): Add stdbool.
92482         Reported by Dalibor Topic <robilad@kaffe.org>.
92484 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
92486         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
92487         Prefer returning from main to exiting from it.
92488         Remove unnecessary parens after sizeof.
92490 2007-02-05  Bruno Haible  <bruno@clisp.org>
92492         New module mbssep.
92493         * modules/mbssep: New file.
92494         * lib/mbssep.c: New file.
92495         * lib/string_.h (strsep): Add a conditional link warning.
92496         (mbssep): New declaration.
92497         * m4/mbssep.m4: New file.
92498         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
92499         GNULIB_MBSSEP.
92500         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
92501         * MODULES.html.sh (Internationalization functions): Add mbssep.
92503 2007-02-05  Bruno Haible  <bruno@clisp.org>
92505         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
92506         Optimize search in case of 1 delimiter.
92508 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
92510         * lib/acl.h: Include sys/types.h before sys/acl.h.
92512 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
92514         Merge upstream fix for glibc bugzilla #3957:
92516         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
92518         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
92519         bit for RE_HAT_LISTS_NOT_NEWLINE.
92520         (build_charclass_op): Remove bogus comment.
92522 2007-02-05  Simon Josefsson  <simon@josefsson.org>
92524         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
92526 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
92528         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
92529         * lib/memmem.c [!defined _LIBC]: Include config.h.
92531 2007-02-04  Bruno Haible  <bruno@clisp.org>
92533         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
92534         warning message.
92536 2007-02-04  Bruno Haible  <bruno@clisp.org>
92538         New module mbstok_r.
92539         * modules/mbstok_r: New file.
92540         * lib/mbstok_r.c: New file.
92541         * lib/string_.h (strtok_r): Change argument names to match the
92542         comments. Add a conditional link warning.
92543         (mbstok_r): New declaration.
92544         * m4/mbstok_r.m4: New file.
92545         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
92546         GNULIB_MBSTOK_R.
92547         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
92548         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
92550 2007-02-04  Bruno Haible  <bruno@clisp.org>
92552         New module mbsspn.
92553         * modules/mbsspn: New file.
92554         * lib/mbsspn.c: New file.
92555         * lib/string_.h (strspn): Add a conditional link warning.
92556         (mbsspn): New declaration.
92557         * m4/mbsspn.m4: New file.
92558         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
92559         GNULIB_MBSSPN.
92560         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
92561         * MODULES.html.sh (Internationalization functions): Add mbsspn.
92563 2007-02-04  Bruno Haible  <bruno@clisp.org>
92565         New module mbspbrk.
92566         * modules/mbspbrk: New file.
92567         * lib/mbspbrk.c: New file.
92568         * lib/string_.h (strpbrk): Add a conditional link warning.
92569         (mbspbrk): New declaration.
92570         * m4/mbspbrk.m4: New file.
92571         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
92572         GNULIB_MBSPBRK.
92573         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
92574         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
92576 2007-02-04  Bruno Haible  <bruno@clisp.org>
92578         New module mbscspn.
92579         * modules/mbscspn: New file.
92580         * lib/mbscspn.c: New file.
92581         * lib/string_.h (strcspn): Add a conditional link warning.
92582         (mbscspn): New declaration.
92583         * m4/mbscspn.m4: New file.
92584         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
92585         GNULIB_MBSCSPN.
92586         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
92587         * MODULES.html.sh (Internationalization functions): Add mbscspn.
92589 2007-02-04  Bruno Haible  <bruno@clisp.org>
92591         New module mbscasestr, reduced goal of strcasestr.
92592         * modules/mbscasestr: New file.
92593         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
92594         (mbscasestr): Renamed from strcasestr.
92595         * lib/strcasestr.c: Don't include mbuiter.h.
92596         (strcasestr): Remove support for multibyte locales.
92597         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
92598         Change the conditional link warning.
92599         (mbscasestr): New declaration.
92600         * m4/mbscasestr.m4: New file.
92601         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
92602         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
92603         REPLACE_STRCASESTR.
92604         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
92605         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
92606         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
92607         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
92608         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
92609         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
92610         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
92611         (Depends-on): Remove mbuiter.
92612         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
92614 2007-02-04  Bruno Haible  <bruno@clisp.org>
92616         Simplify handling of strncasecmp.
92617         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
92618         the conditional link warning.
92619         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
92620         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
92621         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
92622         * modules/strcase (configure.ac): Don't invoke
92623         gl_STRING_MODULE_INDICATOR.
92624         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
92626 2007-02-04  Bruno Haible  <bruno@clisp.org>
92628         New module mbscasecmp, reduced goal of strcasecmp.
92629         * modules/mbscasecmp: New file.
92630         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
92631         (mbscasecmp): Renamed from strcasecmp.
92632         * lib/strcasecmp.c: Don't include mbuiter.h.
92633         (strcasecmp): Remove support for multibyte locales.
92634         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
92635         Change the conditional link warning.
92636         (mbscasecmp): New declaration.
92637         * m4/mbscasecmp.m4: New file.
92638         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
92639         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
92640         REPLACE_STRCASECMP.
92641         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
92642         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
92643         GNULIB_MBSCASECMP.
92644         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
92645         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
92646         * modules/strcase (Files): Remove m4/mbrtowc.m4.
92647         (Depends-on): Remove mbuiter.
92648         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
92650 2007-02-04  Bruno Haible  <bruno@clisp.org>
92652         New module mbsstr. Remove module strstr.
92653         * modules/mbsstr: New file.
92654         * modules/strstr: Remove file.
92655         * lib/mbsstr.c: Renamed from lib/strstr.c.
92656         (mbsstr): Renamed from strstr.
92657         * lib/string_.h (strstr): Remove declaration. Change the conditional
92658         link warning.
92659         (mbsstr): New declaration.
92660         * m4/mbsstr.m4: New file.
92661         * m4/strstr.m4: Remove file.
92662         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
92663         REPLACE_STRSTR.
92664         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
92665         Don't initialize GNULIB_STRSTR.
92666         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
92667         substitute GNULIB_STRSTR and REPLACE_STRSTR.
92668         * MODULES.html.sh (Internationalization functions): Add mbsstr.
92669         (Support for systems lacking ANSI C 89): Remove strstr.
92671 2007-02-04  Bruno Haible  <bruno@clisp.org>
92673         New module mbsrchr.
92674         * modules/mbsrchr: New file.
92675         * lib/mbsrchr.c: New file.
92676         * lib/string_.h (strrchr): Add a conditional link warning.
92677         (mbsrchr): New declaration.
92678         * m4/mbsrchr.m4: New file.
92679         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
92680         GNULIB_MBSRCHR.
92681         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
92682         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
92684 2007-02-04  Bruno Haible  <bruno@clisp.org>
92686         New module mbschr.
92687         * modules/mbschr: New file.
92688         * lib/mbschr.c: New file.
92689         * lib/string_.h (strchr): Add a conditional link warning.
92690         (mbschr): New declaration.
92691         * m4/mbschr.m4: New file.
92692         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
92693         GNULIB_MBSCHR.
92694         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
92695         * MODULES.html.sh (Internationalization functions): Add mbschr.
92697 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
92699         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
92701         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
92703 2007-02-04  Bruno Haible  <bruno@clisp.org>
92705         New module description section 'configure.ac-early'.
92706         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
92707         (func_get_autoconf_early_snippet): New function.
92708         (func_import, func_create_testdir): Use it. Remove special cases for
92709         modules 'extensions' and 'lock'.
92710         * modules/extensions (configure.ac-early): Require
92711         gl_USE_SYSTEM_EXTENSIONS.
92712         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
92714 2007-02-04  Bruno Haible  <bruno@clisp.org>
92716         Make use of gcj-4.3's -fsource and -ftarget option.
92717         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
92718         and if so try the options -fsource and -ftarget.
92719         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
92720         source_version, ftarget_option, target_version arguments.
92721         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
92722         (is_envjavac_oldgcj_14_14_usable): Renamed from
92723         is_envjavac_gcj_14_14_usable.
92724         (is_envjavac_oldgcj_14_13_usable): Renamed from
92725         is_envjavac_gcj_14_13_usable.
92726         (is_gcj_present): Update.
92727         (is_gcj_43, is_gcj43_usable): New functions.
92728         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
92729         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
92730         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
92731         try the options -fsource and -ftarget.
92733 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
92735         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
92736         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
92737         larger value.
92739 2007-02-03  Jim Meyering  <jim@meyering.net>
92741         Give tools a better chance to allocate space for very large buffers.
92742         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
92744         Make pwd and readlink work also when run with an unreadable parent dir
92745         on systems with openat support.
92746         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
92747         provided getcwd function, even when we have openat support.
92748         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
92750 2007-02-02  Bruno Haible  <bruno@clisp.org>
92752         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
92753         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
92754         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
92755         portability problems if one of these functions is only used on specific
92756         platforms.
92757         Reported by Paul Eggert.
92759 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
92761         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
92762         is causing more trouble than it's curing.
92763         * lib/regex_internal.h (__mempcpy): Remove.
92764         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
92765         (and make the code a tad smaller to boot).
92766         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
92768 2007-02-02  Jim Meyering  <jim@meyering.net>
92770         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
92771         section, not in the Makefile.am: one.
92773 2007-02-02  Eric Blake  <ebb9@byu.net>
92775         * lib/strchrnul.c: Always include config.h first.
92777         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
92778         gnulib strstr is not necessary here.
92780 2007-02-02  Simon Josefsson  <simon@josefsson.org>
92782         * m4/socklen.m4: Fix typo.
92784 2007-02-02  Eric Blake  <ebb9@byu.net>
92786         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
92787         * modules/netinet_in (Makefile.am): Likewise.
92789 2007-02-01  Bruno Haible  <bruno@clisp.org>
92791         * lib/string_.h (GL_LINK_WARNING): New macro.
92792         (strcasecmp, strstr, strcasestr): If provided by the system,
92793         conditionally define as a macro that leads to a warning instead of to
92794         an error.
92795         (strncasecmp): Conditionally define as a macro that leads to a warning.
92797 2007-02-01  Karl Berry  <karl@gnu.org>
92799         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
92801 2007-02-01  Bruno Haible  <bruno@clisp.org>
92803         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
92804         renamings.
92806 2007-02-01  Eric Blake  <ebb9@byu.net>
92808         * modules/regex (Depends-on): Revert dependence on mempcpy.
92809         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
92810         module's definition of mempcpy.
92811         Reported by Paul Eggert.
92813 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
92815         * lib/string_.h: If the gnulib module XYZ is not present, undefine
92816         the symbol XYZ before redefining it.  This fixes a problem with
92817         programs that don't use XYZ, when compiled on systems that define
92818         XYZ to something else.
92820 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
92822         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
92823         occurs when "mkdir -m foo" creates a setgid directory that is (1)
92824         writeable to group or other and (2) is intended to have a special
92825         mode bit that is set or cleared.  In such a case, the directory
92826         should be neither group- nor other-writeable until the special
92827         mode bits are right.
92829 2007-01-31  Eric Blake  <ebb9@byu.net>
92831         * modules/mountlist (Depends-on): Add strstr.
92833         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
92834         bug.
92835         * modules/string (Makefile.am): Remove redundant replacement.
92836         * modules/regex (Depends-on): Add mempcpy.
92838 2007-01-31  Bruno Haible  <bruno@clisp.org>
92840         New module description field 'Link'.
92841         * gnulib-tool (func_usage): Document --extract-link-directive.
92842         (sed_extract_prog): Recognize 'Link' directive.
92843         (func_get_link_directive): New function.
92844         (func_import): Show summary of link directives.
92845         Handle --extract-link-directive option.
92846         * modules/acl (Link): New section.
92847         * modules/clock-time (Link): New section.
92848         * modules/euidaccess (Link): New section.
92849         * modules/gettext (Link): New section.
92850         * modules/iconv (Link): New section.
92851         * modules/lock (Link): New section.
92852         * modules/nanosleep (Link): New section.
92853         * modules/readline (Link): New section.
92855 2007-01-27  Bruno Haible  <bruno@clisp.org>
92857         Enforce the use of gnulib modules for unportable <string.h> functions.
92858         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
92859         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
92860         (gl_HEADER_STRING_H_BODY): Require it.
92861         * lib/string_.h: If the gnulib module XYZ is not present, redefine
92862         the symbol XYZ to one that gives a link error.
92863         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
92864         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
92865         * modules/mempcpy (configure.ac): Likewise.
92866         * modules/memrchr (configure.ac): Likewise.
92867         * modules/stpcpy (configure.ac): Likewise.
92868         * modules/stpncpy (configure.ac): Likewise.
92869         * modules/strcase (configure.ac): Likewise.
92870         * modules/strcasestr (configure.ac): Likewise.
92871         * modules/strchrnul (configure.ac): Likewise.
92872         * modules/strdup (configure.ac): Likewise.
92873         * modules/strndup (configure.ac): Likewise.
92874         * modules/strnlen (configure.ac): Likewise.
92875         * modules/strpbrk (configure.ac): Likewise.
92876         * modules/strsep (configure.ac): Likewise.
92877         * modules/strstr (configure.ac): Likewise.
92878         * modules/strtok_r (configure.ac): Likewise.
92880 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
92882         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
92884 2007-01-30  Jim Meyering  <jim@meyering.net>
92886         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
92888 2007-01-29  Bruno Haible  <bruno@clisp.org>
92890         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
92891         * lib/execute.c: Likewise.
92892         * lib/pipe.c: Likewise.
92893         * lib/printf-args.h: Likewise.
92894         * lib/printf-args.c: Likewise.
92895         * lib/printf-parse.c: Likewise.
92896         * lib/vasnprintf.c: Likewise.
92898 2007-01-29  Eric Blake  <ebb9@byu.net>
92900         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
92901         declaration.
92903 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
92905         * lib/strptime.h (strptime): Use 'restrict' for args where
92906         POSIX requires this.
92907         * lib/strptime.c (strptime): Likewise.
92908         Change license notice from LGPL to GPL, since gnulib-tool will
92909         change this as needed.
92910         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
92911         defined.
92912         Include "strptime.h" first, to check interface.
92913         Do not #undef _LIBC and _NL_CURRENT.
92914         Do not include <stdlib.h>; no longer needed.
92915         Include "time_r.h" and declare ptime_locale_status
92916         only if _LIBC is not defined.
92917         (__P): Remove unused macro.
92918         (match_string): Bring back glibc version, but use it only if _LIBC
92919         is defined.
92920         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
92921         Remove unnecessary assertion and abort() call.
92922         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
92923         * m4/strptime.m4: Fix serial number comment.
92924         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
92925         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
92926         (Depends-on): Add time_r.
92928 2007-01-29  Bruno Haible  <bruno@clisp.org>
92930         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
92931         strptime.
92932         * modules/strptime (Depends-on): Add stdbool.
92933         * lib/strptime.h: Include <time.h> always. Add comments.
92935 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
92937         * modules/strptime: New file.
92938         * lib/strptime.h: New file.
92939         * lib/strptime.c: New file.
92940         * m4/strptime.m4: New file.
92942 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
92944         * MODULES.html.sh: New module mpsort.
92945         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
92947         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
92948         a circularity problem with HP-UX ia64 reported by Bob Proulx in
92949         <http://lists.gnu.org/r/bug-gnulib/2007-01/msg00394.html>.
92950         All uses changed.
92951         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
92952         All uses changed.
92953         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
92954         to _Restrict_.
92955         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
92956         the parameter matches the prototype.
92958 2007-01-28  Jim Meyering  <jim@meyering.net>
92960         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
92961         sys/time.h here, reverting that part of the previous patch:
92962         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
92964 2007-01-28  Bruno Haible  <bruno@clisp.org>
92966         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
92967         value of $(SYS_TIME_H).
92968         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
92969         remove it conditionally, too. [added by Jim Meyering]
92970         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
92971         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
92972         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
92973         GETTIMEOFDAY_REPLACEMENT to 1.
92975 2007-01-28  Bruno Haible  <bruno@clisp.org>
92977         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
92978         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
92979         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
92980         Set UNISTD_H instead of UNISTD_H2.
92981         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
92983 2007-01-28  Bruno Haible  <bruno@clisp.org>
92985         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
92986         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
92988 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
92990         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
92991         (func_create_testdir): Ensure C locale for `grep' and `tr'
92992         character ranges.
92993         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
92994         ACLOCAL_AMFLAGS parsing state machine.
92996 2007-01-27  Bruno Haible  <bruno@clisp.org>
92998         * modules/unistr/base: Update.
93000 2007-01-27  Bruno Haible  <bruno@clisp.org>
93002         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
93003         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
93004         * modules/unistr/u32-mbtouc-unsafe: Renamed from
93005         modules/unistr/u32-mbtouc.
93006         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
93007         * lib/unistr.h: Update.
93008         * lib/linebreak.c: Update.
93009         * modules/unistr/u32-mbtouc: Renamed from
93010         modules/unistr/u32-mbtouc-safe.
93011         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
93012         * lib/unistr.h: Update.
93013         * lib/unistr/u32-to-u8.c: Update.
93014         * lib/unistr/u32-to-u16.c: Update.
93016 2007-01-27  Bruno Haible  <bruno@clisp.org>
93018         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
93019         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
93020         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
93021         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
93022         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
93023         * modules/unistr/u16-mbtouc-unsafe: Renamed from
93024         modules/unistr/u16-mbtouc.
93025         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
93026         * lib/unistr.h: Update.
93027         * lib/linebreak.c: Update.
93028         * modules/linebreak: Update.
93029         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
93030         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
93031         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
93032         * modules/unistr/u16-mbtouc: Renamed from
93033         modules/unistr/u16-mbtouc-safe.
93034         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
93035         * lib/unistr.h: Update.
93036         * lib/unistr/u16-to-u8.c: Update.
93037         * modules/unistr/u16-to-u8: Update.
93038         * lib/unistr/u16-to-u32.c: Update.
93039         * modules/unistr/u16-to-u32: Update.
93041 2007-01-27  Bruno Haible  <bruno@clisp.org>
93043         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
93044         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
93045         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
93046         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
93047         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
93048         * modules/unistr/u8-mbtouc-unsafe: Renamed from
93049         modules/unistr/u8-mbtouc.
93050         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
93051         * lib/unistr.h: Update.
93052         * lib/striconveh.c: Update.
93053         * modules/striconveh: Update.
93054         * lib/linebreak.c: Update.
93055         * modules/linebreak: Update.
93056         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
93057         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
93058         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
93059         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
93060         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
93061         * lib/unistr.h: Update.
93062         * lib/striconveh.c: Update.
93063         * modules/striconveh: Update.
93064         * lib/unistr/u8-to-u16.c: Update.
93065         * modules/unistr/u8-to-u16: Update.
93066         * lib/unistr/u8-to-u32.c: Update.
93067         * modules/unistr/u8-to-u32: Update.
93069 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
93071         Sync from Libtool.
93072         * lib/argz.c: Do not include strings.h nor memory.h, include
93073         string.h unconditionally.  Patch by Simon Josefsson.
93075 2007-01-27  Bruno Haible  <bruno@clisp.org>
93077         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
93078         from gl_HEADER_STRING_H_BODY.
93079         (gl_HEADER_STRING_H_BODY): Require it.
93080         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
93081         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
93082         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
93083         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
93084         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
93085         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
93086         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
93087         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
93088         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
93089         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
93090         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
93091         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
93092         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
93093         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
93094         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
93096 2007-01-27  Bruno Haible  <bruno@clisp.org>
93098         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
93099         check_PROGRAMS into noinst_PROGRAMS.
93100         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
93101         check_PROGRAMS in this case.
93102         (func_import): Set for_test to false.
93103         (func_create_testdir): Set for_test to true.
93105 2007-01-27  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
93106             Bruno Haible  <bruno@clisp.org>
93108         * modules/strcasestr (Files): Remove lib/strcasestr.h.
93109         (Depends-on): Add string.
93110         (Includes): Use <string.h> instead of strcasestr.h.
93111         * modules/string (Makefile.am): Also substitute the value of
93112         REPLACE_STRCASESTR.
93113         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
93114         assume strcasestr is declared in <string.h> not <strings.h>. Also
93115         set REPLACE_STRCASESTR.
93116         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
93117         REPLACE_STRCASESTR.
93118         * lib/strcasestr.h: Remove file.
93119         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
93120         * lib/string_.h (strcasestr): New declaration.
93122 2007-01-27  Bruno Haible  <bruno@clisp.org>
93124         * lib/string_.h: Use 'extern'.
93126 2007-01-27  Jim Meyering  <jim@meyering.net>
93128         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
93129         of set-but-not-used local, "q".
93131         * lib/mempcpy.c: Include <config.h> before <string.h>.
93132         This fixes a compilation error on HP-UX, due to the system's
93133         "restrict"-using mempcpy prototype.
93135 2007-01-26  Bruno Haible  <bruno@clisp.org>
93137         Small optimization.
93138         * lib/javacomp.c: Include c-strstr.h.
93139          (is_envjavac_gcj): Use c_strstr instead of strstr.
93140         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
93142 2007-01-26  Bruno Haible  <bruno@clisp.org>
93144         * MODULES.html.sh (Unicode string functions): Add the new modules.
93146         * modules/uniconv/u32-strconv-to-locale: New file.
93147         * lib/uniconv/u32-strconv-to-locale.c: New file.
93149         * modules/uniconv/u16-strconv-to-locale: New file.
93150         * lib/uniconv/u16-strconv-to-locale.c: New file.
93152         * modules/uniconv/u8-strconv-to-locale: New file.
93153         * lib/uniconv/u8-strconv-to-locale.c: New file.
93155         * modules/uniconv/u32-strconv-from-locale: New file.
93156         * lib/uniconv/u32-strconv-from-locale.c: New file.
93158         * modules/uniconv/u16-strconv-from-locale: New file.
93159         * lib/uniconv/u16-strconv-from-locale.c: New file.
93161         * modules/uniconv/u8-strconv-from-locale: New file.
93162         * lib/uniconv/u8-strconv-from-locale.c: New file.
93164         * modules/uniconv/u32-strconv-to-enc: New file.
93165         * lib/uniconv/u32-strconv-to-enc.c: New file.
93166         * modules/uniconv/u32-strconv-to-enc-tests: New file.
93167         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
93169         * modules/uniconv/u16-strconv-to-enc: New file.
93170         * lib/uniconv/u16-strconv-to-enc.c: New file.
93171         * lib/uniconv/u-strconv-to-enc.h: New file.
93172         * modules/uniconv/u16-strconv-to-enc-tests: New file.
93173         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
93175         * modules/uniconv/u8-strconv-to-enc: New file.
93176         * lib/uniconv/u8-strconv-to-enc.c: New file.
93177         * modules/uniconv/u8-strconv-to-enc-tests: New file.
93178         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
93180         * modules/uniconv/u32-strconv-from-enc: New file.
93181         * lib/uniconv/u32-strconv-from-enc.c: New file.
93182         * modules/uniconv/u32-strconv-from-enc-tests: New file.
93183         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
93185         * modules/uniconv/u16-strconv-from-enc: New file.
93186         * lib/uniconv/u16-strconv-from-enc.c: New file.
93187         * modules/uniconv/u16-strconv-from-enc-tests: New file.
93188         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
93190         * modules/uniconv/u8-strconv-from-enc: New file.
93191         * lib/uniconv/u8-strconv-from-enc.c: New file.
93192         * lib/uniconv/u-strconv-from-enc.h: New file.
93193         * modules/uniconv/u8-strconv-from-enc-tests: New file.
93194         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
93196         * modules/uniconv/u32-conv-from-enc: New file.
93197         * lib/uniconv/u32-conv-from-enc.c: New file.
93198         * modules/uniconv/u32-conv-from-enc-tests: New file.
93199         * tests/uniconv/test-u32-conv-from-enc.c: New file.
93201         * modules/uniconv/u16-conv-from-enc: New file.
93202         * lib/uniconv/u16-conv-from-enc.c: New file.
93203         * lib/uniconv/u-conv-from-enc.h: New file.
93204         * modules/uniconv/u16-conv-from-enc-tests: New file.
93205         * tests/uniconv/test-u16-conv-from-enc.c: New file.
93207         * modules/uniconv/u8-conv-from-enc: New file.
93208         * lib/uniconv/u8-conv-from-enc.c: New file.
93209         * modules/uniconv/u8-conv-from-enc-tests: New file.
93210         * tests/uniconv/test-u8-conv-from-enc.c: New file.
93212         * modules/uniconv/base: New file.
93213         * lib/uniconv.h: New file.
93215 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
93217         * doc/gnulib-tool.texi (Initial import): Update to match current
93218         behavior with strdup module.
93219         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
93220         * lib/memmem.h: Remove; all uses removed.  This is now done
93221         by <string.h>.
93222         * lib/mempcpy.h: Likewise.
93223         * lib/memrchr.h: Likewise.
93224         * lib/stpcpy.h: Likewise.
93225         * lib/stpncpy.h: Likewise.
93226         * lib/strcase.h: Likewise.
93227         * lib/strchrnul.h: Likewise.
93228         * lib/strdup.h: Likewise.
93229         * lib/strndup.h: Likewise.
93230         * lib/strnlen.h: Likewise.
93231         * lib/strpbrk.h: Likewise.
93232         * lib/strsep.h: Likewise.
93233         * lib/strstr.h: Likewise.
93234         * lib/strtok_r.h: Likewise.
93235         * lib/string_.h: New file.
93236         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
93237         Rely on <string.h> instead.
93238         * lib/canon-host.c: Likewise.
93239         * lib/chdir-long.c: Likewise.
93240         * lib/concatpath.c: Likewise.
93241         * lib/exclude.c: Likewise.
93242         * lib/fchdir.c: Likewise.
93243         * lib/getaddrinfo.c: Likewise.
93244         * lib/getcwd.c: Likewise.
93245         * lib/getsubopt.c: Likewise.
93246         * lib/glob.c: Likewise.
93247         * lib/hard-locale.c: Likewise.
93248         * lib/iconvme.c: Likewise.
93249         * lib/javacomp.c: Likewise.
93250         * lib/mempcpy.c: Likewise.
93251         * lib/memrchr.c: Likewise.
93252         * lib/regex_internal.h: Likewise.
93253         * lib/stpncpy.c: Likewise.
93254         * lib/strcasecmp.c: Likewise.
93255         * lib/strchrnul.c: Likewise.
93256         * lib/strdup.c: Likewise.
93257         * lib/striconv.c: Likewise.
93258         * lib/striconveh.c: Likewise.
93259         * lib/striconveha.c: Likewise.
93260         * lib/strncasecmp.c: Likewise.
93261         * lib/strndup.c: Likewise.
93262         * lib/strnlen.c: Likewise.
93263         * lib/strsep.c: Likewise.
93264         * lib/strstr.c: Likewise.
93265         * lib/strtok_r.c: Likewise.
93266         * lib/userspec.c: Likewise.
93267         * lib/w32spawn.h: Likewise.
93268         * lib/xstrndup.c: Likewise.
93269         * lib/mountlist.c (strstr): Remove decl.
93270         * m4/string_h.m4: New file.
93271         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
93272         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
93273         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
93274         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
93275         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
93276         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
93277         Set REPLACE_STRCASECMP if necessary.
93278         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
93279         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
93280         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
93281         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
93282         HAVE_DECL_STRDUP if necessary.
93283         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
93284         since gl_FUNC_STRNDUP does that now.
93285         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
93286         Check for decl here...
93287         (gl_PREREQ_STRNLEN): ... not here.
93288         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
93289         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
93290         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
93291         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
93292         necessary.
93293         * modules/string: New file.
93294         * modules/memmem (Files): Remove special-purpose include file.
93295         (Depends-on): Add string.
93296         (Include): Include <string.h>, not the removed file.
93297         * modules/mempcpy: Likewise.
93298         * modules/memrchr: Likewise.
93299         * modules/stpcpy: Likewise.
93300         * modules/stpncpy: Likewise.
93301         * modules/strcase: Likewise.
93302         * modules/strchrnul: Likewise.
93303         * modules/strdup: Likewise.
93304         * modules/strndup: Likewise.
93305         * modules/strnlen: Likewise.
93306         * modules/strpbrk: Likewise.
93307         * modules/strsep: Likewise.
93308         * modules/strstr: Likewise.
93309         * modules/strtok_r: Likewise.
93310         * tests/test-dirname.c: Don't include "strdup.h", since
93311         <string.h> now suffices.
93312         * tests/test-memmem.c: Don't include "memmem.h", since
93313         <string.h> now suffices.
93315 2007-01-25  Bruno Haible  <bruno@clisp.org>
93317         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
93318         *resultp is 0.
93320         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
93321         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
93322         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
93323         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
93325         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
93326         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
93327         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
93328         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
93329         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
93330         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
93332 2007-01-24  Bruno Haible  <bruno@clisp.org>
93334         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
93335         <http://lists.gnu.org/r/bug-gnulib/2006-10/msg00279.html>.
93336         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
93337         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
93338         gl_FUNC_FTS_CORE.
93339         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
93340         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
93341         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
93342         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
93343         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
93344         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
93345         gl_FUNC_FCHOWNAT.
93346         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
93347         gl_FUNC_STRFTIME.
93348         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
93349         Reported by Ralf Wildenhues.
93351 2007-01-24  Bruno Haible  <bruno@clisp.org>
93353         Drop AC_REQUIRE calls that are redundant with the module dependencies.
93354         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
93355         gl_GETADDRINFO.
93356         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
93357         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
93358         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
93360 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
93362         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
93363         Don't use 'exit'; just return from 'main'.
93364         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
93366         * lib/fnmatch_.h: Readjust white space and comments to match
93367         glibc, to avoid spurious diffs.
93369 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
93371         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
93372         2004-12-01 change by Jakub Jelinek, since this code won't compile
93373         if !LIBC.  Problem reported by Bob Proulx.
93375 2007-01-23  Bruno Haible  <bruno@clisp.org>
93377         * lib/striconveh.c: Include c-strcaseeq.h.
93378         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
93379         * modules/striconveh (Depends-on): Add c-strcaseeq.
93381 2007-01-23  Bruno Haible  <bruno@clisp.org>
93383         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
93385         * modules/c-strcaseeq: New file.
93386         * lib/c-strcaseeq.h: New file.
93388         * modules/streq: New file.
93389         * lib/streq.h: New file.
93391 2007-01-23  Bruno Haible  <bruno@clisp.org>
93393         * modules/striconveha-tests: New file.
93394         * tests/test-striconveha.c: New file.
93396         * lib/striconveha.h: Include <stdbool.h>.
93397         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
93398         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
93399         (mem_iconveha_notranslit): Renamed from mem_iconveha.
93400         (mem_iconveha): New function.
93401         (str_iconveha_notranslit): Renamed from str_iconveha.
93402         (str_iconveha): New function.
93403         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
93404         c-strcase.
93406 2007-01-23  Bruno Haible  <bruno@clisp.org>
93408         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
93409         encodings without forgiving before trying any encoding with handler.
93410         (str_iconveha): Try all encodings without forgiving before trying any
93411         encoding with handler.
93413 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
93415         Import the following changes from libc.
93417         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
93419         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
93421         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
93423         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
93424         normal_bracket label.
93426         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
93428         [BZ #361]
93429         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
93430         to normal_bracket after fetching the next character.
93432 2007-01-22  Bruno Haible  <bruno@clisp.org>
93434         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
93435         argument.
93436         * lib/striconveh.c (iconv_carefully_1): New function.
93437         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
93438         argument.
93439         (str_cd_iconveh): Update.
93440         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
93441         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
93442         * tests/test-striconveh.c (MAGIC): New macro.
93443         (new_offsets): New function.
93444         (main): Test call with and without offsets.
93446 2007-01-22  Bruno Haible  <bruno@clisp.org>
93448         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
93449         * modules/sys_select (Makefile.am): Likewise.
93450         * modules/sys_socket (Makefile.am): Likewise.
93451         * modules/sys_time (Makefile.am): Likewise.
93453 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
93455         * modules/gettimeofday (License): Change from GPL to LGPL, since
93456         gettimeofday is a library function.
93458 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
93460         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
93462 2007-01-21  Bruno Haible  <bruno@clisp.org>
93464         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
93466 2007-01-21  Bruno Haible  <bruno@clisp.org>
93468         * modules/striconveha: New file.
93469         * lib/striconveha.h: New file.
93470         * lib/striconveha.c: New file.
93471         * MODULES.html.sh (Internationalization functions): Add striconveha.
93472         * lib/striconv.c (str_iconv): Optimize the case of an empty input
93473         string.
93474         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
93476 2007-01-21  Bruno Haible  <bruno@clisp.org>
93478         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
93479         * lib/striconveh.c (str_iconveh): Likewise.
93481 2007-01-21  Bruno Haible  <bruno@clisp.org>
93483         * lib/striconveh.h (mem_iconveh): New declaration.
93484         * lib/striconveh.c (mem_iconveh): New function.
93485         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
93487 2007-01-21  Bruno Haible  <bruno@clisp.org>
93489         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
93491         * lib/striconveh.h (mem_cd_iconveh): Change specification.
93492         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
93493         original result buffer.
93494         (str_cd_iconveh): Update.
93495         * tests/test-striconveh.c (main): Update.
93497         * lib/striconv.h (mem_cd_iconv): Change specification.
93498         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
93499         result buffer.
93500         (str_cd_iconv): Update.
93501         * tests/test-striconv.c (main): Update.
93503 2007-01-21  Bruno Haible  <bruno@clisp.org>
93505         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
93507 2007-01-20  Jim Meyering  <jim@meyering.net>
93509         * lib/userspec.c (parse_with_separator): If a user or group string
93510         starts with "+", skip the corresponding name-to-ID look-up, since
93511         such a look-up must fail: user and group names may not include "+".
93513 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
93515         * lib/poll.c: Include sys/time.h and time.h unconditionally,
93516         since we now assume the sys_time module.
93517         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
93518         check for sys/time.h; no longer needed.
93519         * modules/poll (Depends-on): Depend on sys_time.
93521 2007-01-18  Bruno Haible  <bruno@clisp.org>
93523         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
93524         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
93526         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
93527         gettimeofday.
93529         * tests/test-gettimeofday.c: Include <time.h>.
93530         (dummy): Remove variable.
93532         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
93533         gl_HEADER_SYS_TIME_H.
93534         (gl_HEADER_SYS_TIME_H): New macro.
93536         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
93537         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
93538         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
93539         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
93540         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
93541         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
93542         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
93543         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
93544         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
93545         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
93546         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
93548         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
93549         last change; it caused a compilation error when cross-compiling to
93550         Cygwin.
93552 2007-01-18  Jim Meyering  <jim@meyering.net>
93554         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
93555         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
93556         than the race-prone "test -d sys || mkdir sys".
93557         (configure.ac): Use AC_PROG_MKDIR_P.
93558         * modules/sys_select: Likewise.
93559         * modules/sys_socket: Likewise.
93560         * modules/sys_time: Likewise.
93562 2007-01-18  Eric Blake  <ebb9@byu.net>
93564         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
93565         replace gettimeofday.
93566         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
93567         name, to avoid infinite recursion.
93569 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
93571         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
93572         module sys_time.
93573         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
93574         assume timespec.h defines struct timeval.
93575         * lib/settime.c: Likewise.
93576         * lib/utimens.c: Likewise.
93577         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
93578         since we now assume the gettimeofday module.
93579         * lib/tempname.c (__gen_tempname): Likewise.
93580         * lib/gettimeofday.h: Remove.
93581         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
93582         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
93583         Include <time.h>, for 'time()'.
93584         (localtime_buffer_addr): Also use this workaround if
93585         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
93586         to simplify the uses.  All uses changed.
93587         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
93588         that #undef is inside {}, and 'const' follows type name consistently.
93589         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
93590         (gettimeofday): Do not use the maximum possible value for
93591         tv->tv_usec, since that might break usages other than ls.c.
93592         Instead, we'll leave ls.c alone.  This undoes today's patch
93593         by Bruno.  Add a compile-time warning for 1s-clock resolution;
93594         we've never observed the problem but might as well keep the
93595         canary.
93596         * lib/nanosleep.c: Include timespec.h first, for interface check.
93597         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
93598         now assume the sys_time module.
93599         * lib/tempname.c: Likewise.
93600         * lib/timespec.h: Likewise.
93601         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
93602         needed.
93603         * lib/strftime.c: Likewise.
93604         * lib/timespec.h: Likewise.
93605         * lib/posixtm.c: Include posixtm.h first, for interface check.
93606         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
93607         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
93608         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
93609         * lib/sys_time_.h: New file.
93610         * lib/timespec.h (struct timespec): Use long int, not long.
93611         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
93612         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
93613         Remove obsolescent call to AC_HEADER_TIME.
93614         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
93615         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
93616         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
93617         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
93618         Likewise.
93619         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
93620         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
93621         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
93622         into the sys_time module.  Check for gettimeofday just once.
93623         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
93624         for gettimeofday signature to just check the signature.  Merely
93625         compile it, since linking doesn't test signature.  Improve test for
93626         whether gettimeofday.o is actually needed.
93627         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
93628         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
93629         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
93630         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
93631         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
93632         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
93633         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
93634         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
93635         than worrying about sys/time.h.
93636         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
93637         Don't bother worrying about TIME_WITH_SYS_TIME.
93638         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
93639         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
93640         * m4/sys_time_h.m4: New file.
93641         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
93642         Don't include sys/time.h.  Return from main rather than exiting.
93643         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
93644         all uses changed.
93645         * modules/gethrxtime (Depends-on): Add sys_time.
93646         * modules/gettime (Depends-on): Likewise.
93647         * modules/gettimeofday (Depends-on): Likewise.
93648         * modules/nanosleep (Depends-on): Likewise.
93649         * modules/settime (Depends-on): Likewise.
93650         * modules/tempname (Depends-on): Likewise.
93651         * modules/utimens (Depends-on): Likewise.
93652         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
93653         (Include): Change back to <sys/time.h>.
93654         (Maintainer): Add self.
93655         * modules/sys_time: New file.
93656         * modules/tempname (Depends-on): Add gettimeofday.
93657         * tests/test-gettimeofday.c: Include <sys/time.h>
93658         rather than gettimeofday.h.
93660 2007-01-17  Bruno Haible  <bruno@clisp.org>
93662         * gnulib-tool (func_get_license): Revert last patch. Instead, let
93663         the license default to GPL.
93664         (func_create_testdir): Don't complain if a module is LGPL and its
93665         tests module depends on GPLed modules.
93667 2007-01-17  Bruno Haible  <bruno@clisp.org>
93669         * lib/gettimeofday.c (gettimeofday): Add code for the case
93670         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
93671         maximum possible value for tv->tv_usec, rather than the minimum one.
93673 2005-10-08  Martin Lambers  <marlam@marlam.de>
93674 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
93675 2007-01-16  Bruno Haible  <bruno@clisp.org>
93677         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
93678         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
93679         gl_FUNC_GETTIMEOFDAY.
93680         (Include): Add gettimeofday.h.
93681         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
93682         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
93683         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
93684         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
93685         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
93686         * lib/gettimeofday.h: New file.
93687         * lib/gettimeofday.c: Include <sys/timeb.h>.
93688         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
93689         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
93690         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
93691         fall back on time().
93693         * tests/test-gettimeofday.c: New file.
93694         * modules/gettimeofday-tests: New file.
93696 2007-01-16  Eric Blake  <ebb9@byu.net>
93698         * modules/fnmatch (Depends-on): Depend on wchar.
93699         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
93700         * m4/fnmatch.m4: Likewise.
93701         * modules/mbchar (Makefile.am): Assume <wchar.h>.
93702         * m4/mbchar.m4: Likewise.
93703         * modules/mbswidth (Depends-on): Depend on wchar.
93704         * lib/mbswidth.c: Assume <wchar.h>.
93705         * m4/mbswidth.m4: Likewise.
93706         * modules/quotearg (Depends-on): Depend on wchar.
93707         * lib/quotearg.c: Assume <wchar.h>.
93708         * m4/quotearg.m4: Likewise.
93709         * modules/regex (Depends-on): Depend on wchar.
93710         * lib/regex_internal.h: Assume <wchar.h>.
93711         * m4/regex.m4: Likewise.
93712         * modules/stdint (Depends-on): Depend on wchar.
93713         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
93714         * m4/stdint.m4: Likewise.
93715         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
93716         * modules/strftime (Depends-on): Depend on wchar.
93717         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
93718         * modules/strtol (Depends-on): Depend on wchar.
93719         * lib/strtol.c: Assume <wchar.h>.
93720         * modules/wcwidth (Depends-on): Depend on wchar.
93721         * lib/wcwidth.h: Assume <wchar.h>.
93722         * m4/wcwidth.m4: Likewise.
93724 2007-01-16  Bruno Haible  <bruno@clisp.org>
93726         * modules/csharpexec-script: New, created from...
93727         * modules/csharpexec: ... this.
93729 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
93731         * modules/javaexec-script: New, created from...
93732         * modules/javaexec: ... this.
93734 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
93736         * modules/poll (Dependencies): Add sys_select.
93738 2007-01-15  Jim Meyering  <jim@meyering.net>
93740         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
93741         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
93742         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
93743         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
93745 2007-01-15  Bruno Haible  <bruno@clisp.org>
93747         * modules/striconveh: New file.
93748         * lib/striconveh.h: New file.
93749         * lib/striconveh.c: New file.
93750         * MODULES.html.sh (Internationalization functions): Add striconveh.
93752         * modules/striconveh-tests: New file.
93753         * tests/test-striconveh.c: New file.
93755 2007-01-15  Bruno Haible  <bruno@clisp.org>
93757         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
93758         not from GNU libiconv or GNU libc.
93760 2007-01-15  Bruno Haible  <bruno@clisp.org>
93762         * doc/gnulib-intro.texi (Copyright): Explain the different license
93763         terms for module descriptions, autoconf macros, tests, documentation.
93765 2007-01-14  Bruno Haible  <bruno@clisp.org>
93767         * modules/striconv-tests: New file.
93768         * tests/test-striconv.c: New file.
93770 2007-01-14  Bruno Haible  <bruno@clisp.org>
93772         * modules/iconv-tests: New file.
93773         * tests/test-iconv.c: New file.
93775 2007-01-14  Bruno Haible  <bruno@clisp.org>
93777         * gnulib-tool (func_get_license): For test modules, use the license of
93778         the main module.
93780 2007-01-14  Bruno Haible  <bruno@clisp.org>
93782         * modules/iconv (Include): Clarify that <iconv.h> can only be included
93783         if iconv is found to exist.
93785 2007-01-14  Bruno Haible  <bruno@clisp.org>
93787         * modules/c-ctype-tests: New file.
93788         * tests/test-c-ctype.c: New file.
93790 2007-01-14  Bruno Haible  <bruno@clisp.org>
93792         * modules/binary-io-tests: New file.
93793         * tests/test-binary-io.sh: New file.
93794         * tests/test-binary-io.c: New file.
93796 2007-01-14  Bruno Haible  <bruno@clisp.org>
93798         * modules/array-oset-tests: New file.
93799         * tests/test-array_oset.c: New file.
93801 2007-01-14  Bruno Haible  <bruno@clisp.org>
93803         * modules/array-list-tests: New file.
93804         * tests/test-array_list.c: New file.
93806 2007-01-14  Bruno Haible  <bruno@clisp.org>
93808         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
93809         and make.
93810         Reported by Simon Josefsson in
93811         <http://lists.gnu.org/r/bug-gnulib/2007-01/msg00139.html>
93813 2007-01-14  Bruno Haible  <bruno@clisp.org>
93815         * modules/allocsa-tests: New file.
93816         * tests/test-allocsa.c: New file.
93818 2007-01-14  Bruno Haible  <bruno@clisp.org>
93820         * modules/fchdir (Depends-on): Add absolute-header.
93821         * modules/unistd (Depends-on): Likewise.
93823 2006-12-30  Bruno Haible  <bruno@clisp.org>
93825         * modules/fchdir: New file.
93826         * modules/unistd (Files): Add lib/unistd_.h.
93827         (Makefile.am): Generate unistd.h from unistd_.h.
93828         * lib/fchdir.c: New file.
93829         * lib/dirent_.h: New file.
93830         * lib/unistd_.h: New file.
93831         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
93832         * m4/fchdir.m4: New file.
93833         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
93834         (gl_HEADER_UNISTD): Invoke it.
93835         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
93836         function.
93837         * lib/backupfile.c (opendir, closedir): Undefine.
93838         * lib/chown.c (open, close): Undefine.
93839         * lib/clean-temp.c (open, close): Undefine.
93840         * lib/copy-file.c (open, close): Undefine.
93841         * lib/execute.c (open, close): Undefine.
93842         * lib/fsusage.c (open, close): Undefine.
93843         * lib/gc-gnulib.c (open, close): Undefine.
93844         * lib/getcwd.c (opendir, closedir): Undefine.
93845         * lib/glob.c (opendir, closedir): Undefine.
93846         * lib/javacomp.c (open, close): Undefine.
93847         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
93848         * lib/openat-proc.c (open, close): Undefine.
93849         * lib/pagealign_alloc.c (open, close): Undefine.
93850         * lib/pipe.c (open, close): Undefine.
93851         * lib/progreloc.c (open, close): Undefine.
93852         * lib/savedir.c (opendir, closedir): Undefine.
93853         * lib/utime.c (open, close): Undefine.
93854         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
93856 2007-01-10  Bruno Haible  <bruno@clisp.org>
93858         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
93860 2007-01-12  Eric Blake  <ebb9@byu.net>
93862         Provide a robust <wchar.h>.  Further simplifications are now
93863         possible in other modules, but not included here.
93864         * modules/wchar: New module.
93865         * m4/wchar.m4: New file.
93866         * lib/wchar_.h: Likewise.
93867         * modules/mbchar (Depends-on): Depend on wchar, as the first use
93868         of the new module.
93869         * MODULES.html.sh (Extended multibyte and wide character utilities):
93870         New section.
93872 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
93874         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
93875         to a reasonable default for memory allocation.
93876         (xreadlink): Don't allocate a huge buffer, to work around a buggy
93877         file system that reports garbage st_size values for symlinks.
93878         Problem reported by Liyang Hu.
93880 2007-01-11  Simon Josefsson  <simon@josefsson.org>
93882         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
93883         Emacs .#* auto-save files).
93885 2007-01-11  Bruno Haible  <bruno@clisp.org>
93887         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
93888         directory.
93890 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
93892         Use @...@ consistently in lib/wctype_.h.
93893         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
93894         on it being set to 1 or 0.
93895         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
93896         go back to AC_SUBSTing it.
93897         * modules/wctype (Makefile.am): Undo previous change.
93899 2007-01-10  Eric Blake  <ebb9@byu.net>
93901         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
93902         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
93903         * modules/wctype (Makefile.am): Likewise.
93904         Reported by Chris McGuire.
93906 2007-01-10  Jim Meyering  <jim@meyering.net>
93908         fts.c: a small readability/maintainability improvement
93909         * lib/fts.c (fts_read): Make this code slightly more readable and
93910         maintainable by hoisting the "sp->fts_cur = p" assignments to
93911         immediately follow the statements that set P.  Derived from
93912         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
93914 2007-01-10  Eric Blake  <ebb9@byu.net>
93916         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
93917         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
93918         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
93919         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
93920         Reported by Chris McGuire.
93922 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
93924         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
93925         in sed script.
93927 2007-01-09  Bruno Haible  <bruno@clisp.org>
93929         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
93930         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
93931         variables.
93932         (func_module): Use them.
93934 2007-01-09  Bruno Haible  <bruno@clisp.org>
93936         * modules/unistr/base: New file.
93937         * lib/unistr.h: New file.
93939         * modules/unistr/u8-to-u16: New file.
93940         * lib/unistr/u8-to-u16.c: New file.
93942         * modules/unistr/u8-to-u32: New file.
93943         * lib/unistr/u8-to-u32.c: New file.
93945         * modules/unistr/u16-to-u8: New file.
93946         * lib/unistr/u16-to-u8.c: New file.
93948         * modules/unistr/u16-to-u32: New file.
93949         * lib/unistr/u16-to-u32.c: New file.
93951         * modules/unistr/u32-to-u8: New file.
93952         * lib/unistr/u32-to-u8.c: New file.
93954         * modules/unistr/u32-to-u16: New file.
93955         * lib/unistr/u32-to-u16.c: New file.
93957         * modules/unistr/u8-check: New file.
93958         * modules/unistr/u16-check: New file.
93959         * modules/unistr/u32-check: New file.
93960         * lib/unistr/u8-check.c: New file.
93961         * lib/unistr/u16-check.c: New file.
93962         * lib/unistr/u32-check.c: New file.
93964         * modules/unistr/u8-chr: New file.
93965         * modules/unistr/u16-chr: New file.
93966         * modules/unistr/u32-chr: New file.
93967         * lib/unistr/u8-chr.c: New file.
93968         * lib/unistr/u16-chr.c: New file.
93969         * lib/unistr/u32-chr.c: New file.
93971         * modules/unistr/u8-cmp: New file.
93972         * modules/unistr/u16-cmp: New file.
93973         * modules/unistr/u32-cmp: New file.
93974         * lib/unistr/u8-cmp.c: New file.
93975         * lib/unistr/u16-cmp.c: New file.
93976         * lib/unistr/u32-cmp.c: New file.
93978         * modules/unistr/u8-cpy: New file.
93979         * modules/unistr/u16-cpy: New file.
93980         * modules/unistr/u32-cpy: New file.
93981         * lib/unistr/u8-cpy.c: New file.
93982         * lib/unistr/u16-cpy.c: New file.
93983         * lib/unistr/u32-cpy.c: New file.
93984         * lib/unistr/u-cpy.h: New file.
93986         * modules/unistr/u8-cpy-alloc: New file.
93987         * modules/unistr/u16-cpy-alloc: New file.
93988         * modules/unistr/u32-cpy-alloc: New file.
93989         * lib/unistr/u8-cpy-alloc.c: New file.
93990         * lib/unistr/u16-cpy-alloc.c: New file.
93991         * lib/unistr/u32-cpy-alloc.c: New file.
93992         * lib/unistr/u-cpy-alloc.h: New file.
93994         * modules/unistr/u8-endswith: New file.
93995         * modules/unistr/u16-endswith: New file.
93996         * modules/unistr/u32-endswith: New file.
93997         * lib/unistr/u8-endswith.c: New file.
93998         * lib/unistr/u16-endswith.c: New file.
93999         * lib/unistr/u32-endswith.c: New file.
94000         * lib/unistr/u-endswith.h: New file.
94002         * modules/unistr/u8-mblen: New file.
94003         * modules/unistr/u16-mblen: New file.
94004         * modules/unistr/u32-mblen: New file.
94005         * lib/unistr/u8-mblen.c: New file.
94006         * lib/unistr/u16-mblen.c: New file.
94007         * lib/unistr/u32-mblen.c: New file.
94009         * modules/unistr/u8-mbtouc: New file.
94010         * modules/unistr/u16-mbtouc: New file.
94011         * modules/unistr/u32-mbtouc: New file.
94012         * lib/unistr/u8-mbtouc.c: New file.
94013         * lib/unistr/u16-mbtouc.c: New file.
94014         * lib/unistr/u32-mbtouc.c: New file.
94016         * modules/unistr/u8-mbtouc-safe: New file.
94017         * modules/unistr/u16-mbtouc-safe: New file.
94018         * modules/unistr/u32-mbtouc-safe: New file.
94019         * lib/unistr/u8-mbtouc-safe.c: New file.
94020         * lib/unistr/u16-mbtouc-safe.c: New file.
94021         * lib/unistr/u32-mbtouc-safe.c: New file.
94023         * modules/unistr/u8-move: New file.
94024         * modules/unistr/u16-move: New file.
94025         * modules/unistr/u32-move: New file.
94026         * lib/unistr/u8-move.c: New file.
94027         * lib/unistr/u16-move.c: New file.
94028         * lib/unistr/u32-move.c: New file.
94029         * lib/unistr/u-move.h: New file.
94031         * modules/unistr/u8-next: New file.
94032         * modules/unistr/u16-next: New file.
94033         * modules/unistr/u32-next: New file.
94034         * lib/unistr/u8-next.c: New file.
94035         * lib/unistr/u16-next.c: New file.
94036         * lib/unistr/u32-next.c: New file.
94038         * modules/unistr/u8-prev: New file.
94039         * modules/unistr/u16-prev: New file.
94040         * modules/unistr/u32-prev: New file.
94041         * lib/unistr/u8-prev.c: New file.
94042         * lib/unistr/u16-prev.c: New file.
94043         * lib/unistr/u32-prev.c: New file.
94045         * modules/unistr/u8-set: New file.
94046         * modules/unistr/u16-set: New file.
94047         * modules/unistr/u32-set: New file.
94048         * lib/unistr/u8-set.c: New file.
94049         * lib/unistr/u16-set.c: New file.
94050         * lib/unistr/u32-set.c: New file.
94051         * lib/unistr/u-set.h: New file.
94053         * modules/unistr/u8-startswith: New file.
94054         * modules/unistr/u16-startswith: New file.
94055         * modules/unistr/u32-startswith: New file.
94056         * lib/unistr/u8-startswith.c: New file.
94057         * lib/unistr/u16-startswith.c: New file.
94058         * lib/unistr/u32-startswith.c: New file.
94059         * lib/unistr/u-startswith.h: New file.
94061         * modules/unistr/u8-stpcpy: New file.
94062         * modules/unistr/u16-stpcpy: New file.
94063         * modules/unistr/u32-stpcpy: New file.
94064         * lib/unistr/u8-stpcpy.c: New file.
94065         * lib/unistr/u16-stpcpy.c: New file.
94066         * lib/unistr/u32-stpcpy.c: New file.
94067         * lib/unistr/u-stpcpy.h: New file.
94069         * modules/unistr/u8-stpncpy: New file.
94070         * modules/unistr/u16-stpncpy: New file.
94071         * modules/unistr/u32-stpncpy: New file.
94072         * lib/unistr/u8-stpncpy.c: New file.
94073         * lib/unistr/u16-stpncpy.c: New file.
94074         * lib/unistr/u32-stpncpy.c: New file.
94075         * lib/unistr/u-stpncpy.h: New file.
94077         * modules/unistr/u8-strcat: New file.
94078         * modules/unistr/u16-strcat: New file.
94079         * modules/unistr/u32-strcat: New file.
94080         * lib/unistr/u8-strcat.c: New file.
94081         * lib/unistr/u16-strcat.c: New file.
94082         * lib/unistr/u32-strcat.c: New file.
94083         * lib/unistr/u-strcat.h: New file.
94085         * modules/unistr/u8-strchr: New file.
94086         * modules/unistr/u16-strchr: New file.
94087         * modules/unistr/u32-strchr: New file.
94088         * lib/unistr/u8-strchr.c: New file.
94089         * lib/unistr/u16-strchr.c: New file.
94090         * lib/unistr/u32-strchr.c: New file.
94092         * modules/unistr/u8-strcmp: New file.
94093         * modules/unistr/u16-strcmp: New file.
94094         * modules/unistr/u32-strcmp: New file.
94095         * lib/unistr/u8-strcmp.c: New file.
94096         * lib/unistr/u16-strcmp.c: New file.
94097         * lib/unistr/u32-strcmp.c: New file.
94099         * modules/unistr/u8-strcpy: New file.
94100         * modules/unistr/u16-strcpy: New file.
94101         * modules/unistr/u32-strcpy: New file.
94102         * lib/unistr/u8-strcpy.c: New file.
94103         * lib/unistr/u16-strcpy.c: New file.
94104         * lib/unistr/u32-strcpy.c: New file.
94105         * lib/unistr/u-strcpy.h: New file.
94107         * modules/unistr/u8-strcspn: New file.
94108         * modules/unistr/u16-strcspn: New file.
94109         * modules/unistr/u32-strcspn: New file.
94110         * lib/unistr/u8-strcspn.c: New file.
94111         * lib/unistr/u16-strcspn.c: New file.
94112         * lib/unistr/u32-strcspn.c: New file.
94113         * lib/unistr/u-strcspn.h: New file.
94115         * modules/unistr/u8-strdup: New file.
94116         * modules/unistr/u16-strdup: New file.
94117         * modules/unistr/u32-strdup: New file.
94118         * lib/unistr/u8-strdup.c: New file.
94119         * lib/unistr/u16-strdup.c: New file.
94120         * lib/unistr/u32-strdup.c: New file.
94121         * lib/unistr/u-strdup.h: New file.
94123         * modules/unistr/u8-strlen: New file.
94124         * modules/unistr/u16-strlen: New file.
94125         * modules/unistr/u32-strlen: New file.
94126         * lib/unistr/u8-strlen.c: New file.
94127         * lib/unistr/u16-strlen.c: New file.
94128         * lib/unistr/u32-strlen.c: New file.
94129         * lib/unistr/u-strlen.h: New file.
94131         * modules/unistr/u8-strmblen: New file.
94132         * modules/unistr/u16-strmblen: New file.
94133         * modules/unistr/u32-strmblen: New file.
94134         * lib/unistr/u8-strmblen.c: New file.
94135         * lib/unistr/u16-strmblen.c: New file.
94136         * lib/unistr/u32-strmblen.c: New file.
94138         * modules/unistr/u8-strmbtouc: New file.
94139         * modules/unistr/u16-strmbtouc: New file.
94140         * modules/unistr/u32-strmbtouc: New file.
94141         * lib/unistr/u8-strmbtouc.c: New file.
94142         * lib/unistr/u16-strmbtouc.c: New file.
94143         * lib/unistr/u32-strmbtouc.c: New file.
94145         * modules/unistr/u8-strncat: New file.
94146         * modules/unistr/u16-strncat: New file.
94147         * modules/unistr/u32-strncat: New file.
94148         * lib/unistr/u8-strncat.c: New file.
94149         * lib/unistr/u16-strncat.c: New file.
94150         * lib/unistr/u32-strncat.c: New file.
94151         * lib/unistr/u-strncat.h: New file.
94153         * modules/unistr/u8-strncmp: New file.
94154         * modules/unistr/u16-strncmp: New file.
94155         * modules/unistr/u32-strncmp: New file.
94156         * lib/unistr/u8-strncmp.c: New file.
94157         * lib/unistr/u16-strncmp.c: New file.
94158         * lib/unistr/u32-strncmp.c: New file.
94160         * modules/unistr/u8-strncpy: New file.
94161         * modules/unistr/u16-strncpy: New file.
94162         * modules/unistr/u32-strncpy: New file.
94163         * lib/unistr/u8-strncpy.c: New file.
94164         * lib/unistr/u16-strncpy.c: New file.
94165         * lib/unistr/u32-strncpy.c: New file.
94166         * lib/unistr/u-strncpy.h: New file.
94168         * modules/unistr/u8-strnlen: New file.
94169         * modules/unistr/u16-strnlen: New file.
94170         * modules/unistr/u32-strnlen: New file.
94171         * lib/unistr/u8-strnlen.c: New file.
94172         * lib/unistr/u16-strnlen.c: New file.
94173         * lib/unistr/u32-strnlen.c: New file.
94174         * lib/unistr/u-strnlen.h: New file.
94176         * modules/unistr/u8-strpbrk: New file.
94177         * modules/unistr/u16-strpbrk: New file.
94178         * modules/unistr/u32-strpbrk: New file.
94179         * lib/unistr/u8-strpbrk.c: New file.
94180         * lib/unistr/u16-strpbrk.c: New file.
94181         * lib/unistr/u32-strpbrk.c: New file.
94182         * lib/unistr/u-strpbrk.h: New file.
94184         * modules/unistr/u8-strrchr: New file.
94185         * modules/unistr/u16-strrchr: New file.
94186         * modules/unistr/u32-strrchr: New file.
94187         * lib/unistr/u8-strrchr.c: New file.
94188         * lib/unistr/u16-strrchr.c: New file.
94189         * lib/unistr/u32-strrchr.c: New file.
94191         * modules/unistr/u8-strspn: New file.
94192         * modules/unistr/u16-strspn: New file.
94193         * modules/unistr/u32-strspn: New file.
94194         * lib/unistr/u8-strspn.c: New file.
94195         * lib/unistr/u16-strspn.c: New file.
94196         * lib/unistr/u32-strspn.c: New file.
94197         * lib/unistr/u-strspn.h: New file.
94199         * modules/unistr/u8-strstr: New file.
94200         * modules/unistr/u16-strstr: New file.
94201         * modules/unistr/u32-strstr: New file.
94202         * lib/unistr/u8-strstr.c: New file.
94203         * lib/unistr/u16-strstr.c: New file.
94204         * lib/unistr/u32-strstr.c: New file.
94205         * lib/unistr/u-strstr.h: New file.
94207         * modules/unistr/u8-strtok: New file.
94208         * modules/unistr/u16-strtok: New file.
94209         * modules/unistr/u32-strtok: New file.
94210         * lib/unistr/u8-strtok.c: New file.
94211         * lib/unistr/u16-strtok.c: New file.
94212         * lib/unistr/u32-strtok.c: New file.
94213         * lib/unistr/u-strtok.h: New file.
94215         * modules/unistr/u8-uctomb: New file.
94216         * modules/unistr/u16-uctomb: New file.
94217         * modules/unistr/u32-uctomb: New file.
94218         * lib/unistr/u8-uctomb.c: New file.
94219         * lib/unistr/u16-uctomb.c: New file.
94220         * lib/unistr/u32-uctomb.c: New file.
94222         * MODULES.html.sh (Unicode string functions): Add the new modules.
94224 2007-01-08  Bruno Haible  <bruno@clisp.org>
94226         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
94227         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
94228         subdirectories.
94230 2007-01-08  Karl Berry  <karl@gnu.org>
94232         * doc/error.texi: mention that main() fns must set program_name
94233         when progname is used.
94235 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
94237         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
94238         WCTYPE_H is empty, for the benefit of builds from non-distclean
94239         directories.  Problem reported by Eric Blake in
94240         <http://lists.gnu.org/r/bug-gnulib/2007-01/msg00157.html>.
94242 2007-01-08  Bruno Haible  <bruno@clisp.org>
94244         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
94245         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
94246         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
94247         PROVIDE_CANONICALIZE_FILENAME_MODE.
94248         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
94250 2007-01-08  Bruno Haible  <bruno@clisp.org>
94252         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
94253         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
94254         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
94255         * lib/fts.c: Likewise.
94256         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
94258 2006-12-25  Bruno Haible  <bruno@clisp.org>
94260         * modules/utf8-ucs4-safe: New file.
94261         * lib/utf8-ucs4-safe.h: New file.
94262         * lib/unistr/utf8-ucs4-safe.c: New file.
94264         * modules/utf16-ucs4-safe: New file.
94265         * lib/utf16-ucs4-safe.h: New file.
94266         * lib/unistr/utf16-ucs4-safe.c: New file.
94268         * MODULES.html.sh (Unicode string functions): Add the new modules.
94270 2007-01-08  Bruno Haible  <bruno@clisp.org>
94272         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
94273         (Depends-on): Add unitypes.
94274         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
94275         (u8_mbtouc_aux): Move out to separate file.
94276         (u8_mbtouc): Use ucs4_t, uint8_t types.
94277         * lib/unistr/utf8-ucs4.c: New file.
94279         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
94280         (Depends-on): Add unitypes.
94281         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
94282         (u16_mbtouc_aux): Move out to separate file.
94283         (u16_mbtouc): Use ucs4_t, uint16_t types.
94284         * lib/unistr/utf16-ucs4.c: New file.
94286         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
94287         (Depends-on): Add unitypes.
94288         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
94289         (u8_uctomb_aux): Move out to separate file.
94290         (u8_uctomb): Use ucs4_t, uint8_t types.
94291         * lib/unistr/ucs4-utf8.c: New file.
94293         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
94294         (Depends-on): Add unitypes.
94295         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
94296         (u16_uctomb_aux): Move out to separate file.
94297         (u16_uctomb): Use ucs4_t, uint16_t types.
94298         * lib/unistr/ucs4-utf16.c: New file.
94300 2006-12-25  Bruno Haible  <bruno@clisp.org>
94302         * modules/unitypes: New file.
94303         * lib/unitypes.h: New file.
94304         * MODULES.html.sh (func_all_modules): New section "Unicode string
94305         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
94306         this section. Add unitypes.
94308 2007-01-08  Bruno Haible  <bruno@clisp.org>
94310         Avoid variable names that conflict with those from libtool.
94311         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
94312         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
94313         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
94314         library_names_spec to acl_library_names_spec, hardcode_* to
94315         acl_hardcode_*.
94316         Reported by Ralf Wildenhues.
94318 2007-01-08  Bruno Haible  <bruno@clisp.org>
94320         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
94321         definition.
94322         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
94323         definition.
94324         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
94325         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
94326         definition.
94327         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
94328         definition.
94329         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
94330         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
94331         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
94332         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
94333         definition.
94334         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
94335         definition.
94336         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
94337         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
94338         GC_USE_<algorithm>.
94339         * lib/gc-libgcrypt.c: Likewise.
94340         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
94341         * modules/gc-arctwo (configure.ac): Likewise.
94342         * modules/gc-des (configure.ac): Likewise.
94343         * modules/gc-hmac-md5 (configure.ac): Likewise.
94344         * modules/gc-hmac-sha1 (configure.ac): Likewise.
94345         * modules/gc-md2 (configure.ac): Likewise.
94346         * modules/gc-md4 (configure.ac): Likewise.
94347         * modules/gc-md5 (configure.ac): Likewise.
94348         * modules/gc-random (configure.ac): Likewise.
94349         * modules/gc-rijndael (configure.ac): Likewise.
94350         * modules/gc-sha1 (configure.ac): Likewise.
94352 2007-01-08  Bruno Haible  <bruno@clisp.org>
94354         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
94355         macro definition.
94356         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
94357         definition.
94358         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
94359         definition.
94360         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
94361         * modules/fcntl-safer (configure.ac): Likewise.
94362         * modules/fopen-safer (configure.ac): Likewise.
94363         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
94364         GNULIB_FWRITEERROR macro definition.
94366 2007-01-08  Bruno Haible  <bruno@clisp.org>
94368         * m4/gnulib-common.m4: New file.
94369         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
94370         (func_get_filelist): Add m4/gnulib-common.m4.
94372 2007-01-08  Bruno Haible  <bruno@clisp.org>
94374         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
94375         command.
94377 2007-01-08  Jim Meyering  <jim@meyering.net>
94379         Use a more robust test for a "can't happen" condition.
94380         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
94381         narrowed the st_size value.  Presuming the "can't happen" condition
94382         is true, that narrowing could conceivably convert an invalid st_size
94383         value into a valid one.  Instead, use a change based on Matthew
94384         Woehlke's original patch.
94386         Slight readability improvement: use an assert-like macro
94387         in place of literal "abort ()" uses.
94388         * lib/fts.c (fts_assert): Define.
94389         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
94390         Use this macro instead of a bare 'abort'.
94392 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
94394         Don't worry about using IRIX 5.3's wctype.h broken definitions;
94395         simply work around them.
94396         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
94397         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
94398         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
94399         declaring.
94400         Don't bother to define as macros, since the standard doesn't require it.
94401         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
94402         longer worry about IRIX 5.3.
94403         (HAVE_WCTYPE_CTMP_BUG): Remove.
94405 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
94407         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
94408         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
94409         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
94410         Problems reported by Georg Schwarz for IRIX 5.3.
94412         * gnulib-tool (autoconf_minversion): Take the maximum version number
94413         found, not the minimum.  Problem reported by James Youngman.
94415 2007-01-03  Karl Berry  <karl@gnu.org>
94417         * doc/error.texi: new file, explaining interaction with progname.
94418         * doc/gnulib.texi: include it.  Update copyright.
94420 2007-01-03  Simon Josefsson  <simon@josefsson.org>
94422         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
94423         AC_CANONICAL_HOST, to improve autobuild outputs.
94425 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
94426             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
94428         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
94429         sockets, server sockets, and other file descriptors.  Count errors
94430         to compute the return value.  Reorder the code a bit to be easier
94431         to follow.  Don't set event bits that were not requested (except
94432         POLLERR and POLLHUP).
94434 2007-01-01  Bruno Haible  <bruno@clisp.org>
94436         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
94438 2007-01-03  Jim Meyering  <jim@meyering.net>
94440         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
94442 2007-01-02  Bruno Haible  <bruno@clisp.org>
94444         * modules/settime (Include): Require timespec.h.
94445         * modules/nanosleep (Include): Likewise.
94447 2007-01-01  Bruno Haible  <bruno@clisp.org>
94449         * gnulib-tool (func_emit_copyright_notice): Bump year.
94450         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
94452 2007-01-01  Bruno Haible  <bruno@clisp.org>
94454         Improve support for OpenBSD.
94455         * build-aux/config.rpath (libname_spec): Export.
94456         (library_names_spec): New variable. Export.
94457         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
94458         library_names_spec from the config.rpath output. Locate shared library
94459         through the name pattern in library_names_spec.
94461 2007-01-01  Eric Blake  <ebb9@byu.net>
94463         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
94465 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
94467         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
94468         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
94469         assume the C locale, and avoid an "eval" that could cause trouble.
94470         Problem with SORT reported by Bob Proulx.
94472         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
94473         Define.  Trivial patch from Henning Nielsen Lund, originally
94474         sent to bug-grep@gnu.org today.
94476 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
94478         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
94479         struct stat.  Problem reported by Henning Nielsen Lund.
94480         * lib/acl.c: Include acl.h first, to check interface.  Don't
94481         bother to include sys/types.h and sys/stat.h again.
94483 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
94485         Import the following change from libc; problem reported by
94486         Sven Verdoolaege.
94488         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
94490         [BZ #1373]
94491         * lib/argp.h: Remove __NTH for __argp_usage inline function.
94493 2006-12-28  Jim Meyering  <jim@meyering.net>
94495         * build-aux/announce-gen: Do not assume that the package
94496         builds any of tar.gz, tar.bz2, and .xdelta files.
94497         Suggestion from Simon Josefsson.
94499 2006-12-28  Simon Josefsson  <simon@josefsson.org>
94501         * modules/announce-gen: New file.
94503 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
94505         * lib/mbchar.h: Just include <wctype.h>; the wctype module
94506         handles its gotchas now.
94507         * lib/mbswidth.c: Likewise.
94508         * lib/wcwidth.h: Likewise.
94509         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
94510         and iswcntrl; the wctype module does this stuff now.
94511         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
94512         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
94513         * modules/mbchar (Depends-on): Add wctype.
94514         * modules/mbswidth (Depends-on): Likewise.
94515         * modules/wcwidth (Depends-on): Likewise.
94517 2006-12-27  Eric Blake  <ebb9@byu.net>
94519         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
94520         module uses more than what <wctype.h> is required to provide.
94522 2006-12-26  Eric Blake  <ebb9@byu.net>
94524         * gnulib-tool (sed_extract_prog): Avoid space-tab.
94526 2006-12-26  Eric Blake  <ebb9@byu.net>
94528         * modules/absolute-header: New module.
94529         * modules/fcntl (Depends-on): Depend on it.
94530         * modules/inttypes (Depends-on): Likewise.
94531         * modules/stdint (Depends-on): Likewise.
94532         * modules/sys_stat (Depends-on): Likewise.
94533         * modules/wctype (Depends-on): Likewise.
94534         * MODULES.html.sh (Support for building libraries and
94535         executables): Document it.
94537 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
94539         * gnulib-tool (SED): Remove, undoing previous change.
94540         The problem was that it broke coreutils on Solaris, because
94541         "sed --posix" leaked into a makefile.
94542         (sed): New alias, if 'alias' and GNU sed.
94544 2006-12-24  Jim Meyering  <jim@meyering.net>
94546         Work around an fchownat bug in glibc-2.4:
94547         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
94548         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
94549         in spite of the -P option.
94550         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
94551         New macros.
94552         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
94553         * modules/openat (Files): Add lib/fchownat.c.
94554         * lib/openat.c (fchownat): Don't define here.  Move to...
94555         * lib/fchownat.c: ...this new file.
94557 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
94559         Fix bug reported by Bruno Haible in
94560         <http://lists.gnu.org/r/bug-gnulib/2006-12/msg00228.html>
94561         where quotearg.c didn't compile on Mac OS X 10.2 because it
94562         lacks <wchar.h> and wint_t.
94563         * lib/wctype_.h (__wctype_wint_t): New type.
94564         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
94565         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
94566         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
94567         Arg is now of type __wctype_wint_t, not wint_t.
94568         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
94569         substitute HAVE_WINT_T.
94570         * modules/wctype (Files): Add m4/wint_t.m4.
94571         (wctype.h): Substitute HAVE_WINT_T.
94573 2006-12-23  Bruno Haible  <bruno@clisp.org>
94575         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
94577 2006-12-23  Bruno Haible  <bruno@clisp.org>
94579         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
94580         S_ISLNK.
94581         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
94582         mingw.
94584 2006-12-22  Bruno Haible  <bruno@clisp.org>
94586         * lib/copy-file.c: Include acl.h.
94587         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
94588         Close the file descriptors only after being done with copy_acl.
94589         * modules/copy-file (Depends-on): Add acl.
94591 2006-12-22  Bruno Haible  <bruno@clisp.org>
94593         * gnulib-tool (SED): New variable.
94594         Use $SED instead of sed everywhere.
94596 2006-12-22  Bruno Haible  <bruno@clisp.org>
94598         * modules/no-c++: New file.
94599         * m4/no-c++.m4: New file.
94600         * MODULES.html.sh (Support for building libraries and executables):
94601         Add no-c++.
94603 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
94605         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
94606         Include <limits.h>, and use its INT_MAX to rewrite the
94607         j loop so that it does not overflow 'int'.  Problem reported by
94608         Ralf Wildenhues in
94609         <http://lists.gnu.org/r/bug-gnulib/2006-12/msg00084.html>.
94610         Play it safe by shifting left by 1 rather than multiplying by 2,
94611         as GCC is less likely to optimize this away when the value
94612         is signed (when it assumes overflow leads to undefined behavior).
94613         Also, don't assume time_t uses two's complement.
94615 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
94617         * MODULES.html.sh: New module wctype.
94618         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
94619         * lib/fnmatch.c: Don't bother to include <wchar.h> before
94620         <wctype.h>, since the new wctype module should fix this.
94621         * lib/quotearg.c: Include <wctype.h> unconditionally, since
94622         the wctype module should arrange for it.
94623         * lib/regex_internal.h: Likewise.
94624         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
94625         since the wctype module should handle this now.
94626         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
94627         * modules/fnmatch (Depends-on): Add wctype.
94628         * modules/quotearg (Depends-on): Likewise.
94629         * modules/regex (Depends-on): Likewise.
94631 2006-12-19  Bruno Haible  <bruno@clisp.org>
94633         * lib/strdup.h [C++]: Wrap definitions in extern "C".
94634         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
94636 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
94638         * modules/savewd (Depends-on): Fix dependency on fcntl.
94640 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
94642         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
94643         conforms to C99, rather than relying on the user's environment
94644         setting of STDINT_H.
94646 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
94647         and Eric Blake  <ebb9@byu.net>
94649         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
94650         This is more consistent with the other defines here.
94651         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
94652         Port to z/OS.  Problem reported by Paul Gilmartin.
94653         Change local vars to use gl_ prefix rather than ac_.
94654         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
94655         with other defines.
94656         * modules/double-slash-root: New module.
94657         * modules/dirname (Files): Remove m4/double-slash-root.m4.
94658         (Depends-on): Add double-slash-root.
94659         * MODULES.html.sh (File system functions): Mention new module.
94661 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
94663         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
94664         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
94665         This is for the benefit of gzip, which doesn't do i18n.
94667 2006-12-12  Jim Meyering  <jim@meyering.net>
94669         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
94670         Reported by Andreas Schwab <schwab@suse.de>.
94672 2006-12-12  Bruno Haible  <bruno@clisp.org>
94674         Merge these changes.
94675         2006-09-05  Bruno Haible  <bruno@clisp.org>
94676         * lib/iconvme.c (iconv_string): No need to save and restore errno when
94677         iconv_alloc succeeded.
94678         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
94679         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
94680         test for " && dest " at the end - dest is always != NULL there. Call
94681         iconv with 4xNULL arguments initially, to reset the state. Call iconv
94682         with 2xNULL arguments, also to flush the state storage. Handle the
94683         IRIX iconv behaviour. Realloc the final result, to throw away unused
94684         memory.
94686 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
94688         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
94689         and fchmodat unconditionally, since glibc 2.4 has them.
94690         Problem reported by Arkadiusz Miskiewicz.
94692 2006-12-10  Bruno Haible  <bruno@clisp.org>
94694         * gnulib-tool (func_import): Show the include files only for those
94695         modules that are copied and specified.
94696         Reported by Karl Berry.
94698 2006-12-08  Jim Meyering  <jim@meyering.net>
94700         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
94701         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
94703         * build-aux/announce-gen: Add two new options, both optional:
94704         --bootstrap-tools=TOOL_LIST
94705               a comma-separated list of tools, e.g.,
94706               autoconf,automake,bison,gnulib
94707         --gnulib-snapshot-date=DATE
94708               if gnulib is in the bootstrap tool list,
94709               then report this as the snapshot date.
94710               If not specified, use the current date/time.
94711               If you specify a date here, be sure it's UTC.
94713 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
94715         * tests/test-argp-2.sh: Fix test to match actual output.
94716         (func_compare): Fix sed script to be portable.
94718 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
94720         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
94721         workaround for this case.  It is not autoconfigured now; offhand
94722         it's hard to see how to autoconfigure it.
94724 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
94726         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
94727         a directory that is about to be chowned.  Such a directory's
94728         initial file permissions should permit the owner only and this
94729         should not be changed until after the chown, since the group and
94730         other bits would be incorrect if they granted permission before
94731         the chown.
94733         Fix porting problem for iswctype reported by Georg Schwarz in:
94734         http://lists.gnu.org/r/bug-coreutils/2006-12/msg00017.html
94735         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
94736         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
94737         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
94738         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
94740 2006-12-03  Jim Meyering  <jim@meyering.net>
94742         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
94743         p->fts_statp may not yet be defined.
94744         (fts_read): Instead, set it in the caller, once p->fts_statp is
94745         sure to be defined, and corresponds to a top-level directory.
94746         This bug made du -x fail.  Here's the coreutils test case:
94747         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
94748         Reported by Mike Frysinger.
94750 2006-12-01  Jim Meyering  <jim@meyering.net>
94752         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
94753         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
94754         Reported by Simon Josefsson.
94756 2006-11-30  Jim Meyering  <jim@meyering.net>
94758         * m4/warning.m4: Use the all-permissive copyright notice
94759         recommended by RMS (rather than LGPL).
94760         * m4/vararrays.m4: Likewise.
94761         * m4/flexmember.m4: Likewise.
94763 2006-11-29  Bruno Haible  <bruno@clisp.org>
94765         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
94766         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
94767         using +=.
94768         Reported by Simon Josefsson <simon@josefsson.org>.
94770 2006-11-28  James Youngman  <jay@gnu.org>
94772         * README: Advise users that they might find the bug-gnulib@gnu.org
94773         and autotools-announce@gnu.org mailing lists useful.
94775 2006-11-28  Bruno Haible  <bruno@clisp.org>
94777         * m4/ptrdiff_max.m4: Remove file.
94779 2006-11-21  Bruno Haible  <bruno@clisp.org>
94781         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
94782         _AC_COMPUTE_INT.
94783         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
94784         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
94785         _AC_COMPUTE_INT.
94786         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
94787         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
94788         _AC_COMPUTE_INT.
94789         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
94791 2006-11-28  Jim Meyering  <jim@meyering.net>
94793         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
94794         warning from "gcc -Wshadow" about shadowing the builtin.
94796 2006-11-27  Bruno Haible  <bruno@clisp.org>
94798         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
94799         _AC_COMPUTE_INT.
94800         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
94802 2006-11-27  Bruno Haible  <bruno@clisp.org>
94803             Paul Eggert  <eggert@cs.ucla.edu>
94805         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
94807 2006-11-26  Bruno Haible  <bruno@clisp.org>
94809         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
94810         noinst_LTLIBRARIES.
94812 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
94813             Bruno Haible  <bruno@clisp.org>
94815         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
94816         if compiling with "gcc -ansi".
94818 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
94820         Fix some incompatibilities with gcc -ansi -pedantic.
94821         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
94822         if compiling pedantically with GCC, unless it's C99 or later.
94823         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
94824         it mishandles gcc -ansi -pedantic as well.
94825         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
94826         if gcc -pedantic.
94827         * lib/regexec.c (check_node_accept_bytes): Don't use auto
94828         initializers for struct if -pedantic, unless it's C99 or later.
94830 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
94832         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
94833         Don't close an fd more than once. Identical atimes indicate
94834         success, not failure.
94836 2006-11-22  Robinson Mittmann  <bob@hoplon.com>  (tiny change)
94838         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
94840 2006-11-23  Jim Meyering  <jim@meyering.net>
94842         * build-aux/announce-gen: New file.  From coreutils.
94844 2006-11-22  Jim Meyering  <jim@meyering.net>
94846         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
94847         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
94848         (fts_read): Use a temporary to narrow the overused st_size member
94849         before using it in a switch statement.  Reported by Matthew Woehlke.
94851         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
94852         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
94854 2006-11-20  Bruno Haible  <bruno@clisp.org>
94856         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
94857         changequote instead of pairs of brackets.
94858         Reported by Andreas Schwab <schwab@suse.de>.
94860 2006-11-21  Jim Meyering  <jim@meyering.net>
94862         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
94863         so as to remain compatible with older compilers.
94864         Patch from Michael Deutschmann.
94866 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
94868         * MODULES.html.sh (File system functions): Add openat.
94870         * lib/openat.h (rpl_fstatat): New macro, if
94871         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
94872         (fstatat): Define to rpl_fstatat under the same conditions,
94873         unless COMPILING_FSTATAT.
94874         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
94875         seems to have the bug.
94876         * lib/fstatat.c: New file.
94877         * modules/openat (Files): Add it.
94879 2006-11-20  Bruno Haible  <bruno@clisp.org>
94881         * Makefile: New file.
94883 2006-11-20  Jim Meyering  <jim@meyering.net>
94885         The beginnings of syntax-related checks for gnulib.
94886         * lib/Makefile: New file.
94887         * lib/t-idcache: New script.  Ensure that the two halves of
94888         idcache.c stay in sync.
94890         * lib/idcache.c: Adjust comments in user- and group- portions to
94891         be more accurate, and to be consistent with one another.
94893 2006-11-20  Jim Meyering  <jim@meyering.net>
94895         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
94896         continue using the flexible array member (thus, this module performs
94897         half as many malloc calls), with the addition that...
94898         (getgroup, getuser): Consistently record a non-match via an empty
94899         "name" string, and map an empty string match to a NULL return value.
94900         * modules/idcache (Depends-on): Re-add flexmember.
94902         * lib/idcache.c (getuser): Remove all uses of the register keyword.
94903         (getuidbyname, getgroup, getgidbyname): Likewise.
94905         Use cleaner syntax: NULL rather than 0.
94906         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
94908 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
94910         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
94911         It mishandled the case where the group was missing.
94912         Problem reported by Greg Schafer.
94913         * modules/idcache: Likewise.
94915 2006-11-18  Jim Meyering  <jim@meyering.net>
94917         * check-module (%exempt_header): Add exception for some
94918         conditionally-included headers.
94920         * modules/i-ring (Depends-on): Add verify.
94921         (License): Change to LGPL.
94923 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
94925         * modules/getaddrinfo (Depends-on): Remove inttostr; add snprintf.
94926         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
94927         and inttostr.h.  Use snprintf rather than uinttostr, so that
94928         LGPLed code doesn't depend on GPLed.
94930 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
94932         * modules/inline (License): Change from GPL to LGPL.
94934 2006-11-17  Jim Meyering  <jim@meyering.net>
94936         * modules/d-type (License): Switch to LGPL.
94938 2006-11-15  Bruno Haible  <bruno@clisp.org>
94940         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
94942 2006-11-15  Eric Blake  <ebb9@byu.net>
94944         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
94945         the module dependency.
94947 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
94948             Bruno Haible  <bruno@clisp.org>
94950         * gnulib-tool (func_create_testdir): Add license consistency check.
94952 2006-11-15  Eric Blake  <ebb9@byu.net>
94954         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
94955         random "(cached)" in configure output.
94957 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
94959         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
94960         test for conforming inttypes.h is both announced and cached.
94962         * MODULES.html.sh (seen_modules, seen_files): New variables.
94963         (func_module): Rewrite to use a few less gnulib-tool and sed
94964         invocations.  Avoid a couple of quadratic algorithms for ...
94965         (missed_modules, missed_files): ... these, with ...
94966         (func_append, func_tmpdir): ... these new functions, from
94967         gnulib-tool.  Analogously, install traps for cleanup.
94969         * tests/test-gc.c (main): Remove unused variables.
94970         * tests/test-read-file.c: Include stdlib.h, for 'free'.
94972 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
94974         * modules/inttostr (License): Change to LGPL.
94976 2006-11-14  Eric Blake  <ebb9@byu.net>
94978         * modules/tempname (License): Change to LGPL.
94980 2006-11-14  Eric Blake  <ebb9@byu.net>
94982         * doc/functions.texi (Function Portability): *printf functions on
94983         Cygwin now understand all POSIX size specifiers.
94985 2006-11-14  Bruno Haible  <bruno@clisp.org>
94987         * modules/c-ctype (License): Change to LGPL.
94989 2006-11-12  Bruno Haible  <bruno@clisp.org>
94991         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
94992         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
94993         for GNOME libraries, for which the include files are installed in
94994         subdirectories of $prefix/include.
94996 2006-11-12  Bruno Haible  <bruno@clisp.org>
94998         * m4/lib-link.m4: Require at least autoconf-2.54.
94999         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
95000         name to underscores for the --with option.
95002 2006-11-13  Bruno Haible  <bruno@clisp.org>
95004         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
95005         the tests directory.
95006         Reported by Ralf Wildenhues.
95008 2006-11-13  Bruno Haible  <bruno@clisp.org>
95010         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
95011         (func_emit_initmacro_end): Undo the override here.
95012         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
95013         Works around the famous automake error in coreutils.
95015 2006-11-13  Eric Blake  <ebb9@byu.net>
95017         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
95018         element, not its node.
95020 2006-11-12  Bruno Haible  <bruno@clisp.org>
95022         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
95023         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
95025 2006-11-12  Bruno Haible  <bruno@clisp.org>
95027         * gnulib-tool: New option --local-symlink.
95028         (func_usage): Document it.
95029         (lsymbolic): New variable.
95030         (func_import, func_create_testdir): If --symlink was not specified,
95031         test whether --local-symlink was specified and the file comes from
95032         the local_gnulib_dir.
95034 2006-11-12  Bruno Haible  <bruno@clisp.org>
95036         * gnulib-tool (func_ln): New function.
95037         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
95039 2006-11-12  Bruno Haible  <bruno@clisp.org>
95041         Finish support for source files in subdirectories.
95042         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
95043         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
95044         AUTOMAKE_OPTIONS.
95045         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
95047 2006-11-12  Bruno Haible  <bruno@clisp.org>
95049         * gnulib-tool (func_get_automake_snippet): Synthesize also an
95050         EXTRA_lib_SOURCES augmentation.
95051         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
95053 2006-11-12  Jim Meyering  <jim@meyering.net>
95055         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
95056         file descriptors.  This also averts a failure on systems with
95057         native openat support when a traversed directory lacks "x" access.
95058         * lib/fts_.h: Include "i-ring.h"
95059         (struct FTS) [fts_fd_ring]: New member.
95060         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
95061         (FCHDIR): Add parentheses.
95062         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
95063         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
95064         When descending, rather than simply closing the previous
95065         fts_cwd_fd value, push that file descriptor onto the ring.
95066         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
95067         (fts_open): Initialize the new fd_ring member.
95068         (fts_close): Clear the ring.
95069         (fts_safe_changedir): When possible, use our new fd_ring to skip
95070         the diropen and fstat and dev/ino comparison that would normally
95071         accompany a virtual `chdir ("..")'.
95073         * modules/fts (Depends-on): Add i-ring.
95074         * modules/i-ring: New module.
95075         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
95076         * m4/i-ring.m4: New file.
95078 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
95080         * gnulib-tool (func_create_testdir): Fix replacement of
95081         `build-aux' in configure.ac.  Run autotools in gltests
95082         subdirectory.
95083         (func_create_testdir, func_create_megatestdir, test): There is
95084         no need for '--force' in most autotool invocations in a new
95085         tree.  Actually fail the whole test if any of the tools, or the
95086         configure or make stages fail.
95088         Sync from Automake.
95089         * build-aux/gnupload: Revert last change.  Add pointer to upload
95090         instructions of the GNU Maintenance Instructions.
95091         Suggestion by Karl Berry.
95093 2006-11-10  Jim Meyering  <jim@meyering.net>
95095         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
95097 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
95099         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
95100         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
95101         (bind_textdomain_codeset) [! ENABLE_NLS]:
95102         Evaluate all the arguments.  That way, callers get compatible behavior
95103         if the arguments have side effects.  Also, it avoids some GCC
95104         diagnostics in some cases; Joel E. Denny reported problems when Bison
95105         was configured with --enable-gcc-warnigs.
95107 2006-11-10  Jim Meyering  <jim@meyering.net>
95109         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
95110         relevant options in CFLAGS (like -O, -fno-inline) are taken into
95111         account.
95113 2006-11-10  Jim Meyering  <jim@meyering.net>
95115         * modules/inline: New file/module.
95116         * modules/xalloc (Files): Remove m4/inline.m4.
95117         (Depends-on): Add inline, instead.
95118         * modules/oset: Likewise.
95119         * modules/list: Likewise.
95121 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
95123         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
95124         Problem reported by Matthew Woehlke.
95126 2006-11-09  Bruno Haible  <bruno@clisp.org>
95128         * lib/tempname.c (gen_tempname): Remove variant that invokes
95129         __gen_tempname.
95130         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
95131         __gen_tempname.
95133 2006-11-08  Bruno Haible  <bruno@clisp.org>
95135         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
95136         to 'yes' instead of 'cross-compiling'.
95138 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
95140         * lib/quotearg.h (quotearg_free): New decl.
95141         * lib/quotearg.c (quotearg_free): New function.
95142         (slot0, nslots, slotvec0, slotvec):
95143         Now file-scope so that quotearg_free can get at them.
95145 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
95147         Sync from Automake.
95148         * build-aux/gnupload: Add missing 'gnu' to example URL.
95149         Report by Karl Berry.
95151 2006-11-08  Bruno Haible  <bruno@clisp.org>
95153         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
95154         Suggested by Paul Eggert.
95156 2006-11-08  Jim Meyering  <jim@meyering.net>
95158         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
95159         It's already included if !_LIBC.
95160         (fts_safe_changedir): Add a comment.
95162 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
95164         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
95165         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
95166         Matthew Woehlke.
95168         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
95169         definitions up, to avoid colliding with change below.
95170         (static_inline) [HAVE_INLINE]: New macro.
95171         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
95172         Provide extern decls when !HAVE_INLINE.  Do not define unless
95173         static_inline is defined, either by us or by xmalloc.c.  Use
95174         static_inline rather than static inline.
95175         (XCALLOC): Optimize sizeof(T) = 1 case.
95176         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
95178 2006-11-07  Bruno Haible  <bruno@clisp.org>
95180         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
95181         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
95182         AC_C_INLINE.
95183         * modules/xalloc (Files): Add m4/inline.m4.
95185 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
95187         * README: Fix typo.
95188         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
95189         (Miscellanous Notes): ...from this.
95191 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
95193         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
95194         Mention that offsetof should be used instead of sizeof.
95195         From Bruno Haible.
95197 2006-11-07  Bruno Haible  <bruno@clisp.org>
95199         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
95201 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
95203         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
95204         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
95205         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
95206         (gl_tree_add_before, gl_tree_add_after):
95207         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
95208         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
95209         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
95210         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
95211         (gl_linked_add_after, gl_linked_add_at): Likewise.
95212         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
95213         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
95214         (gl_tree_add_before, gl_tree_add_after): Likewise.
95215         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
95216         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
95217         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
95219 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
95221         * lib/gl_oset.h: Use C comment style, not C++ comment style.
95223 2006-11-06  Bruno Haible  <bruno@clisp.org>
95225         * m4/inline.m4: New file.
95226         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
95227         * modules/list (Files): Add m4/inline.m4.
95228         * modules/oset (Files): Likewise.
95230 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
95232         * lib/idcache.c: Include <stddef.h>, for offsetof.
95233         (struct userid.name): Change from char * to a flexible array member.
95234         All uses changed.
95235         * modules/idcache (Depends-on): Add flexmember.
95237         * MODULES.html.sh (Core language properties): New module flexmember.
95238         * modules/flexmember, m4/flexmember.m4: New files.
95240         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
95241         inline functions that are identical with the old xnmalloc_inline,
95242         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
95243         that we can avoid some unnecessary integer multiplications and
95244         divisions in the common case where the element size is known at
95245         compile time.
95246         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
95247         needed.
95248         (xnboundedmalloc): Remove.
95249         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
95250         arguments, for consistency with rest of this header.
95251         (xcharalloc): Rewrite using XNMALLOC.
95252         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
95253         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
95254         versions have been moved to lib/xalloc.h and renamed to be the
95255         non-*_inline versions.
95256         (xmalloc, xrealloc): Implement without reference to the xnmalloc
95257         and xnrealloc functions, since those functions are now inline and
95258         now call us.
95259         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
95260         renaming described above.
95261         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
95262         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
95263         captures the dependency in AC_C_INLINE.
95265         New module canonicalize-lgpl, proposed by Charles Wilson in
95266         <http://lists.gnu.org/r/bug-gnulib/2006-11/msg00020.html>
95267         with a few small changes afterwards.
95268         * MODULES.html.sh (File system functions): New module
95269         canonicalize-lgpl.
95270         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
95271         and canonicalize_file_name.
95272         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
95273         * modules/canonicalize-lgpl: New files.
95275 2006-11-05  Bruno Haible  <bruno@clisp.org>
95277         * gnulib-tool (func_import, func_create_testdir): Create directories
95278         also for files in subdirectories of lib/.
95280 2006-11-05  Bruno Haible  <bruno@clisp.org>
95282         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
95283         ANSI C compliant.
95285 2006-11-03  Bruno Haible  <bruno@clisp.org>
95287         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
95288         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
95289         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
95290         (xnboundedmalloc): New inline function.
95291         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
95292         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
95293         xmalloc.
95294         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
95295         xmalloc.
95296         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
95297         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
95298         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
95299         xmalloc.
95300         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
95301         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
95302         xmalloc.
95303         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
95304         gl_tree_add_after): Use XMALLOC instead of xmalloc.
95305         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
95306         xmalloc.
95307         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
95308         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
95309         gl_tree_add_after): Use XMALLOC instead of xmalloc.
95310         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
95311         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
95312         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
95313         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
95315 2006-11-03  Bruno Haible  <bruno@clisp.org>
95317         * lib/c-ctype.h [C++]: Define functions without name mangling.
95318         * lib/fwriteerror.h [C++]: Likewise.
95319         * lib/gcd.h [C++]: Likewise.
95320         * lib/linebreak.h [C++]: Likewise.
95322 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
95324         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
95325         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
95326         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
95327         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
95328         Check for functions and headers just once.
95329         Check for declaration of canonicalize_file_name.
95330         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
95332 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
95334         * gnulib-tool (func_import): Fix typo in actioncmd.
95336 2006-11-02  Bruno Haible  <bruno@clisp.org>
95338         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
95339         newline sequence in the Makefile.am snippet as a space, like "make"
95340         does.
95341         Reported by Roger Persson <perrog@gmail.com>.
95343 2006-11-01  Bruno Haible  <bruno@clisp.org>
95345         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
95346         already declared in <string.h>.
95347         * lib/strcase.h (strncasecmp): Don't declare it if yes.
95349 2006-11-01  Bruno Haible  <bruno@clisp.org>
95351         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
95352         * lib/strcase.h: Include <string.h>.
95353         (strcasecmp): Define to rpl_strcasecmp here.
95355 2006-11-01  Bruno Haible  <bruno@clisp.org>
95357         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
95359 2006-11-01  Eric Blake  <ebb9@byu.net>
95361         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
95363         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
95365 2006-10-29  Bruno Haible  <bruno@clisp.org>
95367         Make it compile in C++ mode.
95368         * lib/full-write.c (full_rw): Add a cast.
95370 2006-11-01  Bruno Haible  <bruno@clisp.org>
95372         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
95373         be POSIX compliant.
95374         Reported by Roger Persson <perrog@gmail.com>.
95376 2006-11-01  Eric Blake  <ebb9@byu.net>
95378         * lib/getopt_.h: Fix comments.
95380 2006-10-31  Eric Blake  <ebb9@byu.net>
95382         * modules/tmpdir (Depends-on): Add sys_stat.
95383         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
95384         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
95385         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
95386         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
95387         tempname.
95389 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
95391         Avoid some C++ diagnostics reported by Bruno Haible.
95392         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
95393         xmalloc.
95394         (quotearg_alloc): Use xcharalloc rather than xmalloc.
95395         (struct slotvec): Move to top level.
95396         (quotearg_n_options): Rewrite to avoid xmalloc.
95397         * lib/xalloc.h (xcharalloc): New function.
95398         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
95399         [defined __cplusplus]: Add function template that provides result
95400         type propagation.  This part of the change is from Bruno Haible.
95402 2006-10-29  Bruno Haible  <bruno@clisp.org>
95404         Make it compile in C++ mode.
95405         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
95406         * lib/strnlen1.c (strnlen1): Cast memchr result.
95407         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
95408         * lib/clean-temp.c (string_equals, string_hash): Add casts.
95409         (create_temp_dir): Rename local variable 'template'.
95410         (compile_csharp_using_sscli): Add cast.
95411         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
95412         * lib/findprog.c (find_in_path): Likewise.
95413         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
95414         * lib/wait-process.c (register_slave_subprocess): Likewise.
95416 2006-10-22  Bruno Haible  <bruno@clisp.org>
95418         * modules/tsearch: New file.
95419         * lib/tsearch.h: New file.
95420         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
95421         * m4/tsearch.m4: New file.
95422         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
95424 2006-10-29  Eric Blake  <ebb9@byu.net>
95426         * lib/arcfour.c: Assume config.h.
95427         * lib/arctwo.c: Likewise.
95428         * lib/base64.c: Likewise.
95429         * lib/check-version.c: Likewise.
95430         * lib/crc.c: Likewise.
95431         * lib/des.c: Likewise.
95432         * lib/gc-gnulib.c: Likewise.
95433         * lib/gc-libgcrypt.c: Likewise.
95434         * lib/gc-pbkdf2-sha1.c: Likewise.
95435         * lib/getaddrinfo.c: Likewise.
95436         * lib/getdelim.c: Likewise.
95437         * lib/getline.c: Likewise.
95438         * lib/hmac-md5.c: Likewise.
95439         * lib/hmac-sha1.c: Likewise.
95440         * lib/iconvme.c: Likewise.
95441         * lib/md2.c: Likewise.
95442         * lib/md4.c: Likewise.
95443         * lib/memxor.c: Likewise.
95444         * lib/read-file.c: Likewise.
95445         * lib/readline.c: Likewise.
95446         * lib/rijndael-alg-fst.c: Likewise.
95447         * lib/rijndael-api-fst.c: Likewise.
95448         * lib/xgetdomainname.c: Likewise.
95450 2006-10-28  Eric Blake  <ebb9@byu.net>
95452         * lib/xstrndup.c: Assume config.h.
95454 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
95456         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
95457         stat-macros.h is now for our own macros, whereas stat_h is for
95458         macros in the <sys/stat.h> name space.
95459         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
95460         (STAT_MACROS_H): Remove.
95461         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
95462         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
95463         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
95464         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
95465         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
95466         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
95467         Move these macros to ...
95468         * lib/stat_.h: here.  Don't include stat-macros.h.
95469         * lib/canonicalize.c: Don't include stat-macros.h.
95470         * lib/chown.c: Likewise.
95471         * lib/euidaccess.c: Likewise.
95472         * lib/file-type.c: Likewise.
95473         * lib/filemode.c: Likewise.
95474         * lib/glob.c: Likewise.
95475         * lib/isapipe.c: Likewise.
95476         * lib/lchown.c: Likewise.
95477         * lib/lstat.c: Likewise.
95478         * lib/mkdir-p.c: Likewise.
95479         * lib/rmdir.c: Likewise.
95480         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
95481         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
95482         unless mkdir isn't declared, to speed up 'configure'.
95483         Always create sys/stat.h, since it's unlikely any real sys/stat.h
95484         would define all the S_* symbols.
95485         * modules/canonicalize (Depends-on):
95486         Depend on sys_stat, not stat-macros.
95487         * modules/chown: Likewise.
95488         * modules/euidaccess: Likewise.
95489         * modules/filemode: Likewise.
95490         * modules/file-type: Likewise.
95491         * modules/glob: Likewise.
95492         * modules/isapipe: Likewise.
95493         * modules/lchown: Likewise.
95494         * modules/lstat: Likewise.
95495         * modules/mkancesdirs: Likewise.
95496         * modules/rmdir: Likewise.
95497         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
95498         * modules/modechange: Likewise.
95499         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
95500         (configure.ac): Remove gl_STAT_MACROS.
95501         * modules/sys_stat (Depends-on): Remove stat-macros.
95503 2006-10-27  Bruno Haible  <bruno@clisp.org>
95505         * m4/signed.m4: Remove file.
95506         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
95507         invocation.
95508         * modules/vasnprintf (Files): Remove m4/signed.m4.
95510 2006-10-27  Bruno Haible  <bruno@clisp.org>
95512         Update to GNU gettext 0.16.
95513         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
95514         m4/inttypes-h.m4, m4/signed.m4.
95515         * m4/gettext.m4: Update to GNU gettext 0.16.
95516         * m4/intl.m4: New file, from GNU gettext.
95517         * m4/intldir.m4: New file, from GNU gettext.
95518         * config/srclist.txt: Update
95520 2006-10-27  Eric Blake  <ebb9@byu.net>
95522         * MODULES.html.sh: Document tempname.
95523         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
95524         dependencies.
95525         (Files): Move lib/tempname.c...
95526         * modules/tempname: ...to this new module.
95527         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
95528         (gl_PREREQ_TEMPNAME): Move...
95529         * m4/tempname.m4: ...to this new file.
95530         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
95531         * modules/sys_stat (Depends-on): Add stat-macros.
95532         * lib/stat_.h (includes): Pick up stat macros.
95533         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
95534         if stat macros are broken.
95535         * lib/tempname.c (includes): No need to include "stat-macros.h".
95536         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
95537         (direxists, __path_search) [!_LIBC]: Don't compile these in
95538         gnulib; the tmpdir module covers that.
95539         * lib/tempname.h: New file.
95541 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
95543         * COPYING: Explain how gnulib-tool converts licence headers.
95544         Almost all wording by Eric Blake.
95546 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
95548         * lib/mbchar.h (is_basic_table): Make read-only.
95549         * lib/mbchar.c (is_basic_table): Likewise.
95550         Reported by John Darrington.
95552 2006-10-25  Bruno Haible  <bruno@clisp.org>
95554         * lib/progname.h (set_program_name): Undefine before defining.
95556 2006-10-25  Bruno Haible  <bruno@clisp.org>
95558         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
95559         false for non-gcc C++ compilers.
95560         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
95562 2006-10-24  Bruno Haible  <bruno@clisp.org>
95564         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
95565         iconv implementations like Irix iconv.
95567 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
95569         * modules/vararrays: New file.
95570         * m4/vararrays.m4: New file, taken from diffutils.
95571         * MODULES.html.sh: New module vararrays.
95573 2006-10-24  Karl Berry  <karl@gnu.org>
95575         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
95576         Don't call GNU Unix.
95578 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
95580         * users.txt: Add Libtool.
95582         Sync from Libtool:
95584         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
95586         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
95587         to gnulib's policy of including config.h unconditionally.
95589 2006-10-24  Bruno Haible  <bruno@clisp.org>
95591         * modules/wcwidth (Files): Add m4/wint_t.m4.
95592         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
95593         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
95595 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
95597         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
95598         to pacify GCC with some -W flags enabled.  Problem reported by
95599         Bruno Haible.
95601 2006-10-24  Jim Meyering  <jim@meyering.net>
95603         * MODULES.html.sh: Remove uinttostr.  It's not a module.
95604         Reported by Karl Berry.
95606 2006-10-23  Bruno Haible  <bruno@clisp.org>
95608         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
95610 2006-10-24  Bruno Haible  <bruno@clisp.org>
95612         * lib/gl_list.h: Use C comment style, not C++ comment style.
95614 2006-10-23  Eric Blake  <ebb9@byu.net>
95616         * lib/getaddrinfo.c (includes): Add missing include.
95618 2006-10-23  Bruno Haible  <bruno@clisp.org>
95619             Paul Eggert  <eggert@cs.ucla.edu>
95621         Ability to rename obstack_free.
95622         * lib/obstack.h (__obstack_free): New macro. Declare instead of
95623         obstack_free.
95624         (obstack_free): Invoke the __obstack_free macro.
95625         * lib/obstack.c (obstack_free): Use __obstack_free macro.
95627 2006-10-23  Bruno Haible  <bruno@clisp.org>
95628             Paul Eggert  <eggert@cs.ucla.edu>
95630         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
95631         __argc, __argv from the declaration. (They are defined as macros on
95632         mingw.)
95634 2006-10-22  Bruno Haible  <bruno@clisp.org>
95636         * doc/gnulib-intro.texi: New file.
95637         * doc/gnulib.texi: Include it.
95639 2006-10-21  Bruno Haible  <bruno@clisp.org>
95641         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
95642         "Introduction", "Miscellanous Notes", "Particular Modules".
95644 2006-10-21  Bruno Haible  <bruno@clisp.org>
95646         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
95647         Change mostlyclean-local rule to avoid sh syntax error from bash
95648         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
95650 2006-10-23  Jim Meyering  <jim@meyering.net>
95652         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
95653         in place of snprintf.
95655         * modules/inttostr (Files): Add lib/uinttostr.c.
95656         * lib/uinttostr.c (inttostr): New file/function.
95657         * lib/inttostr.h (uinttostr): Declare.
95658         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
95659         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
95660         Add uinttostr.
95661         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
95663 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
95665         * lib/canonicalize.c (ELOOP): Define if not already defined.
95666         Problem reported by Bruno Haible in
95667         <http://lists.gnu.org/r/bug-gnulib/2006-10/msg00282.html>.
95669 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
95671         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
95672         Problem reported by Perry Smith and Ville Laurikari.
95674         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
95675         uses.
95677 2006-10-19  Bruno Haible  <bruno@clisp.org>
95679         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
95680         for mingw.
95682 2006-10-19  Bruno Haible  <bruno@clisp.org>
95684         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
95685         Needed for mingw.
95687 2006-10-19  Bruno Haible  <bruno@clisp.org>
95689         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
95691 2006-10-19  Bruno Haible  <bruno@clisp.org>
95693         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
95694         it.
95696 2006-10-19  Bruno Haible  <bruno@clisp.org>
95698         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
95699         invocation.
95701 2006-10-19  Bruno Haible  <bruno@clisp.org>
95703         * gnulib-tool (func_create_testdir): Don't include ftruncate and
95704         mountlist by default.
95706 2006-10-16  Bruno Haible  <bruno@clisp.org>
95708         * lib/c-strstr.c: Include c-strstr.h.
95710 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
95712         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
95713         in a slash.
95715 2006-10-18  Bruno Haible  <bruno@clisp.org>
95717         * lib/lock.h [C++]: Wrap definitions in extern "C".
95719 2006-10-18  Bruno Haible  <bruno@clisp.org>
95721         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
95722         gl_LIBOBJS list.
95724 2006-10-18  Bruno Haible  <bruno@clisp.org>
95726         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
95728 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
95730         * lib/xstrtol.h: Include gettext.h.
95731         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
95732         Problem reported by Eric Blake.
95733         * modules/xstrtol (Depends-on): Add gettext-h.
95735 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
95737         * lib/strftime.c (advance): New macro.
95738         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
95739         incomplete type, so you can't add 0 to it.  Problem and patch
95740         reported by Eelco Dolstra for dietlibc.
95742 2006-10-18  Jim Meyering  <jim@meyering.net>
95744         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
95745         type for a local, and rename it: s/up/user_proc/.
95747 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
95749         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
95750         READ_UTMP_USER_PROCESS.
95751         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
95753 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
95755         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
95756         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
95758 2006-10-17  Eric Blake  <ebb9@byu.net>
95760         * lib/sigprocmask.c (sigprocmask): Fix typo.
95762         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
95764         * modules/clean-temp (Makefile.am): Don't add to make output...
95765         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
95766         config.h.
95768 2006-10-17  Bruno Haible  <bruno@clisp.org>
95770         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
95771         differently if DEFAULT_TEXT_DOMAIN is set.
95773 2006-10-16  Bruno Haible  <bruno@clisp.org>
95775         * lib/clean-temp.c: Include fwriteerror.h.
95777 2006-10-16  Bruno Haible  <bruno@clisp.org>
95779         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
95781 2006-10-16  Bruno Haible  <bruno@clisp.org>
95783         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
95784         * lib/sigprocmask.h: Include <sys/types.h>.
95785         (sigset_t): Use the system's definition if present.
95787 2006-10-17  Eric Blake  <ebb9@byu.net>
95789         * lib/xvasprintf.c (includes): Assume config.h.
95790         * lib/xasprintf.c (includes): Likewise.
95792 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
95794         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
95795         at least as wide as intmax_t.
95797 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
95799         (Imported from Automake.)
95800         * build-aux/gnupload: Update to version 1.1 of directive file.
95802 2006-10-16  Eric Blake  <ebb9@byu.net>
95804         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
95805         match Automake 1.10a.
95807 2006-10-14  Bruno Haible  <bruno@clisp.org>
95809         * modules/sigprocmask: New file.
95810         * lib/sigprocmask.h: New file.
95811         * lib/sigprocmask.c: New file.
95812         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
95813         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
95814         request sigprocmask.o.
95815         (gl_PREREQ_SIGPROCMASK): New macro.
95816         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
95817         (Depends-on): Add sigprocmask.
95818         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
95819         gt_SIGNALBLOCKING. Test for 'raise' only once.
95820         * lib/fatal-signal.c: Include sigprocmask.h.
95821         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
95822         unblock_fatal_signals): Define always.
95823         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
95824         sigprocmask.
95826 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
95828         Sync from Automake.
95829         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
95830         which incorrectly sets the mode of an existing destination
95831         directory.  In some cases the unpatched install-sh could do the
95832         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
95833         system.  We hope this is rare in practice, but it's clearly worth
95834         fixing.  Problem reported by Alex Unleashed in
95835         <http://lists.gnu.org/r/bug-autoconf/2006-10/msg00012.html>.
95836         Also, don't bother to check for -m bugs unless we're using -m;
95837         suggested by Stepan Kasal.
95839 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
95841         Sync from Automake.
95842         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
95843         `-c' flag, so they appear at the same position as in %FASTDEP%
95844         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
95845         which ignores unknown options only after the first non-option.
95846         Bug report against M4 by Nelson H. F. Beebe.
95848 2006-10-13  Jim Meyering  <jim@meyering.net>
95850         Fix a bug in yesterday's change.
95851         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
95852         p->fts_statp->st_dev would be used uninitialized.
95853         Ensures that we always call fts_stat on the very first entry.
95854         Miklos Szeredi reported that find -xdev stopped working.
95856 2006-10-12  Bruno Haible  <bruno@clisp.org>
95858         * gnulib-tool (func_get_automake_snippet): Append an automatically
95859         computed EXTRA_DIST augmentation.
95860         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
95861         * modules/alloca-opt (Makefile.am): Likewise.
95862         * modules/allocsa (Makefile.am): Likewise.
95863         * modules/arcfour (Makefile.am): Likewise.
95864         * modules/arctwo (Makefile.am): Likewise.
95865         * modules/argmatch (Makefile.am): Likewise.
95866         * modules/argz (Makefile.am): Likewise.
95867         * modules/atexit (Makefile.am): Likewise.
95868         * modules/backupfile (Makefile.am): Likewise.
95869         * modules/byteswap (Makefile.am): Likewise.
95870         * modules/c-strtod (Makefile.am): Likewise.
95871         * modules/c-strtold (Makefile.am): Likewise.
95872         * modules/calloc (Makefile.am): Likewise.
95873         * modules/canon-host (Makefile.am): Likewise.
95874         * modules/canonicalize (Makefile.am): Likewise.
95875         * modules/chdir-long (Makefile.am): Likewise.
95876         * modules/chdir-safer (Makefile.am): Likewise.
95877         * modules/check-version (Makefile.am): Likewise.
95878         * modules/chown (Makefile.am): Likewise.
95879         * modules/cloexec (Makefile.am): Likewise.
95880         * modules/close-stream (Makefile.am): Likewise.
95881         * modules/closeout (Makefile.am): Likewise.
95882         * modules/crc (Makefile.am): Likewise.
95883         * modules/csharpexec (Makefile.am): Likewise.
95884         * modules/cycle-check (Makefile.am): Likewise.
95885         * modules/des (Makefile.am): Likewise.
95886         * modules/dev-ino (Makefile.am): Likewise.
95887         * modules/dirfd (Makefile.am): Likewise.
95888         * modules/dirname (Makefile.am): Likewise.
95889         * modules/dup2 (Makefile.am): Likewise.
95890         * modules/eealloc (Makefile.am): Likewise.
95891         * modules/error (Makefile.am): Likewise.
95892         * modules/euidaccess (Makefile.am): Likewise.
95893         * modules/exclude (Makefile.am): Likewise.
95894         * modules/exitfail (Makefile.am): Likewise.
95895         * modules/fcntl-safer (Makefile.am): Likewise.
95896         * modules/fcntl (Makefile.am): Likewise.
95897         * modules/file-type (Makefile.am): Likewise.
95898         * modules/fileblocks (Makefile.am): Likewise.
95899         * modules/filemode (Makefile.am): Likewise.
95900         * modules/filenamecat (Makefile.am): Likewise.
95901         * modules/fnmatch (Makefile.am): Likewise.
95902         * modules/fopen-safer (Makefile.am): Likewise.
95903         * modules/fpending (Makefile.am): Likewise.
95904         * modules/fprintftime (Makefile.am): Likewise.
95905         * modules/free (Makefile.am): Likewise.
95906         * modules/fsusage (Makefile.am): Likewise.
95907         * modules/ftruncate (Makefile.am): Likewise.
95908         * modules/fts (Makefile.am): Likewise.
95909         * modules/gc-arcfour (Makefile.am): Likewise.
95910         * modules/gc-des (Makefile.am): Likewise.
95911         * modules/gc-hmac-md5 (Makefile.am): Likewise.
95912         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
95913         * modules/gc-md4 (Makefile.am): Likewise.
95914         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
95915         * modules/gc-sha1 (Makefile.am): Likewise.
95916         * modules/gc (Makefile.am): Likewise.
95917         * modules/getaddrinfo (Makefile.am): Likewise.
95918         * modules/getcwd (Makefile.am): Likewise.
95919         * modules/getdelim (Makefile.am): Likewise.
95920         * modules/getdomainname (Makefile.am): Likewise.
95921         * modules/getgroups (Makefile.am): Likewise.
95922         * modules/gethostname (Makefile.am): Likewise.
95923         * modules/gethrxtime (Makefile.am): Likewise.
95924         * modules/getline (Makefile.am): Likewise.
95925         * modules/getloadavg (Makefile.am): Likewise.
95926         * modules/getlogin_r (Makefile.am): Likewise.
95927         * modules/getndelim2 (Makefile.am): Likewise.
95928         * modules/getopt (Makefile.am): Likewise.
95929         * modules/getpagesize (Makefile.am): Likewise.
95930         * modules/getpass-gnu (Makefile.am): Likewise.
95931         * modules/getpass (Makefile.am): Likewise.
95932         * modules/getsubopt (Makefile.am): Likewise.
95933         * modules/gettime (Makefile.am): Likewise.
95934         * modules/gettimeofday (Makefile.am): Likewise.
95935         * modules/getugroups (Makefile.am): Likewise.
95936         * modules/getusershell (Makefile.am): Likewise.
95937         * modules/glob (Makefile.am): Likewise.
95938         * modules/group-member (Makefile.am): Likewise.
95939         * modules/hard-locale (Makefile.am): Likewise.
95940         * modules/hash (Makefile.am): Likewise.
95941         * modules/hmac-md5 (Makefile.am): Likewise.
95942         * modules/hmac-sha1 (Makefile.am): Likewise.
95943         * modules/human (Makefile.am): Likewise.
95944         * modules/idcache (Makefile.am): Likewise.
95945         * modules/imaxabs (Makefile.am): Likewise.
95946         * modules/imaxdiv (Makefile.am): Likewise.
95947         * modules/inet_ntop (Makefile.am): Likewise.
95948         * modules/inet_pton (Makefile.am): Likewise.
95949         * modules/intprops (Makefile.am): Likewise.
95950         * modules/inttostr (Makefile.am): Likewise.
95951         * modules/inttypes (Makefile.am): Likewise.
95952         * modules/isapipe (Makefile.am): Likewise.
95953         * modules/javaversion (Makefile.am): Likewise.
95954         * modules/lchmod (Makefile.am): Likewise.
95955         * modules/lchown (Makefile.am): Likewise.
95956         * modules/localcharset (Makefile.am): Likewise.
95957         * modules/long-options (Makefile.am): Likewise.
95958         * modules/lstat (Makefile.am): Likewise.
95959         * modules/malloc (Makefile.am): Likewise.
95960         * modules/mathl (Makefile.am): Likewise.
95961         * modules/mbchar (Makefile.am): Likewise.
95962         * modules/md2 (Makefile.am): Likewise.
95963         * modules/md4 (Makefile.am): Likewise.
95964         * modules/md5 (Makefile.am): Likewise.
95965         * modules/memcasecmp (Makefile.am): Likewise.
95966         * modules/memchr (Makefile.am): Likewise.
95967         * modules/memcmp (Makefile.am): Likewise.
95968         * modules/memcoll (Makefile.am): Likewise.
95969         * modules/memcpy (Makefile.am): Likewise.
95970         * modules/memmem (Makefile.am): Likewise.
95971         * modules/memmove (Makefile.am): Likewise.
95972         * modules/mempcpy (Makefile.am): Likewise.
95973         * modules/memrchr (Makefile.am): Likewise.
95974         * modules/memset (Makefile.am): Likewise.
95975         * modules/memxor (Makefile.am): Likewise.
95976         * modules/mkancesdirs (Makefile.am): Likewise.
95977         * modules/mkdir-p (Makefile.am): Likewise.
95978         * modules/mkdir (Makefile.am): Likewise.
95979         * modules/mkdtemp (Makefile.am): Likewise.
95980         * modules/mkstemp (Makefile.am): Likewise.
95981         * modules/mktime (Makefile.am): Likewise.
95982         * modules/modechange (Makefile.am): Likewise.
95983         * modules/mountlist (Makefile.am): Likewise.
95984         * modules/nanosleep (Makefile.am): Likewise.
95985         * modules/obstack (Makefile.am): Likewise.
95986         * modules/openat (Makefile.am): Likewise.
95987         * modules/pagealign_alloc (Makefile.am): Likewise.
95988         * modules/pathmax (Makefile.am): Likewise.
95989         * modules/physmem (Makefile.am): Likewise.
95990         * modules/poll (Makefile.am): Likewise.
95991         * modules/posixtm (Makefile.am): Likewise.
95992         * modules/posixver (Makefile.am): Likewise.
95993         * modules/putenv (Makefile.am): Likewise.
95994         * modules/quote (Makefile.am): Likewise.
95995         * modules/quotearg (Makefile.am): Likewise.
95996         * modules/raise (Makefile.am): Likewise.
95997         * modules/read-file (Makefile.am): Likewise.
95998         * modules/readline (Makefile.am): Likewise.
95999         * modules/readlink (Makefile.am): Likewise.
96000         * modules/readtokens (Makefile.am): Likewise.
96001         * modules/readutmp (Makefile.am): Likewise.
96002         * modules/realloc (Makefile.am): Likewise.
96003         * modules/regex (Makefile.am): Likewise.
96004         * modules/rename-dest-slash (Makefile.am): Likewise.
96005         * modules/rename (Makefile.am): Likewise.
96006         * modules/rijndael (Makefile.am): Likewise.
96007         * modules/rmdir (Makefile.am): Likewise.
96008         * modules/rpmatch (Makefile.am): Likewise.
96009         * modules/safe-read (Makefile.am): Likewise.
96010         * modules/safe-write (Makefile.am): Likewise.
96011         * modules/same-inode (Makefile.am): Likewise.
96012         * modules/same (Makefile.am): Likewise.
96013         * modules/save-cwd (Makefile.am): Likewise.
96014         * modules/savedir (Makefile.am): Likewise.
96015         * modules/setenv (Makefile.am): Likewise.
96016         * modules/settime (Makefile.am): Likewise.
96017         * modules/sha1 (Makefile.am): Likewise.
96018         * modules/sig2str (Makefile.am): Likewise.
96019         * modules/snprintf (Makefile.am): Likewise.
96020         * modules/stat-macros (Makefile.am): Likewise.
96021         * modules/stat-time (Makefile.am): Likewise.
96022         * modules/stdbool (Makefile.am): Likewise.
96023         * modules/stdint (Makefile.am): Likewise.
96024         * modules/stdlib-safer (Makefile.am): Likewise.
96025         * modules/stpcpy (Makefile.am): Likewise.
96026         * modules/stpncpy (Makefile.am): Likewise.
96027         * modules/strcase (Makefile.am): Likewise.
96028         * modules/strcasestr (Makefile.am): Likewise.
96029         * modules/strchrnul (Makefile.am): Likewise.
96030         * modules/strcspn (Makefile.am): Likewise.
96031         * modules/strdup (Makefile.am): Likewise.
96032         * modules/strerror (Makefile.am): Likewise.
96033         * modules/strftime (Makefile.am): Likewise.
96034         * modules/strndup (Makefile.am): Likewise.
96035         * modules/strnlen (Makefile.am): Likewise.
96036         * modules/strpbrk (Makefile.am): Likewise.
96037         * modules/strsep (Makefile.am): Likewise.
96038         * modules/strstr (Makefile.am): Likewise.
96039         * modules/strtod (Makefile.am): Likewise.
96040         * modules/strtoimax (Makefile.am): Likewise.
96041         * modules/strtok_r (Makefile.am): Likewise.
96042         * modules/strtol (Makefile.am): Likewise.
96043         * modules/strtoll (Makefile.am): Likewise.
96044         * modules/strtoul (Makefile.am): Likewise.
96045         * modules/strtoull (Makefile.am): Likewise.
96046         * modules/strtoumax (Makefile.am): Likewise.
96047         * modules/strverscmp (Makefile.am): Likewise.
96048         * modules/sys_socket (Makefile.am): Likewise.
96049         * modules/sys_stat (Makefile.am): Likewise.
96050         * modules/sysexits (Makefile.am): Likewise.
96051         * modules/time_r (Makefile.am): Likewise.
96052         * modules/timegm (Makefile.am): Likewise.
96053         * modules/timespec (Makefile.am): Likewise.
96054         * modules/tmpfile-safer (Makefile.am): Likewise.
96055         * modules/trim (Makefile.am): Likewise.
96056         * modules/unistd-safer (Makefile.am): Likewise.
96057         * modules/unlinkdir (Makefile.am): Likewise.
96058         * modules/unlocked-io (Makefile.am): Likewise.
96059         * modules/userspec (Makefile.am): Likewise.
96060         * modules/utime (Makefile.am): Likewise.
96061         * modules/utimecmp (Makefile.am): Likewise.
96062         * modules/utimens (Makefile.am): Likewise.
96063         * modules/vasnprintf (Makefile.am): Likewise.
96064         * modules/vasprintf (Makefile.am): Likewise.
96065         * modules/vsnprintf (Makefile.am): Likewise.
96066         * modules/xalloc (Makefile.am): Likewise.
96067         * modules/xgetcwd (Makefile.am): Likewise.
96068         * modules/xnanosleep (Makefile.am): Likewise.
96069         * modules/xreadlink (Makefile.am): Likewise.
96070         * modules/xstrtod (Makefile.am): Likewise.
96071         * modules/xstrtol (Makefile.am): Likewise.
96072         * modules/xstrtold (Makefile.am): Likewise.
96073         * modules/yesno (Makefile.am): Likewise.
96074         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
96076 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
96078         * modules/error (Makefile.am): Distribute files through
96079         EXTRA_DIST, not lib_SOURCES.
96081 2006-10-12  Eric Blake  <ebb9@byu.net>
96083         * modules/error (Makefile.am): Distribute files in /lib.
96084         * modules/obstack (Makefile.am): Likewise.
96086 2006-10-12  Bruno Haible  <bruno@clisp.org>
96088         * modules/acl (Makefile.am): Distribute all files in lib/ through
96089         EXTRA_DIST.
96090         * modules/arcfour (Makefile.am): Likewise.
96091         * modules/arctwo (Makefile.am): Likewise.
96092         * modules/argmatch (Makefile.am): Likewise.
96093         * modules/argz (Makefile.am): Likewise.
96094         * modules/atexit (Makefile.am): Likewise.
96095         * modules/backupfile (Makefile.am): Likewise.
96096         * modules/c-strtod (Makefile.am): Likewise.
96097         * modules/c-strtold (Makefile.am): Likewise.
96098         * modules/calloc (Makefile.am): Likewise.
96099         * modules/canon-host (Makefile.am): Likewise.
96100         * modules/canonicalize (Makefile.am): Likewise.
96101         * modules/chdir-long (Makefile.am): Likewise.
96102         * modules/chdir-safer (Makefile.am): Likewise.
96103         * modules/check-version (Makefile.am): Likewise.
96104         * modules/chown (Makefile.am): Likewise.
96105         * modules/cloexec (Makefile.am): Likewise.
96106         * modules/close-stream (Makefile.am): Likewise.
96107         * modules/closeout (Makefile.am): Likewise.
96108         * modules/crc (Makefile.am): Likewise.
96109         * modules/cycle-check (Makefile.am): Likewise.
96110         * modules/des (Makefile.am): Likewise.
96111         * modules/dirfd (Makefile.am): Likewise.
96112         * modules/dirname (Makefile.am): Likewise.
96113         * modules/dup2 (Makefile.am): Likewise.
96114         * modules/euidaccess (Makefile.am): Likewise.
96115         * modules/exclude (Makefile.am): Likewise.
96116         * modules/exitfail (Makefile.am): Likewise.
96117         * modules/fcntl-safer (Makefile.am): Likewise.
96118         * modules/file-type (Makefile.am): Likewise.
96119         * modules/fileblocks (Makefile.am): Likewise.
96120         * modules/filemode (Makefile.am): Likewise.
96121         * modules/filenamecat (Makefile.am): Likewise.
96122         * modules/fnmatch (Makefile.am): Likewise.
96123         * modules/fopen-safer (Makefile.am): Likewise.
96124         * modules/fpending (Makefile.am): Likewise.
96125         * modules/fprintftime (Makefile.am): Likewise.
96126         * modules/free (Makefile.am): Likewise.
96127         * modules/fsusage (Makefile.am): Likewise.
96128         * modules/ftruncate (Makefile.am): Likewise.
96129         * modules/fts (Makefile.am): Likewise.
96130         * modules/gc (Makefile.am): Likewise.
96131         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
96132         * modules/getaddrinfo (Makefile.am): Likewise.
96133         * modules/getcwd (Makefile.am): Likewise.
96134         * modules/getdelim (Makefile.am): Likewise.
96135         * modules/getdomainname (Makefile.am): Likewise.
96136         * modules/getgroups (Makefile.am): Likewise.
96137         * modules/gethostname (Makefile.am): Likewise.
96138         * modules/gethrxtime (Makefile.am): Likewise.
96139         * modules/getline (Makefile.am): Likewise.
96140         * modules/getloadavg (Makefile.am): Likewise.
96141         * modules/getlogin_r (Makefile.am): Likewise.
96142         * modules/getopt (Makefile.am): Likewise.
96143         * modules/getpass (Makefile.am): Likewise.
96144         * modules/getpass-gnu (Makefile.am): Likewise.
96145         * modules/getsubopt (Makefile.am): Likewise.
96146         * modules/gettime (Makefile.am): Likewise.
96147         * modules/gettimeofday (Makefile.am): Likewise.
96148         * modules/getugroups (Makefile.am): Likewise.
96149         * modules/getusershell (Makefile.am): Likewise.
96150         * modules/glob (Makefile.am): Likewise.
96151         * modules/group-member (Makefile.am): Likewise.
96152         * modules/hard-locale (Makefile.am): Likewise.
96153         * modules/hash (Makefile.am): Likewise.
96154         * modules/hmac-md5 (Makefile.am): Likewise.
96155         * modules/hmac-sha1 (Makefile.am): Likewise.
96156         * modules/human (Makefile.am): Likewise.
96157         * modules/idcache (Makefile.am): Likewise.
96158         * modules/imaxabs (Makefile.am): Likewise.
96159         * modules/imaxdiv (Makefile.am): Likewise.
96160         * modules/inet_ntop (Makefile.am): Likewise.
96161         * modules/inet_pton (Makefile.am): Likewise.
96162         * modules/inttostr (Makefile.am): Likewise.
96163         * modules/isapipe (Makefile.am): Likewise.
96164         * modules/lchown (Makefile.am): Likewise.
96165         * modules/long-options (Makefile.am): Likewise.
96166         * modules/lstat (Makefile.am): Likewise.
96167         * modules/malloc (Makefile.am): Likewise.
96168         * modules/mathl (Makefile.am): Likewise.
96169         * modules/mbchar (Makefile.am): Likewise.
96170         * modules/md2 (Makefile.am): Likewise.
96171         * modules/md4 (Makefile.am): Likewise.
96172         * modules/md5 (Makefile.am): Likewise.
96173         * modules/memcasecmp (Makefile.am): Likewise.
96174         * modules/memchr (Makefile.am): Likewise.
96175         * modules/memcmp (Makefile.am): Likewise.
96176         * modules/memcoll (Makefile.am): Likewise.
96177         * modules/memcpy (Makefile.am): Likewise.
96178         * modules/memmem (Makefile.am): Likewise.
96179         * modules/memmove (Makefile.am): Likewise.
96180         * modules/mempcpy (Makefile.am): Likewise.
96181         * modules/memrchr (Makefile.am): Likewise.
96182         * modules/memset (Makefile.am): Likewise.
96183         * modules/memxor (Makefile.am): Likewise.
96184         * modules/mkancesdirs (Makefile.am): Likewise.
96185         * modules/mkdir (Makefile.am): Likewise.
96186         * modules/mkdir-p (Makefile.am): Likewise.
96187         * modules/mkdtemp (Makefile.am): Likewise.
96188         * modules/mkstemp (Makefile.am): Likewise.
96189         * modules/mktime (Makefile.am): Likewise.
96190         * modules/modechange (Makefile.am): Likewise.
96191         * modules/mountlist (Makefile.am): Likewise.
96192         * modules/nanosleep (Makefile.am): Likewise.
96193         * modules/openat (Makefile.am): Likewise.
96194         * modules/pagealign_alloc (Makefile.am): Likewise.
96195         * modules/physmem (Makefile.am): Likewise.
96196         * modules/poll (Makefile.am): Likewise.
96197         * modules/posixtm (Makefile.am): Likewise.
96198         * modules/posixver (Makefile.am): Likewise.
96199         * modules/putenv (Makefile.am): Likewise.
96200         * modules/quote (Makefile.am): Likewise.
96201         * modules/quotearg (Makefile.am): Likewise.
96202         * modules/raise (Makefile.am): Likewise.
96203         * modules/read-file (Makefile.am): Likewise.
96204         * modules/readline (Makefile.am): Likewise.
96205         * modules/readlink (Makefile.am): Likewise.
96206         * modules/readtokens (Makefile.am): Likewise.
96207         * modules/readutmp (Makefile.am): Likewise.
96208         * modules/realloc (Makefile.am): Likewise.
96209         * modules/regex (Makefile.am): Likewise.
96210         * modules/rename (Makefile.am): Likewise.
96211         * modules/rename-dest-slash (Makefile.am): Likewise.
96212         * modules/rijndael (Makefile.am): Likewise.
96213         * modules/rmdir (Makefile.am): Likewise.
96214         * modules/rpmatch (Makefile.am): Likewise.
96215         * modules/safe-read (Makefile.am): Likewise.
96216         * modules/safe-write (Makefile.am): Likewise.
96217         * modules/same (Makefile.am): Likewise.
96218         * modules/save-cwd (Makefile.am): Likewise.
96219         * modules/savedir (Makefile.am): Likewise.
96220         * modules/setenv (Makefile.am): Likewise.
96221         * modules/settime (Makefile.am): Likewise.
96222         * modules/sha1 (Makefile.am): Likewise.
96223         * modules/sig2str (Makefile.am): Likewise.
96224         * modules/snprintf (Makefile.am): Likewise.
96225         * modules/stdlib-safer (Makefile.am): Likewise.
96226         * modules/stpcpy (Makefile.am): Likewise.
96227         * modules/stpncpy (Makefile.am): Likewise.
96228         * modules/strcase (Makefile.am): Likewise.
96229         * modules/strcasestr (Makefile.am): Likewise.
96230         * modules/strchrnul (Makefile.am): Likewise.
96231         * modules/strcspn (Makefile.am): Likewise.
96232         * modules/strdup (Makefile.am): Likewise.
96233         * modules/strerror (Makefile.am): Likewise.
96234         * modules/strftime (Makefile.am): Likewise.
96235         * modules/strndup (Makefile.am): Likewise.
96236         * modules/strnlen (Makefile.am): Likewise.
96237         * modules/strpbrk (Makefile.am): Likewise.
96238         * modules/strsep (Makefile.am): Likewise.
96239         * modules/strstr (Makefile.am): Likewise.
96240         * modules/strtod (Makefile.am): Likewise.
96241         * modules/strtoimax (Makefile.am): Likewise.
96242         * modules/strtok_r (Makefile.am): Likewise.
96243         * modules/strtol (Makefile.am): Likewise.
96244         * modules/strtoll (Makefile.am): Likewise.
96245         * modules/strtoul (Makefile.am): Likewise.
96246         * modules/strtoull (Makefile.am): Likewise.
96247         * modules/strtoumax (Makefile.am): Likewise.
96248         * modules/strverscmp (Makefile.am): Likewise.
96249         * modules/time_r (Makefile.am): Likewise.
96250         * modules/timegm (Makefile.am): Likewise.
96251         * modules/tmpfile-safer (Makefile.am): Likewise.
96252         * modules/unistd-safer (Makefile.am): Likewise.
96253         * modules/unlinkdir (Makefile.am): Likewise.
96254         * modules/userspec (Makefile.am): Likewise.
96255         * modules/utime (Makefile.am): Likewise.
96256         * modules/utimecmp (Makefile.am): Likewise.
96257         * modules/utimens (Makefile.am): Likewise.
96258         * modules/vasnprintf (Makefile.am): Likewise.
96259         * modules/vasprintf (Makefile.am): Likewise.
96260         * modules/vsnprintf (Makefile.am): Likewise.
96261         * modules/xalloc (Makefile.am): Likewise.
96262         * modules/xgetcwd (Makefile.am): Likewise.
96263         * modules/xnanosleep (Makefile.am): Likewise.
96264         * modules/xreadlink (Makefile.am): Likewise.
96265         * modules/xstrtod (Makefile.am): Likewise.
96266         * modules/xstrtol (Makefile.am): Likewise.
96267         * modules/xstrtold (Makefile.am): Likewise.
96268         * modules/yesno (Makefile.am): Likewise.
96270 2006-10-12  Jim Meyering  <jim@meyering.net>
96272         * m4/getloadavg.m4: Revert the change below.
96274         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
96275         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
96276         fail with a symlink, which is what coreutils' ./bootstrap now
96277         creates by default.
96279 2006-10-12  Bruno Haible  <bruno@clisp.org>
96281         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
96282         mingw.
96283         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
96284         MSVC and mingw explicitly.
96286 2006-10-11  Simon Josefsson  <jas@extundo.com>
96287             Bruno Haible  <bruno@clisp.org>
96289         Add support for multiple gnulib-tool invocations in the scope of a
96290         single configure.ac file.
96291         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
96292         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
96293         with the same contents as the _LIBADD variable.
96294         (func_emit_initmacro_start, func_emit_initmacro_end,
96295         func_emit_initmacro_done): New functions.
96296         (func_import, func_create_testdir): Invoke them. Allow the identifiers
96297         gl_LIBOBJS and gl_LTLIBOBJS.
96299 2006-10-11  Bruno Haible  <bruno@clisp.org>
96301         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
96302         (func_create_testdir): Don't create po/Makefile.am, don't invoke
96303         autoreconf. Instead, invoke autopoint explicitly but move back the
96304         *.m4 files from gnulib.
96306 2006-10-11  Bruno Haible  <bruno@clisp.org>
96308         * gnulib-tool (func_usage): Make module names after --create-testdir
96309         optional.
96310         (func_create_testdir): If no module was specified, use nearly all
96311         modules.
96313 2006-10-12  Jim Meyering  <jim@meyering.net>
96315         Big performance improvement for fts-based tools that use FTS_NOSTAT.
96316         Avoid spurious inode-mismatch problems on non-POSIX file systems.
96317         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
96318         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
96319         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
96320         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
96321         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
96322         (fts_set_stat_required): New function.
96323         (fts_open): Defer the calls to fts_stat, if possible or requested.
96324         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
96325         into fts_stat itself.
96326         (fts_read): Perform any required (deferred) fts_stat call.
96327         (fts_build): Likewise, for the directory we're about to open and read.
96328         In the readdir loop, carefully decide whether each entry will require
96329         an eventual call to fts_stat, using dirent.d_type info if available.
96330         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
96331         a command line argument into this function.  Update all callers.
96332         Map a return value of FTS_DOT to FTS_D for a command line argument.
96333         * modules/fts (Depends-on): Add d-type.  Alphabetize.
96334         Thanks to Miklos Szeredi for his tenacity and for the initial
96335         bug report about "find" failing on a FUSE-based file system.
96337         * lib/fts.c (fts_open): Use consistent indentation.
96339 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
96341         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
96342         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
96343         reported by Jim Meyering.  All uses of cache variables renamed
96344         to match Autoconf's.
96345         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
96346         the other one.
96348         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
96349         Fix misspelling in diagnostic.
96351 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
96353         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
96354         defined.  Problem reported by Matthew Woehlke.
96356         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
96357         Add support for Tandem NonStop R series.
96358         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
96359         Use new macro.
96361         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
96362         (has_trailing_slash): Omit size arg; all callers changed.
96363         Omit 'inline', since it doesn't help performance and we'd
96364         need to configure it.
96365         Don't count //, ///, etc. as having a trailing slash.
96366         As a side effect, this removes a C99ism reported by Matthew Woehlke.
96367         (rpl_rename_dest_slash): On failure, use rename's errno rather
96368         than (in some cases) an incorrect or junk errno.
96369         Simplify code by removing need to compute length; this does
96370         cause it to make two passes instead of one over the file name,
96371         but it's worth it.
96373         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
96374         change, since Autoconf's version may no longer be appropriate now
96375         that we are using CVS Autoconf's version.  Add support for Tandem.
96377 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
96378             Bruno Haible  <bruno@clisp.org>
96380         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
96381         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
96382         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
96383         gl_AC_TYPE_LONG_LONG.
96385         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
96386         instead of HAVE_LONG_LONG.
96387         * lib/printf-args.c (printf_fetchargs): Likewise.
96388         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
96389         * lib/vasnprintf.c (VASNPRINTF): Likewise.
96390         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
96391         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
96392         gl_AC_TYPE_LONG_LONG.
96394 2006-10-11  Bruno Haible  <bruno@clisp.org>
96396         * m4/longlong.m4: Add comments.
96397         * m4/ulonglong.m4: Likewise.
96399 2006-10-10  Bruno Haible  <bruno@clisp.org>
96401         Make it possible to #define stpcpy, strdup to aliases.
96402         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
96403         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
96405 2006-10-10  Bruno Haible  <bruno@clisp.org>
96407         Make it possible to #define gcd to an alias.
96408         * lib/gcd.c: Include config.h.
96410 2006-10-10  Bruno Haible  <bruno@clisp.org>
96412         Make it possible to #define c_isascii to an alias.
96413         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
96414         defined. Undefine the macros before defining them, to avoid gcc
96415         warnings.
96416         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
96417         define NO_C_CTYPE_MACROS early.
96419 2006-10-10  Bruno Haible  <bruno@clisp.org>
96421         Make it possible to #define set_program_name to an alias.
96422         * lib/progname.c: Don't undefine set_program_name; instead, undefine
96423         ENABLE_RELOCATABLE early.
96425 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
96427         Port to Tandem NSK OSS, which has 64-bit signed int but at most
96428         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
96429         http://lists.gnu.org/r/bug-coreutils/2006-10/msg00062.html
96430         More generally, don't assume that 64-bit signed int is available
96431         if unsigned int is, and vice versa.
96432         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
96433         unsigned symbols, not on their signed counterparts.
96434         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
96435         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
96436         (UINT64_C, UINTMAX_C):
96437         Likewise.
96438         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
96439         unsigned counterparts.
96440         (Have_long_long, Unsigned): New macros.
96441         (Int): Renamed from INT.
96442         (strtoimax): Use the new macros.
96443         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
96444         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
96445         * modules/inttypes (inttypes.h): Substitute
96446         HAVE_UNSIGNED_LONG_LONG_INT.
96447         * modules/stdint (stdint.h): Likewise.
96448         (Files): Add m4/ulonglong.m4.
96450 2006-10-10  Bruno Haible  <bruno@clisp.org>
96452         Fix a gcc -Wshadow warning.
96453         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
96454         to 'bucket'.
96455         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
96456         gl_linked_indexof_from_to): Likewise.
96457         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
96458         Likewise.
96459         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
96460         Likewise.
96461         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
96462         Reported by Eric Blake.
96464 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
96466         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
96467         for NetBSD.  Problem reported by Bruno Haible.
96469 2006-10-09  Jim Meyering  <jim@meyering.net>
96471         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
96472         Patch from Bruno Haible.
96474 2006-10-09  Jim Meyering  <jim@meyering.net>
96476         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
96477         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
96478         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
96480 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
96482         Don't include <config.h> twice; this doesn't work in some cases,
96483         e.g., when config.h has "#define intmax_t long long int" and
96484         we include <config.h>, <inttypes.h>, <config.h> in that order.
96485         Problem reported by Matthew Woehlke in:
96486         http://lists.gnu.org/r/bug-coreutils/2006-10/msg00073.html
96487         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
96488         * lib/fts-cycle.c: Don't include config.h.
96489         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
96490         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
96491         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
96492         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
96493         inttypes.h.
96494         * lib/xstrtoumax.c: Likewise.
96495         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
96496         __strtol and the like, so that this module is more like its siblings.
96497         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
96498         Remove; no longer needed now that we assume gnulib inttypes.h.
96500 2006-10-08  Bruno Haible  <bruno@clisp.org>
96502         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
96503         option.
96505 2006-10-07  Jim Meyering  <jim@meyering.net>
96507         * modules/inttypes (inttypes.h): Revert what seems to have been
96508         an inadvertent part of today's change: use "|", not "/" in the
96509         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
96511 2006-10-07  Bruno Haible  <bruno@clisp.org>
96513         * modules/sublist: New file.
96515 2006-10-07  Bruno Haible  <bruno@clisp.org>
96517         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
96518         * modules/argz (argz.h): Likewise.
96519         * modules/arpa_inet (arpa/inet.h): Likewise.
96520         * modules/byteswap (byteswap.h): Likewise.
96521         * modules/configmake (configmake.h): Likewise.
96522         * modules/fcntl (fcntl.h): Likewise.
96523         * modules/fnmatch (fnmatch.h): Likewise.
96524         * modules/getopt (getopt.h): Likewise.
96525         * modules/glob (glob.h): Likewise.
96526         * modules/inttypes (inttypes.h): Likewise.
96527         * modules/netinet_in (netinet/in.h): Likewise.
96528         * modules/poll (poll.h): Likewise.
96529         * modules/stdbool (stdbool.h): Likewise.
96530         * modules/stdint (stdint.h): Likewise.
96531         * modules/sys_select (sys/select.h): Likewise.
96532         * modules/sys_socket (sys/socket.h): Likewise.
96533         * modules/sys_stat (sys/stat.h): Likewise.
96534         * modules/sysexits (sysexits.h): Likewise.
96535         * modules/unistd (unistd.h): Likewise.
96536         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
96537         Add a "DO NOT EDIT" comment to the generated file.
96538         (func_import): Likewise for gnulib-comp.m4.
96540 2006-10-07  Bruno Haible  <bruno@clisp.org>
96542         * lib/gl_sublist.h: New file.
96543         * lib/gl_sublist.c: New file.
96545 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
96547         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
96548         name (relative to the original working directory) and the file
96549         name component (relative to the temporary working directory).  All
96550         callers changed.
96551         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
96552         * lib/mkdir-p.c (make_dir_parents): Likewise.
96553         * lib/mkdir-p.h (make_dir_parents): Likewise.
96555 2006-10-06  Eric Blake  <ebb9@byu.net>
96557         Define several macros for use by the clean-temp module.
96558         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
96559         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
96560         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
96562         * lib/clean-temp.h (close_stream_temp): New declaration.
96563         * lib/clean-temp.c (includes): Pull in headers according to what
96564         other modules are in use.
96565         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
96567 2006-10-06  Bruno Haible  <bruno@clisp.org>
96569         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
96570         instead of fopen, fwriteerror.
96572 2006-10-06  Bruno Haible  <bruno@clisp.org>
96574         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
96575         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
96576         int.
96577         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
96578         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
96579         Return an error indicator.
96580         Suggested by Eric Blake.
96582 2006-10-06  Bruno Haible  <bruno@clisp.org>
96584         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
96585         Reported by Eric Blake.
96587 2006-10-06  Bruno Haible  <bruno@clisp.org>
96589         * modules/closeout (Description): Mention stderr too.
96591 2006-10-06  Bruno Haible  <bruno@clisp.org>
96592         and Paul Eggert  <eggert@cs.ucla.edu>
96594         * lib/closeout.c (close_stdout): Also close stderr.
96595         * lib/closeout.h: Update comment.
96597 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
96599         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
96600         <http://lists.gnu.org/r/bug-coreutils/2006-10/msg00063.html>.
96601         * lib/dirchownmod.c: Include lchown.h.
96602         * lib/lchown.c: Don't include files that lchown.h now includes.
96603         Don't declare chown, since lchown.h now does that.
96604         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
96605         (lchown): Define to rpl_chown if lchown is declared but
96606         does not exist.  Declare using a prototype if lchown is not
96607         declared.  Add a copyright notice.
96608         * lib/mkstemp.h: Include <unistd.h>.
96609         * lib/openat.c: Include lchown.h.
96611         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
96612         we now test for that separately.
96613         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
96614         rather than O_NOFOLLOW, when testing whether it's possible to
96615         avoid a race condition reliably.
96616         * lib/savewd.c (savewd_chdir): Likewise.
96618         Remove macros that are no longer needed now that stdint.h is
96619         reliable.
96620         * lib/fsusage.c (UINTMAX_MAX): Remove.
96621         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
96622         * lib/utimecmp.c (SIZE_MAX): Remove.
96624         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
96626         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
96627         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
96628         O_NOATIME works.
96630 2006-10-05  Bruno Haible  <bruno@clisp.org>
96632         * lib/gl_list.h (gl_sortedlist_search_from_to,
96633         gl_sortedlist_indexof_from_to): New declarations.
96634         (gl_list_implementation): New fields sortedlist_search_from_to,
96635         sortedlist_indexof_from_to.
96636         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
96637         inline functions.
96638         * lib/gl_list.c (gl_sortedlist_search_from_to,
96639         gl_sortedlist_indexof_from_to): New functions.
96640         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
96641         function.
96642         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
96643         (gl_array_sortedlist_search_from_to): New function.
96644         (gl_array_list_implementation): Update.
96645         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
96646         function.
96647         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
96648         (gl_carray_sortedlist_search_from_to): New function.
96649         (gl_carray_list_implementation): Update.
96650         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
96651         gl_linked_sortedlist_indexof_from_to): New functions.
96652         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
96653         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
96654         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
96655         gl_tree_sortedlist_indexof_from_to): New functions.
96656         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
96657         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
96658         Update.
96659         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
96660         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
96661         Update.
96663 2006-10-05  Bruno Haible  <bruno@clisp.org>
96665         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
96666         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
96667         (struct gl_list_implementation): Add fields search_from_to,
96668         indexof_from_to. Remove fields search, indexof.
96669         (gl_list_search): Use the search_from_to method.
96670         (gl_list_search_from, gl_list_search_from_to): New functions.
96671         (gl_list_indexof): Use the indexof_from_to method.
96672         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
96673         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
96674         (gl_list_search_from, gl_list_search_from_to): New functions.
96675         (gl_list_indexof): Use the indexof_from_to method.
96676         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
96677         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
96678         gl_array_indexof. Add start_index, end_index arguments.
96679         (gl_array_search_from_to): Renamed from gl_array_search. Add
96680         start_index, end_index arguments.
96681         (gl_array_remove, gl_array_list_implementation): Update.
96682         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
96683         gl_carray_indexof. Add start_index, end_index arguments.
96684         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
96685         start_index, end_index arguments.
96686         (gl_carray_remove, gl_carray_list_implementation): Update.
96687         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
96688         gl_linked_search. Add start_index, end_index arguments.
96689         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
96690         start_index, end_index arguments.
96691         (gl_linked_remove): Update.
96692         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
96693         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
96694         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
96695         field to 'size_t'.
96696         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
96697         gl_tree_search. Add start_index, end_index arguments.
96698         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
96699         start_index, end_index arguments.
96700         (gl_tree_remove): Update.
96701         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
96702         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
96703         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
96704         function.
96705         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
96706         gl_tree_search. Add start_index, end_index arguments.
96707         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
96708         start_index, end_index arguments.
96709         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
96710         Update.
96711         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
96713 2006-10-05  Bruno Haible  <bruno@clisp.org>
96715         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
96717         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
96718         fwriteerror_temp): New declarations.
96719         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
96720         (descriptors): New variable.
96721         (cleanup): First, close the descriptors.
96722         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
96723         fclose_temp, fwriteerror_temp): New functions.
96725 2006-10-04  Jim Meyering  <jim@meyering.net>
96727         * lib/fts.c (fts_open): Tiny comment change.
96729 2006-10-04  Bruno Haible  <bruno@clisp.org>
96731         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
96732         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
96733         gl_LOCK_BODY.
96734         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
96735         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
96736         gl_LOCK_EARLY_BODY.
96737         (gl_LOCK): Require gl_LOCK_BODY.
96739 2006-10-04  Bruno Haible  <bruno@clisp.org>
96741         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
96742         (gl_oset_search_atleast): New declaration.
96743         (struct gl_oset_implementation): Add field 'search_atleast'.
96744         (gl_oset_search_atleast): New inline function.
96745         * lib/gl_oset.c (gl_oset_search_atleast): New function.
96746         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
96747         (gl_array_oset_implementation): Update.
96748         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
96749         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
96750         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
96752 2006-10-04  Bruno Haible  <bruno@clisp.org>
96754         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
96756 2006-10-03  Bruno Haible  <bruno@clisp.org>
96758         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
96759         from gl_avltreehash_list_implementation.
96761 2006-10-03  Bruno Haible  <bruno@clisp.org>
96763         * lib/gl_oset.c (gl_oset_add): Fix return type.
96765 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
96767         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
96769 2006-10-02  Eric Blake  <ebb9@byu.net>
96771         * modules/strnlen (Depends-on): Add extensions.
96773 2006-10-02  Eric Blake  <ebb9@byu.net>
96775         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
96776         definition in 2.60+.
96778 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
96780         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
96781         checks.
96783 2006-10-02  Bruno Haible  <bruno@clisp.org>
96785         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
96786         to the AUTOMAKE_OPTIONS.
96787         Reported by Jim Meyering.
96789 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
96791         Work around bug in Solaris 10 /proc file system:
96792         /proc/self/fd/NNN/.. isn't the parent directory of
96793         the directory whose file descriptor is NNN.  This needs to
96794         be worked around at run time, not compile time, since a
96795         program might be built on Solaris 8, where things work, and
96796         run on Solaris 10.
96797         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
96798         to use the following interface instead:
96799         (OPENAT_BUFFER_SIZE): New macro.
96800         (openat_proc_name): New function.
96801         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
96802         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
96803         Likewise.
96804         * lib/openat-proc.c: New file.
96805         * modules/openat (Files): Add lib/openat-proc.c.
96806         (Depends-on): Add same-inode, stdbool.
96807         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
96809 2006-09-29  Bruno Haible  <bruno@clisp.org>
96811         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
96812         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
96813         argument. Set stdout_closed before testing for ferror, not after.
96814         (fwriteerror, fwriteerror_no_ebadf): New functions.
96816 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96818         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
96820 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
96822         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
96823         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
96825 2006-09-28  Jim Meyering  <jim@meyering.net>
96827         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
96828         Include <unistd.h>.
96830 2006-09-28  Bruno Haible  <bruno@clisp.org>
96832         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
96833         * modules/linkedhash-list (Depends-on): Likewise.
96834         * modules/rbtreehash-list (Depends-on): Likewise.
96836 2006-09-28  Bruno Haible  <bruno@clisp.org>
96838         * lib/strndup.h: Simplify the redefinition of strndup.
96839         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
96840         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
96842 2006-09-28  Bruno Haible  <bruno@clisp.org>
96844         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
96845         * lib/gl_linkedhash_list.c: Likewise.
96846         * lib/gl_rbtreehash_list.c: Likewise.
96848 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
96850         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
96851         getaddrinfo.
96853         * lib/__fpending.h: Don't include <stdio_ext.h> unless
96854         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
96855         it causes <stdio_ext.h> to cause a compile-time error.
96856         Problem reported by Nelson H. F. Beebe.
96857         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
96858         of HAVE_DECL___PENDING.
96860         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
96861         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
96862         declaration.
96864 2006-09-27  Jim Meyering  <jim@meyering.net>
96866         This file could end up with a definition for a function
96867         named __strndup, rather than rpl_strndup on a system with
96868         incomplete weak_alias support.
96869         * lib/strndup.c (strndup): Rename from __strndup.
96870         Remove #defines that used to map __strndup to strndup.
96871         Don't use K&R prototypes.
96872         Remove LIBC-related code, since this file is not sync'd with glibc.
96873         * lib/strndup.h: Revamp, accordingly.
96874         * m4/strndup.m4: Modernize.
96876 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
96878         * modules/savewd (Depends-on): Add 'raise'.
96879         * lib/savewd.c: Include <signal.h>, for 'raise'.
96881 2006-09-26  Jim Meyering  <jim@meyering.net>
96883         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
96884         when we detect Darwin 8.7.0's acl_get_file bug.
96885         Rearrange to perform the new (below) run-test while $LIBS
96886         contains any acl-related library.  Set USE_ACL at the end.
96887         (gl_ACL_GET_FILE): New function.
96889 2006-09-26  Eric Blake  <ebb9@byu.net>
96891         * lib/verror.c: Include <config.h> unconditionally.
96893 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
96895         * modules/clock-time (Maintainer): Add self.
96896         * modules/getlogin_r (Depends-on): Add extensions.
96898 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96900         * modules/clock-time: New module.
96901         * modules/nanosleep (Depends-on): Add clock-time.
96902         * modules/gethrxtime (Depends-on): Likewise.
96903         * modules/gettime (Depends-on): Likewise.
96904         * modules/settime (Depends-on): Likewise.
96906         * modules/fts-lgpl: Depend on openat.
96907         * modules/mkancesdirs: Depend on savewd.
96908         * modules/mkdir-p: Likewise.
96910 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96912         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
96914         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
96915         `gl_have_arbitrary_file_name_length_limit' to
96916         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
96917         actually works between configure runs.
96919 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96920             Bruno Haible  <bruno@clisp.org>
96922         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
96924 2006-09-25  Jim Meyering  <jim@meyering.net>
96926         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
96927         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
96929 2006-09-25  Eric Blake  <ebb9@byu.net>
96931         * gnulib-tool (func_import, func_create_testdir): Fix typos in
96932         exec's in 2006-09-18 patch when shuffling fds.
96934 2006-09-25  Bruno Haible  <bruno@clisp.org>
96936         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
96937         Reported by Jim Meyering.
96939 2006-09-24  Jim Meyering  <jim@meyering.net>
96941         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
96942         compare a pointer against a literal "0".  That caused failures with
96943         at least HP-UX's hpcc.
96945 2006-09-22  Simon Josefsson  <jas@extundo.com>
96947         * modules/gc-sha1:
96948         * modules/gc-md4:
96949         * modules/gc-hmac-sha1:
96950         * modules/gc-hmac-md5:
96951         * modules/gc-des:
96952         * modules/gc-arcfour: Distribute more files.
96954 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96956         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
96957         (gl_linked_iterator_from_to): Initialize struct completely.
96958         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
96959         (gl_tree_iterator_from_to): Likewise
96960         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
96961         * lib/gl_array_list.c [lint] (gl_array_iterator)
96962         (gl_array_iterator_from_to): Likewise.
96963         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
96964         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
96965         (gl_carray_iterator_from_to): Likewise.
96967         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
96968         * lib/md4.c (md4_process_block): Remove unused variable.
96969         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
96970         parentheses for clarity.
96972 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96974         * modules/bison-i18n (Depends-on): Add gettext.
96976 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96978         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
96979         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
96980         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
96981         also add missing comma that caused broken test.
96982         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
96983         stdlib.h, for `abort'.
96984         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
96985         variables.
96986         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
96987         include unistd.h if present, for `rmdir'.
96988         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
96989         variables.
96990         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
96991         in the process include standard headers for prototypes.
96992         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
96993         gets declared on GNU/Linux.
96994         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
96995         unistd.h, for `rmdir'.
96996         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
96998         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
96999         always true.
97000         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
97002         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
97004 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
97006         * gnulib-tool (func_version): Create output all at once.  This
97007         may help avoid triggering unnecessary SIGPIPEs, and at any
97008         rate it doesn't hurt.
97010 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
97011             Bruno Haible  <bruno@clisp.org>
97013         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
97014         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
97015         * m4/signed.m4 (bh_C_SIGNED): Likewise.
97017         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
97018         (gl_FUNC_VASPRINTF): Invoke it.
97020 2006-09-22  Bruno Haible  <bruno@clisp.org>
97022         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
97023         getloadavg.c as first argument.
97025 2006-09-22  Bruno Haible  <bruno@clisp.org>
97027         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
97028         at the beginning of the gl_INIT macro.
97029         * modules/getloadavg (configure.ac): Pass $gl_source_base to
97030         gl_GETLOADAVG.
97032 2006-09-22  Bruno Haible  <bruno@clisp.org>
97034         * gnulib-tool (func_create_megatestdir): Don't include the config-h
97035         module.
97036         Suggested by Ralf Wildenhues.
97038 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
97040         Import this patch from libc:
97042         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
97044         * lib/regex_internal.c (re_string_reconstruct): Handle
97045         offset < pstr->valid_raw_len && pstr->offsets_needed case.
97046         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
97047         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
97048         re_string_context_at.
97050         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
97051         now requires it.
97052         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
97053         gl_REGEX now does it for us.
97054         (gl_REGEX): Add test taken from
97055         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
97057         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
97058         Check that large offsets work.  Modernize Autoconf usages.
97059         Prefer "yes" to mean a good thing rather than a bad.
97060         Don't put "#define mkstemp" in config.h, as this might interfere
97061         with standard system headers that "#define mkstemp mkstemp64".
97063         * modules/mkstemp (Depends-on): Add extensions, so that
97064         mkstemp is visible on some platforms.
97065         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
97066         (Include): Change to "mkstemp.h" from <stdlib.h>.
97067         (Files): Add mkstemp.h.
97069         * lib/mkstemp.h: New file, since some standard headers
97070         #define mkstemp.
97071         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
97072         Include "mkstemp.h".
97073         Make the _LIBC code resemble glibc original more,
97074         e.g., use K&R style.
97075         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
97076         (mkstemp): Remove, since mkstemp.h does this for us.
97077         * lib/stdlib--.h: Include mkstemp.h.
97079         Import this patch from libc:
97081         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
97083         * lib/tempname.c (__gen_tempname): Change attempts_min
97084         into a macro.  Use preprocessor to decide how to initialize
97085         attempts [Coverity CID 67].
97087 2006-09-20  Bruno Haible  <bruno@clisp.org>
97089         * lib/mkdtemp.c: Import from libc.
97090         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
97091                 * sysdeps/posix/tempname.c (__gen_tempname): Change
97092                 attempts_min into a macro.  Use preprocessor to decide how to
97093                 initialize attempts [Coverity CID 67].
97094         2001-11-27  Paul Eggert  <eggert@twinsun.com>
97095                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
97096                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
97098 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
97100         * gnulib-tool (func_exit): New function, to allow to pass the
97101         exit status portably through the trap.  Use everywhere.
97102         (--help, --version): Signal a write error.
97103         (trap): catch SIGPIPE, for write errors.
97104         Exit at the end of the trap, with the correct exit status.
97106 2006-09-19  Karl Berry  <karl@gnu.org>
97108         * doc/gnulib.texi: note about the license texinfo files.
97110 2006-09-19  Eric Blake  <ebb9@byu.net>
97112         * gnulib-tool: Avoid space-tab.
97114 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
97116         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
97117         that prevented coreutils 6.1 from building.  Problem reported
97118         by Petter Reinholdtsen.
97120 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
97122         * gnulib-tool (avoidlist): Fix typo that broke options like
97123         --avoid=lock that are used by coreutils bootstrap.
97125 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
97127         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
97128         more systematically.
97130 2006-09-18  Jim Meyering  <jim@meyering.net>
97132         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
97134 2006-09-18  Bruno Haible  <bruno@clisp.org>
97136         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
97138 2006-09-18  Bruno Haible  <bruno@clisp.org>
97140         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
97141         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
97142         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
97143         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
97144         * m4/gettext.m4: Require autoconf >= 2.52.
97145         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
97146         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
97147         of gl_cv_header_inttypes_h.
97149 2006-09-18  Bruno Haible  <bruno@clisp.org>
97151         * lib/javaversion.c: Include configmake.h.
97153 2006-09-18  Bruno Haible  <bruno@clisp.org>
97155         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
97156         avoid that the while loops be executed in a subshell.
97158 2006-09-18  Bruno Haible  <bruno@clisp.org>
97160         * MODULES.html.sh (func_module): Break long lines.
97161         Suggested by Bruce Korb <bkorb@gnu.org>.
97163 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
97165         Speed up by a factor of 1.12.
97166         * gnulib-tool (nl): New variable.
97167         (func_import): Rewrite include directive extraction to only read each
97168         directive once.
97170 2006-09-17  Bruno Haible  <bruno@clisp.org>
97172         * modules/javaversion (Makefile.am): Remove DEFS setting.
97173         (Depends-on): Add configmake, for PKGDATADIR definition.
97175 2006-09-17  Bruno Haible  <bruno@clisp.org>
97177         * gnulib-tool (func_create_testdir): Rewrite all files at once.
97179 2006-09-17  Bruno Haible  <bruno@clisp.org>
97181         * gnulib-tool (func_append): New function, stolen from libtool.m4.
97182         (func_modules_transitive_closure, func_modules_add_dummy,
97183         func_modules_to_filelist, func_import, func_create_testdir,
97184         func_create_megatestdir, ...): Use it wherever possible.
97185         Suggested by Ralf Wildenhues.
97187 2006-09-16  Karl Berry  <karl@gnu.org>
97189         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
97190         to avoid sectioning errors.
97191         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
97192         [ifinfo]: blank line after @center-ed titles.
97193         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
97194         Spell FSF address consistently with others.
97195         (These changes approved by rms.)
97197 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
97199         Speed up by a factor of 1.61.
97200         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
97201         already checked module names again.
97203 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
97205         Speed up by a factor of 1.13.
97206         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
97207         for new_files, and the input to func_add_or_update.
97209 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
97211         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
97212         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
97214 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
97216         * modules/mkancesdirs (Depends-on): Add fcntl.
97217         * modules/savewd: New file.
97218         * MODULES.html.sh (File system functions): Add savewd.
97220         * modules/configmake (Makefile.am): Add support for the
97221         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
97223 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
97225         * m4/savewd.m4: New file.
97227 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
97229         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
97230         (dirchownmod): New arg FD.  All callers changed.
97231         Use FD rather than opening the directory ourself, as opening is
97232         now the caller's responsibility.
97233         * lib/dirchownmod.h: Likewise.
97234         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
97235         hosts that require <sys/types.h> before <sys/stat.h>.  Include
97236         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
97237         (test_dir): Remove.
97238         (mkancesdirs): Return length of prefix of FILE that has already
97239         been made, or -2 if there is a child doing the work.  Redo
97240         algorithm so that it is O(N) rather than O(N**2).  Optimize away
97241         ".", and treat ".." specially since it might stray back into
97242         already-created areas.  Use a subprocess if necessary.  New arg
97243         WD; all users changed.  MAKE_DIR function should now return 1
97244         if it creates a directory that is not readable.  Return -2 if
97245         a child process is spun off.
97246         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
97247         Adjust signature to match code.
97248         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
97249         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
97250         all users changed.
97251         * lib/savewd.c, lib/savewd.h: New files.
97253 2006-09-15  Jim Meyering  <jim@meyering.net>
97255         * modules/rename-dest-slash: New module.
97256         * MODULES.html.sh (posix_compat): Add it here.
97258         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
97260 2006-09-15  Jim Meyering  <jim@meyering.net>
97262         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
97263         file.
97265         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
97267 2006-09-15  Jim Meyering  <jim@meyering.net>
97269         * lib/rename-dest-slash.c (has_trailing_slash): Use
97270         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
97271         (rpl_rename_dest_slash): Perform the cheaper trailing slash
97272         test before testing whether SRC is a directory.
97273         Suggestions from Bruno Haible.
97275         Avoid a warning about an unused variable.
97276         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
97277         into the #ifdef block where it's used.
97279         * lib/rename-dest-slash.c: New file.
97281 2006-09-14  Bruno Haible  <bruno@clisp.org>
97283         * lib/allocsa.c: Include <config.h> unconditionally.
97284         * lib/asnprintf.c: Likewise.
97285         * lib/asprintf.c: Likewise.
97286         * lib/c-strcasecmp.c: Likewise.
97287         * lib/c-strcasestr.c: Likewise.
97288         * lib/c-strncasecmp.c: Likewise.
97289         * lib/c-strstr.c: Likewise.
97290         * lib/classpath.c: Likewise.
97291         * lib/clean-temp.c: Likewise.
97292         * lib/concatpath.c: Likewise.
97293         * lib/copy-file.c: Likewise.
97294         * lib/csharpcomp.c: Likewise.
97295         * lib/csharpexec.c: Likewise.
97296         * lib/execute.c: Likewise.
97297         * lib/fatal-signal.c: Likewise.
97298         * lib/findprog.c: Likewise.
97299         * lib/fwriteerror.c: Likewise.
97300         * lib/gl_array_list.c: Likewise.
97301         * lib/gl_array_oset.c: Likewise.
97302         * lib/gl_avltree_list.c: Likewise.
97303         * lib/gl_avltree_oset.c: Likewise.
97304         * lib/gl_avltreehash_list.c: Likewise.
97305         * lib/gl_carray_list.c: Likewise.
97306         * lib/gl_linked_list.c: Likewise.
97307         * lib/gl_linkedhash_list.c: Likewise.
97308         * lib/gl_list.c: Likewise.
97309         * lib/gl_oset.c: Likewise.
97310         * lib/gl_rbtree_list.c: Likewise.
97311         * lib/gl_rbtree_oset.c: Likewise.
97312         * lib/gl_rbtreehash_list.c: Likewise.
97313         * lib/imaxabs.c: Likewise.
97314         * lib/imaxdiv.c: Likewise.
97315         * lib/javacomp.c: Likewise.
97316         * lib/javaexec.c: Likewise.
97317         * lib/javaversion.c: Likewise.
97318         * lib/linebreak.c: Likewise.
97319         * lib/localcharset.c: Likewise.
97320         * lib/lock.c: Likewise.
97321         * lib/mbchar.c: Likewise.
97322         * lib/mbswidth.c: Likewise.
97323         * lib/mkdtemp.c: Likewise.
97324         * lib/pipe.c: Likewise.
97325         * lib/printf-args.c: Likewise.
97326         * lib/printf-parse.c: Likewise.
97327         * lib/progname.c: Likewise.
97328         * lib/progreloc.c: Likewise.
97329         * lib/readlink.c: Likewise.
97330         * lib/sh-quote.c: Likewise.
97331         * lib/stpcpy.c: Likewise.
97332         * lib/stpncpy.c: Likewise.
97333         * lib/strcasecmp.c: Likewise.
97334         * lib/strcasestr.c: Likewise.
97335         * lib/strcspn.c: Likewise.
97336         * lib/striconv.c: Likewise.
97337         * lib/strncasecmp.c: Likewise.
97338         * lib/strnlen1.c: Likewise.
97339         * lib/strstr.c: Likewise.
97340         * lib/strtok_r.c: Likewise.
97341         * lib/tls.c: Likewise.
97342         * lib/tmpdir.c: Likewise.
97343         * lib/unicodeio.c: Likewise.
97344         * lib/unsetenv.c: Likewise.
97345         * lib/vasnprintf.c: Likewise.
97346         * lib/vasprintf.c: Likewise.
97347         * lib/wait-process.c: Likewise.
97348         * lib/xallocsa.c: Likewise.
97349         * lib/xsetenv.c: Likewise.
97350         * lib/xstriconv.c: Likewise.
97352 2006-09-13  Simon Josefsson  <jas@extundo.com>
97354         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
97355         that internally, suggested by Ralf Wildenhues
97356         <Ralf.Wildenhues@gmx.de>.
97358 2006-09-13  Simon Josefsson  <jas@extundo.com>
97360         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
97361         @LIBOBJS@.
97362         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
97364 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
97366         * lib/_fpending.c: Include <config.h> unconditionally, since we no
97367         longer worry about uses that don't define HAVE_CONFIG_H.
97368         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
97369         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
97370         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
97371         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
97372         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
97373         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
97374         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
97375         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
97376         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
97377         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
97378         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
97379         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
97380         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
97381         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
97382         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
97383         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
97384         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
97385         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
97386         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
97387         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
97388         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
97389         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
97390         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
97391         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
97392         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
97393         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
97394         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
97395         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
97396         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
97397         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
97398         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
97399         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
97400         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
97401         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
97402         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
97403         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
97404         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
97405         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
97406         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
97407         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
97408         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
97409         Likewise.
97411 2006-09-13  Eric Blake  <ebb9@byu.net>
97413         * lib/getopt.c: Fix typo in last commit.
97415 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
97417         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
97418         dgettext.
97420 2006-09-12  Jim Meyering  <jim@meyering.net>
97422         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
97423         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
97424         Reported by Nelson H. F. Beebe.
97426 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
97428         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
97429         program_invocation_name and program_invocation_short_name are
97430         initialized.
97431         * lib/argp-namefrob.h: Move declarations of program_invocation_name
97432         and program_invocation_short_name to argp.h, so they are visible
97433         to user programs.
97434         * lib/argp.h: Likewise
97436 2006-09-10  Bruno Haible  <bruno@clisp.org>
97438         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
97439         m4/inttypes_h.m4, m4/uintmax_t.m4.
97441 2006-09-10  Bruno Haible  <bruno@clisp.org>
97443         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
97444         gl_AC_TYPE_UINTMAX_T.
97446 2006-09-10  Bruno Haible  <bruno@clisp.org>
97448         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
97450 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
97452         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
97453         convention.  Text proposed by Bruno Haible.
97454         (struct argp_option): Document the use of N_() wrappers.
97456         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
97457         '\v', and translate the two parts separately, instead of feeding
97458         the whole string to gettext.  This allows to exclude
97459         '\v' from the strings visible to the translator by writing doc
97460         strings as N_("..") "\v" N_("..").
97462 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
97464         * config/srclist.txt: Undo latest change; the bug was fixed.
97466 2006-09-09  Bruno Haible  <bruno@clisp.org>
97468         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
97469         assignments if building a library without libtool.
97470         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
97471         in func_emit_lib_Makefile_am.
97472         (func_import): When building a static library libfoo.a, arrange to
97473         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
97474         (func_create_testdir): Likewise.
97475         * modules/gc (configure.ac, Makefile.am): If building statically,
97476         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
97477         * modules/iconvme (configure.ac, Makefile.am): Likewise.
97478         * modules/striconv (configure.ac, Makefile.am): Likewise.
97479         Based on a suggestion by Ralf Wildenhues.
97481 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
97483         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
97484         Check for unistd.h too, since Autoconf doesn't assume POSIX.
97485         Also:
97487         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
97488         Add year_2050_test to catch glibc bug 2821
97489         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
97491         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
97492         Prefer #ifdef to #if.
97494         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
97495         Return from 'main' instead of calling 'exit'.
97497 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
97499         * lib/mktime.c (guess_time_tm): Fix bug where mktime
97500         returned the maximum time_t value rather than (time_t) -1.
97501         Problem originally reported by William Bardwell
97502         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
97504         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
97505         Moved to here ...
97506         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
97507         ... from here.
97509 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
97511         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
97512         2821 is fixed.
97514 2006-09-08  Jim Meyering  <jim@meyering.net>
97516         Don't make generated files read-only.  That would bother too many
97517         people.  However, do retain the ability to work when targets are
97518         read-only: remove the destination and temporary files before writing
97519         them (when generated via sed or echo), or by using the -f option for
97520         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
97521         * modules/alloca-opt, modules/argz, modules/arpa_inet:
97522         * modules/byteswap, modules/configmake, modules/fcntl:
97523         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
97524         * modules/localcharset, modules/netinet_in, modules/poll:
97525         * modules/stdbool, modules/stdint, modules/sys_select:
97526         * modules/sys_socket, modules/sys_stat, modules/sysexits:
97528 2006-09-08  Jim Meyering  <jim@meyering.net>
97530         Avoid new build failure on FreeBSD 6.0.
97531         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
97532         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
97533         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
97535 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
97537         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
97539 2006-09-07  Jim Meyering  <jim@meyering.net>
97541         Fix global typo in last change: use chmod u-w, not chmod u-x.
97542         Spotted by Paul Eggert and Bruce Korb.
97543         * modules/alloca-opt, modules/argz, modules/arpa_inet:
97544         * modules/byteswap, modules/configmake, modules/fcntl:
97545         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
97546         * modules/localcharset, modules/netinet_in, modules/poll:
97547         * modules/stdbool, modules/stdint, modules/sys_select:
97548         * modules/sys_socket, modules/sys_stat, modules/sysexits:
97550 2006-09-06  Jim Meyering  <jim@meyering.net>
97552         Make generated files be read-only.
97553         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
97554         Ensure that each generated file is now read-only.
97555         * modules/argz: Likewise.
97556         * modules/arpa_inet: Likewise.
97557         * modules/byteswap: Likewise.
97558         * modules/configmake: Likewise.
97559         * modules/fcntl: Likewise.
97560         * modules/fnmatch: Likewise.
97561         * modules/getopt: Likewise.
97562         * modules/glob: Likewise.
97563         * modules/inttypes: Likewise.
97564         * modules/netinet_in: Likewise.
97565         * modules/poll: Likewise.
97566         * modules/stdbool: Likewise.
97567         * modules/stdint: Likewise.
97568         * modules/sys_select: Likewise.
97569         * modules/sys_socket: Likewise.
97570         * modules/sys_stat: Likewise.
97571         * modules/sysexits: Likewise.
97572         * modules/localcharset: Same as above, but continue using temporary
97573         file named "t-$@" (why different?) rather than the "$@-t" used
97574         everywhere else.
97576         * modules/sysexits (Makefile.am): Replace literal occurrences
97577         of "sysexit.h" more readable, and more consistent, "$@".
97579 2006-09-06  Bruno Haible  <bruno@clisp.org>
97581         * modules/striconv: New file.
97582         * modules/xstriconv: New file.
97583         * MODULES.html.sh (Internationalization functions): Add striconv,
97584         xstriconv.
97586 2006-09-06  Bruno Haible  <bruno@clisp.org>
97588         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
97589         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
97590         not using libtool correctly.
97592 2006-09-06  Bruno Haible  <bruno@clisp.org>
97594         * lib/striconv.h: New file.
97595         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
97596         iconvstring.c.
97597         * lib/xstriconv.h: New file.
97598         * lib/xstriconv.c: New file.
97600 2006-09-06  Bruno Haible  <bruno@clisp.org>
97602         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
97603         lib_..._LDFLAGS.
97605 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
97607         * lib/argz_.h: Sync from Libtool.
97609         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
97610                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
97612         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
97614 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
97616         * modules/trim: New file.
97618 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
97620         * lib/trim.h: New file.
97621         * lib/trim.c: New file.
97623 2006-09-05  Bruno Haible  <bruno@clisp.org>
97625         * MODULES.html.sh (String handling): Add trim.
97627 2006-09-04  Karl Berry  <karl@gnu.org>
97629         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
97630         until next release.
97632 2006-09-03  Bruno Haible  <bruno@clisp.org>
97634         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
97635         correctly.
97637 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
97639         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
97640         not gl_GETLOADAVG.  Omit unneeded semicolons.
97641         Problems reported by Ralf Wildenhues in
97642         <http://lists.gnu.org/r/bug-gnulib/2006-09/msg00000.html>.
97643         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
97644         at the end, which is the usual gnulib style.
97646         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
97647         of doing all the work ourselves.
97648         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
97649         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
97651 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
97653         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
97654         Problem reported by Ralf Wildenhues in
97655         <http://lists.gnu.org/r/bug-gnulib/2006-09/msg00000.html>.
97657         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
97658         HAVE_STRUCT_STATFS_F_FSTYPENAME.
97660 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
97662         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
97663         yesterday's patch by changing test -n to test -z.
97665 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
97667         * modules/getloadavg (Files): Add m4/getloadavg.m4.
97668         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
97669         the former is now obsolescent.
97671         * modules/chdir-long (Depends-on): Add fcntl.
97673 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
97675         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
97676         obsolescent, and programs should use gnulib instead.
97677         * m4/getloadavg.m4: New file, with contents taken from Autoconf
97678         but with prefixes changed.
97680 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
97682         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
97683         or stdbool.h, because they might not exist while configuring.
97685         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
97686         Don't include unistd.h or limits.h; not needed, since chdir-long.h
97687         does that for us.
97688         (O_DIRECTORY): Remove.
97690 2006-08-31  Eric Blake  <ebb9@byu.net>
97692         * gnulib-tool: Don't let emacs change spaces to TAB.
97694 2006-08-31  Bruno Haible  <bruno@clisp.org>
97696         * gnulib-tool: When calling func_import more than once, do it in a
97697         subshell.
97698         Reported by Eric Blake <ebb9@byu.net>.
97700 2006-08-31  Bruno Haible  <bruno@clisp.org>
97702         * gnulib-tool (nl): Remove variable.
97703         (sed_transform_lib_file): Use more robust test for config-h module.
97704         (func_import): Fix typo in 2006-08-25 patch.
97706 2006-08-31  Bruno Haible  <bruno@clisp.org>
97708         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
97709         specified, augment Makefile.am variables instead of assigning them.
97711 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
97713         Work around a bug in both the Linux and SunOS 64-bit kernels:
97714         nanosleep mishandles sleeps for longer than 2**31 seconds.
97715         Problem reported by Frank v Waveren in
97716         <http://lists.gnu.org/r/bug-coreutils/2006-08/msg00298.html>.
97717         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
97718         Check for nanosleep bug.
97719         (LIB_NANOSLEEP): Append clock_gettime library if needed.
97721 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
97723         Work around a bug in both the Linux and SunOS 64-bit kernels:
97724         nanosleep mishandles sleeps for longer than 2**31 seconds.
97725         Problem reported by Frank v Waveren in
97726         <http://lists.gnu.org/r/bug-coreutils/2006-08/msg00298.html>.
97727         * lib/nanosleep.c (BILLION): New constant.
97728         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
97729         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
97730         implementation.
97732 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
97734         * modules/nanosleep (Depends-on): Add gettime.
97736 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
97737         and Simon Josefsson  <jas@extundo.com>
97738         and Oskar Liljeblad  <oskar@osk.mine.nu>
97740         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
97741         * gnulib-tool (func_import): New license type 'unmodifiable license
97742         text'.
97743         * modules/fdl: Use it.  Longer description.
97744         * module/gpl, module/lgpl: New files.
97746 2006-08-30  Jim Meyering  <jim@meyering.net>
97748         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
97749         shadowing the parameter.
97751 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
97753         Sync from Libtool:
97755         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
97757         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
97758         sharing with gnulib.  Report by Eric Blake.
97760 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
97762         * modules/isapipe: New file.
97763         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
97765 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
97767         * modules/configmake (Makefile.am): Add a comment, and omit
97768         the CONFIGMAKE_ prefix from generated macro names.  Suggested
97769         by Bruno Haible.
97771 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
97773         * m4/isapipe.m4: New file.
97775 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
97777         * lib/isapipe.c, lib/isapipe.h: New files.
97779 2006-08-29  Jim Meyering  <jim@meyering.net>
97781         * modules/configmake (Makefile.am): Make configmake.h depend on
97782         Makefile.  Otherwise, a stale configmake.h could hang around.
97784 2006-08-29  Eric Blake  <ebb9@byu.net>
97786         * lib/error.c (error_at_line, print_errno_message): Match libc, after
97787         resolution of upstream bug 3044.
97789 2006-08-29  Bruno Haible  <bruno@clisp.org>
97791         * modules/localcharset (Depends-on): Add configmake.
97792         (Makefile.am): Remove setting of LIBDIR through DEFS.
97794 2006-08-29  Bruno Haible  <bruno@clisp.org>
97796         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
97797         defined.
97799 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
97801         * modules/fcntl: New file.
97802         * modules/chdir-safer (Depends-on): Add fcntl.
97803         * modules/fts: Likewise.
97804         * modules/mkdir-p: Likewise.
97806         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
97807         This undoes the most recent change, since we're now addressing the
97808         problem in a different way.
97810         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
97811         into output, since the output might be called Makefile.am even
97812         if $makefile_name is something different.
97813         (func_import): Use $makefile_am rather than
97814         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
97815         empty.
97817         * modules/inttypes (Files): Add m4/inttypes-h.m4.
97819 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
97821         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
97822         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
97823         recent change to stdint.m4, since we're now addressing the problem in a
97824         different way.
97826 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
97828         * m4/fcntl_h.m4: New file.
97830 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
97832         * lib/fcntl_.h: New file.
97833         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
97834         the fcntl module.
97835         * lib/dirchownmod.c: Likewise.
97836         * lib/fts.c: Likewise.
97838         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
97839         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
97840         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
97841         just before including <inttypes.h>, to avoid circular inclusion.
97843 2006-08-28  Jim Meyering  <jim@meyering.net>
97845         * doc/visibility.texi: Actually read and correct the grammar of the
97846         sentence affected by yesterday's change.
97848 2006-08-28  Eric Blake  <ebb9@byu.net>
97850         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
97851         needs wrapper.
97853 2006-08-28  Eric Blake  <ebb9@byu.net>
97855         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
97857 2006-08-28  Eric Blake  <ebb9@byu.net>
97859         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
97861 2006-08-28  Bruno Haible  <bruno@clisp.org>
97863         * modules/c-strstr: New file, from GNU gettext.
97864         * MODULES.html.sh (String handling): Add c-strstr.
97866 2006-08-28  Bruno Haible  <bruno@clisp.org>
97868         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
97869         macros.
97870         Reported by Eric Blake.
97872 2006-08-28  Bruno Haible  <bruno@clisp.org>
97874         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
97875         (VASNPRINTF): Return a string of length > INT_MAX without failing.
97876         * lib/vasprintf.c: Include errno.h, limits.h.
97877         (EOVERFLOW): New fallback definition.
97878         (vasprintf): Test here whether the string length is > INT_MAX.
97879         * lib/vsnprintf.c: Include errno.h, limits.h.
97880         (EOVERFLOW): New fallback definition.
97881         (vsnprintf): Fix bug when generated string was too long for the buffer.
97882         Test here whether the string length is > INT_MAX.
97884 2006-08-28  Bruno Haible  <bruno@clisp.org>
97886         * lib/inttypes_.h (SCNX*): Remove definitions.
97887         Reported by Eric Blake.
97889 2006-08-28  Bruno Haible  <bruno@clisp.org>
97891         * lib/c-strstr.h: New file, from GNU gettext.
97892         * lib/c-strstr.c: New file, from GNU gettext.
97894 2006-08-28  Bruno Haible  <bruno@clisp.org>
97896         * gnulib-tool: Reorder some statements.
97898 2006-08-28  Bruno Haible  <bruno@clisp.org>
97900         * gnulib-tool: New option --makefile-name.
97901         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
97902         $makefile_name.
97903         (func_import): Write $makefile_name to the cache file, and read it from
97904         there unless explicitly specified. Use $makefile_name as file name
97905         instead of Makefile.am. Adjust the recommendations accordingly.
97907 2006-08-28  Bruno Haible  <bruno@clisp.org>
97909         * gnulib-tool (func_verify_module): Check against misapplying patch.
97911 2006-08-28  Bruno Haible  <bruno@clisp.org>
97913         * gnulib-tool (func_relativize, func_relconcat): New functions.
97914         Give an error if --local-dir is given with --update.
97915         Remove trailing slashes from $local_gnulib_dir.
97916         (func_import): Store the relativized $local_gnulib_dir in
97917         gnulib-cache.m4, and read it from there if not specified explicitly.
97919 2006-08-28  Bruno Haible  <bruno@clisp.org>
97921         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
97922         is the current directory. Respect also $local_gnulib_dir.
97924 2006-08-28  Bruno Haible  <bruno@clisp.org>
97925             Simon Josefsson  <jas@extundo.com>
97927         BeOS portability.
97928         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
97930 2006-08-27  Jim Meyering  <jim@meyering.net>
97932         * doc/visibility.texi: Remove duplicate word: "pointer".
97934 2006-08-26  Bruno Haible  <bruno@clisp.org>
97936         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
97937         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
97938         (Makefile.am): Create inttypes.h from inttypes_.h.
97939         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
97941         * modules/imaxabs: New file.
97943         * modules/imaxdiv: New file.
97945 2006-08-26  Bruno Haible  <bruno@clisp.org>
97947         * m4/inttypes.m4: New file.
97948         * m4/_inttypes_h.m4: Remove file.
97949         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
97950         PRI_MACROS_BROKEN.
97951         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
97953         * m4/imaxabs.m4: New file.
97955         * m4/imaxdiv.m4: New file.
97957 2006-08-26  Bruno Haible  <bruno@clisp.org>
97959         * lib/inttypes_.h: New file.
97960         * lib/inttypes.h: Remove file.
97961         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
97963         * lib/imaxabs.c: New file.
97965         * lib/imaxdiv.c: New file.
97967 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
97969         New config-h module, so that "make" output needn't be cluttered
97970         by -DHAVE_CONFIG_H.
97971         * MODULES.html.sh (Support for building libraries and executables):
97972         Add config-h.
97973         * modules/config-h: New file.
97974         * gnulib-tool (nl, sed_transform_lib_file): New vars.
97975         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
97976         the config-h module is used.
97978         New configmake module, so that "make" output needn't be cluttered
97979         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
97980         * MODULES.html.sh (Support for building libraries and executables):
97981         Add configmake.
97982         * modules/configmake: New file.
97984 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
97986         * m4/config-h.m4: New file.
97988 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
97990         * config/srclist.txt: Add elisp-comp.
97992 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
97994         * MODULES.html.sh (Support for building libraries and executables):
97995         Add elisp-comp.
97996         * build-aux/elisp-comp: New file.
97997         * modules/elisp-comp: New file.
97999 2006-08-24  Bruno Haible  <bruno@clisp.org>
98001         * gnulib-tool (func_create_testdir): Use non-default values of
98002         sourcebase and m4base.
98004 2006-08-24  Bruno Haible  <bruno@clisp.org>
98006         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
98007         HTML structure.
98009 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
98011         * modules/openat (Depends-on): Add lchown.
98013 2006-08-23  Bruno Haible  <bruno@clisp.org>
98015         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
98016         of gl_LOCK_EARLY instead of gl_LOCK.
98018 2006-08-23  Bruno Haible  <bruno@clisp.org>
98020         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
98021         on OSF/1 to no.
98022         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
98024 2006-08-23  Bruno Haible  <bruno@clisp.org>
98026         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
98027         as unusable.
98029         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
98030         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
98031         (gl_LOCK): New macro.
98033 2006-08-22  Simon Josefsson  <jas@extundo.com>
98035         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
98036         to md5 module.
98038 2006-08-22  Simon Josefsson  <jas@extundo.com>
98040         * MODULES.html.sh: Add "Support for maintaining and release
98041         projects".
98043         * build-aux/gnupload: New file, from coreutils.
98045 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
98047         Avoid the need for AC_LIBSOURCES in m4 macros.
98048         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
98049         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
98050         * modules/check-version (EXTRA_DIST): Add check-version.h.
98051         * modules/crc (EXTRA_DIST): Add crc.h.
98052         * modules/des (EXTRA_DIST): Add des.h.
98053         * modules/gc (EXTRA_DIST): Add gc.h.
98054         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
98055         * modules/getline (EXTRA_DIST): Add getline.h.
98056         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
98057         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
98058         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
98059         * modules/md2 (EXTRA_DIST): Add md2.h.
98060         * modules/md4 (EXTRA_DIST): Add md4.h.
98061         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
98062         * modules/read-file (EXTRA_DIST): Add read-file.h.
98063         * modules/readline (EXTRA_DIST): Add readline.h.
98064         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
98065         rijndael-api-fst.h.
98067 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
98069         * m4/rijndael.m4 (gl_ARCFOUR):
98070         * m4/arctwo.m4 (gl_ARCTWO):
98071         * m4/check-version.m4 (gl_CHECK_VERSION):
98072         * m4/crc.m4 (gl_CRC):
98073         * m4/des.m4 (gl_DES):
98074         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
98075         * m4/gc.m4 (gl_GC):
98076         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
98077         * m4/getline.m4 (gl_FUNC_GETLINE):
98078         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
98079         * m4/hmac-md5.m4 (gl_HMAC_MD5):
98080         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
98081         * m4/md2.m4 (gl_MD2):
98082         * m4/md4.m4 (gl_MD4):
98083         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
98084         * m4/read-file.m4 (gl_FUNC_READ_FILE):
98085         * m4/readline.m4 (gl_FUNC_READLINE):
98086         * m4/rijndael.m4 (gl_RIJNDAEL):
98087         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
98088         to get the necessary .h files and whatnot.
98090 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
98092         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
98093         gnulib rather than the other way around.
98094         * config/srclistvars.sh (COREUTILS): Remove.
98096 2006-08-22  Jim Meyering  <jim@meyering.net>
98098         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
98100         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
98102 2006-08-22  Eric Blake  <ebb9@byu.net>
98104         * modules/regexprops-generic: New file.
98105         * MODULES.html.sh (Support for building documentation): List it.
98107 2006-08-22  Eric Blake  <ebb9@byu.net>
98109         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
98110         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
98111         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
98112         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
98114 2006-08-22  Bruno Haible  <bruno@clisp.org>
98116         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
98117         and lib_LTLIBRARIES like the other lib_* variables.
98119 2006-08-22  Bruno Haible  <bruno@clisp.org>
98121         * build-aux/x-to-1.in: New file, from GNU gettext.
98123 2006-08-22  Bruno Haible  <bruno@clisp.org>
98125         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
98126         <utmpx.h> exists.
98128 2006-08-22  Bruno Haible  <bruno@clisp.org>
98130         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
98131         <utmpx.h> exists.
98133 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
98135         BeOS portability.
98136         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
98137         exist.
98138         Problem reported by Bruno Haible.
98140 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
98142         Avoid the need for AC_LIBSOURCES in m4 macros.
98143         * modules/acl (EXTRA_DIST): Add acl.h.
98144         * modules/argmatch (Files): Add m4/argmatch.m4.
98145         (configure.ac): Add gl_ARGMATCH.
98146         (EXTRA_DIST): Renamed from lib_SOURCES, for
98147         consistency with the other modules.  Remove argmatch.c.
98148         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
98149         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
98150         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
98151         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
98152         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
98153         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
98154         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
98155         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
98156         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
98157         * modules/closeout (EXTRA_DIST): Add closeout.h.
98158         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
98159         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
98160         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
98161         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
98162         dirname.h; remove basename.c and stripslash.c.
98163         * modules/exclude (EXTRA_DIST): Add exclude.h.
98164         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
98165         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
98166         * modules/file-type (EXTRA_DIST): Add file-type.h.
98167         * modules/filemode (EXTRA_DIST): Add filemode.h.
98168         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
98169         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
98170         * modules/fpending (EXTRA_DIST): Add __fpending.h.
98171         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
98172         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
98173         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
98174         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
98175         * modules/getdate (EXTRA_DIST): Add getdate.c.
98176         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
98177         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
98178         * modules/getpass (EXTRA_DIST): Add getpass.h.
98179         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
98180         * modules/group-member (EXTRA_DIST): Add group-member.h.
98181         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
98182         * modules/hash (EXTRA_DIST): Add hash.h.
98183         * modules/human (EXTRA_DIST): Add human.h.
98184         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
98185         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
98186         * modules/lchown (EXTRA_DIST): Add lchown.h.
98187         * modules/long-options (EXTRA_DIST): Add long-options.h.
98188         * modules/lstat (EXTRA_DIST): Add lstat.h.
98189         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
98190         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
98191         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
98192         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
98193         * modules/memxor (EXTRA_DIST): Add memxor.h.
98194         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
98195         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
98196         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
98197         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
98198         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
98199         * modules/physmem (EXTRA_DIST): Add physmem.h.
98200         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
98201         * modules/posixver (EXTRA_DIST): Add posixver.h.
98202         * modules/quote (EXTRA_DIST): Add quote.h.
98203         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
98204         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
98205         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
98206         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
98207         regex_internal.h regexec.c.
98208         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
98209         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
98210         * modules/same (EXTRA_DIST): Add same.h.
98211         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
98212         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
98213         * modules/savedir (EXTRA_DIST): Add savedir.h.
98214         * modules/sha1 (EXTRA_DIST): Add sha1.h.
98215         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
98216         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
98217         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
98218         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
98219         * modules/strdup (EXTRA_DIST): Add strdup.h.
98220         * modules/strftime (EXTRA_DIST): Add strftime.h.
98221         * modules/strndup (EXTRA_DIST): Add strndup.h.
98222         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
98223         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
98224         * modules/time_r (EXTRA_DIST): Add time_r.h.
98225         * modules/timespec (EXTRA_DIST): Add timespec.h.
98226         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
98227         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
98228         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
98229         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
98230         * modules/userspec (EXTRA_DIST): Add userspec.h.
98231         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
98232         * modules/utimens (EXTRA_DIST): Add utimens.h.
98233         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
98234         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
98235         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
98236         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
98237         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
98238         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
98239         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
98240         * modules/yesno (EXTRA_DIST): Add yesno.h.
98242 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
98244         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
98246         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
98247         * m4/dev-ino.m4, same-inode.m4: Remove.
98249         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
98250         * m4/acl.m4 (AC_FUNC_ACL):
98251         * m4/backupfile.m4 (gl_BACKUPFILE):
98252         * m4/c-strtod.m4 (gl_C99_STRTOLD):
98253         * m4/canon-host.m4 (gl_CANON_HOST):
98254         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
98255         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
98256         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
98257         * m4/cloexec.m4 (gl_CLOEXEC):
98258         * m4/close-stream.m4 (gl_CLOSE_STREAM):
98259         * m4/closeout.m4 (gl_CLOSEOUT):
98260         * m4/dirfd.m4 (gl_FUNC_DIRFD):
98261         * m4/dirname.m4 (gl_DIRNAME):
98262         * m4/exclude.m4 (gl_EXCLUDE):
98263         * m4/exitfail.m4 (gl_EXITFAIL):
98264         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
98265         * m4/file-type.m4 (gl_FILE_TYPE):
98266         * m4/filemode.m4 (gl_FILEMODE):
98267         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
98268         * m4/fpending.m4 (gl_FUNC_FPENDING):
98269         * m4/fprintftime.m4 (gl_FPRINTFTIME):
98270         * m4/fts.m4 (gl_FUNC_FTS):
98271         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
98272         * m4/getdate.m4 (gl_GETDATE):
98273         * m4/gethrxtime.m4 (gl_GETHRXTIME):
98274         * m4/getpagesize.m4 (gl_GETPAGESIZE):
98275         * m4/getpass.m4 (gl_FUNC_GETPASS):
98276         * m4/gettime.m4 (gl_GETTIME):
98277         * m4/getugroups.m4 (gl_GETUGROUPS):
98278         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
98279         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
98280         * m4/hard-locale.m4 (gl_HARD_LOCALE):
98281         * m4/hash.m4 (gl_HASH):
98282         * m4/idcache.m4 (gl_IDCACHE):
98283         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
98284         * m4/lchown.m4 (gl_FUNC_LCHOWN):
98285         * m4/long-options.m4 (gl_LONG_OPTIONS):
98286         * m4/lstat.m4 (gl_FUNC_LSTAT):
98287         * m4/md5.m4 (gl_MD5):
98288         * m4/memcasecmp.m4 (gl_MEMCASECMP):
98289         * m4/memcoll.m4 (gl_MEMCOLL):
98290         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
98291         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
98292         * m4/memxor.m4 (gl_MEMXOR):
98293         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
98294         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
98295         * m4/modechange.m4 (gl_MODECHANGE):
98296         * m4/mountlist.m4 (gl_MOUNTLIST):
98297         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
98298         * m4/openat.m4 (gl_FUNC_OPENAT):
98299         * m4/pathmax.m4 (gl_PATHMAX):
98300         * m4/physmem.m4 (gl_PHYSMEM):
98301         * m4/posixtm.m4 (gl_POSIXTM):
98302         * m4/posixver.m4 (gl_POSIXVER):
98303         * m4/quote.m4 (gl_QUOTE):
98304         * m4/quotearg.m4 (gl_QUOTEARG):
98305         * m4/readtokens.m4 (gl_READTOKENS):
98306         * m4/readutmp.m4 (gl_READUTMP):
98307         * m4/regex.m4 (gl_REGEX):
98308         * m4/safe-read.m4 (gl_SAFE_READ):
98309         * m4/safe-write.m4 (gl_SAFE_WRITE):
98310         * m4/same.m4 (gl_SAME):
98311         * m4/save-cwd.m4 (gl_SAVE_CWD):
98312         * m4/savedir.m4 (gl_SAVEDIR):
98313         * m4/settime.m4 (gl_SETTIME):
98314         * m4/sha1.m4 (gl_SHA1):
98315         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
98316         * m4/stat-macros.m4 (gl_STAT_MACROS):
98317         * m4/stat-time.m4 (gl_STAT_TIME):
98318         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
98319         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
98320         * m4/strdup.m4 (gl_FUNC_STRDUP):
98321         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
98322         * m4/strndup.m4 (gl_FUNC_STRNDUP):
98323         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
98324         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
98325         * m4/time_r.m4 (gl_TIME_R):
98326         * m4/timespec.m4 (gl_TIMESPEC):
98327         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
98328         * m4/unlinkdir.m4 (gl_UNLINKDIR):
98329         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
98330         * m4/userspec.m4 (gl_USERSPEC):
98331         * m4/utimecmp.m4 (gl_UTIMECMP):
98332         * m4/utimens.m4 (gl_UTIMENS):
98333         * m4/xalloc.m4 (gl_XALLOC):
98334         * m4/xgetcwd.m4 (gl_XGETCWD):
98335         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
98336         * m4/xreadlink.m4 (gl_XREADLINK):
98337         * m4/xstrtod.m4 (gl_XSTRTOD):
98338         * m4/yesno.m4 (gl_YESNO):
98339         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
98340         to get the necessary .h files and whatnot.
98342 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
98343             Bruno Haible  <bruno@clisp.org>
98345         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
98346         /bin/sh understanding of '!' conditional negation.
98348 2006-08-21  Jim Meyering  <jim@meyering.net>
98350         * modules/openat (Depends-on): Really alphabetize.
98352         * modules/acl (Depends-on): Add error and quote.
98354         * check-module (find_included_lib_files): Add at-func.c to the
98355         ok-to-include-more-than-once white list.
98357         * modules/openat (Depends-on): Add lstat.  Alphabetize.
98359 2006-08-21  Bruno Haible  <bruno@clisp.org>
98361         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
98362         Emit a pkgdata_DATA variable only if some snippets add contents to it.
98363         Reported by Martin Lambers <marlam@marlam.de>.
98365 2006-08-21  Bruno Haible  <bruno@clisp.org>
98367         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
98368         specify an installation location, don't emit a noinst_LIBRARIES or
98369         noinst_LTLIBRARIES assignment.
98371 2006-08-21  Bruno Haible  <bruno@clisp.org>
98373         BeOS portability.
98374         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
98375         BeOS has mbrtowc() but no <wctype.h>.
98377 2006-08-21  Bruno Haible  <bruno@clisp.org>
98379         BeOS portability.
98380         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
98381         exist.
98383 2006-08-21  Bruno Haible  <bruno@clisp.org>
98385         BeOS portability.
98386         * lib/mbchar.h: Include <wctype.h> only if it exists.
98388 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
98390         Remove files that are no longer needed by their respective modules.
98391         * m4/obstack.m4: Remove.
98392         * m4/strerror_r.m4: Remove.
98393         * m4/uint32_t.m4: Remove.
98394         * m4/uintptr_t.m4: Remove.
98395         * m4/ullong_max.m4: Remove.
98396         * m4/xstrtoimax.m4: Remove.
98397         * m4/xstrtoumax.m4: Remove.
98399         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
98400         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
98401         dependencies now capture this.
98403         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
98404         Do not use AC_LIBSOURCES, since gnulib modules now do this.
98405         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
98406         * m4/human.m4 (gl_HUMAN): Likewise.
98407         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
98408         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
98410         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
98412         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
98413         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
98414         stdint.
98415         * m4/human.m4 (gl_HUMAN): Likewise.
98416         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
98417         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
98418         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
98419         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
98420         * m4/xstrtol (gl_XSTRTOL): Likewise.
98422         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
98423         AC_TYPE_LONG_LONG_INT.
98424         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
98425         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
98426         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
98427         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
98429         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
98430         on stdbool.
98432         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
98433         (gl_PREREQ_XSTRTOUL): Remove.
98435         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
98437         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
98438         mode.
98440 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
98442         Add and change modules to make it easier for coreutils to use
98443         gnulib-tool.
98444         * modules/backupfile (Files): Remove m4/d-ino.m4.
98445         (Depends-on): Add d-ino.
98446         * modules/cycle-check (Depends-on): Add stdint.
98447         (lib_SOURCES): Add cycle-check.h.
98448         * modules/d-ino: New module.
98449         * modules/d-type: New module.
98450         * modules/error (Files): Remove m4/strerror_r.m4.
98451         * modules/filemode (Files): Add m4/st_dm_mode.m4.
98452         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
98453         m4/inttypes_h.m4, m4/uintmax_t.m4.
98454         (Depends-on): Add stdint.
98455         (lib_SOURCES): Add fsusage.h.
98456         * modules/getcwd (Files): Remove d-ino.m4.
98457         (Depends-on): Add d-ino.
98458         * modules/getndelim2 (Depends-on): Add stdint.
98459         * modules/glob (Files): Remove m4/d-type.m4.
98460         (Depends-on): Add d-type.
98461         * modules/host-os: New module.
98462         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
98463         m4/inttypes_h.m4, m4/uintmax_t.m4.
98464         * Depends-on: Add stdint.
98465         (lib_SOURCES): Add human.h.
98466         * modules/inttostr (Files): Remove m4/intmax_t.m4,
98467         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
98468         m4/uintmax_t.m4, m4/ulonglong.m4.
98469         (Depends-on): Add stdint.
98470         (EXTRA_DIST): Add inttostr.h.
98471         * modules/lchmod: New module.
98472         * modules/link-follow: New module.
98473         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
98474         (Depends-on): Add lchmod.
98475         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
98476         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
98477         (Depends-on): Add stdint.
98478         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
98479         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
98480         (Depends-on): Add stdint.
98481         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
98482         * modules/perl: New module.
98483         * modules/regex (Depends-on): Add stdint.
98484         * modules/rmdir-errno: New module.
98485         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
98486         m4/intmax_t.m4.
98487         (Depends-on): Add stdint.
98488         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
98489         m4/uintmax_t.m4.
98490         (Depends-on): Add stdint.
98491         * modules/unlink-busy: New module.
98492         * modules/utimecmp (Depends-on): Add stdint.
98493         * modules/uptime: New module.
98494         * modules/winsz-ioctl: New module.
98495         * modules/winsz-termios: New module.
98496         * modules/xnanosleep (Depends-on): Add nanosleep.
98497         * modules/ullong_max: Remove.
98498         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
98499         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
98500         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
98501         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
98502         (Depends-on): Add inttypes.
98503         (lib_SOURCES): Add xstrtol.h.
98504         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
98505         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
98506         * MODULES.html.sh: Move 'assert' into the assert section.
98507         Move 'dummy' into the linking section.
98508         Remove ullong_max.
98509         Add section for compatibility checks for POSIX:2001 functions,
98510         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
98511         winsz-ioctl, and winsz-termios into it.
98512         Add lchmod.
98513         Add top-level Misc section and put host-os, perl, and uptime
98514         into it.
98516 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
98518         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
98519         now assume the stdint module.  Do not include inttypes.h.
98520         * lib/fsusage.h: Likewise.
98521         * lib/getndelim2.c: Likewise.
98522         * lib/human.h: Likewise.
98523         * lib/inttostr.h: Likewise.
98524         * lib/obstack.c: Likewise.
98525         * lib/regex_internal.h: Likewise.
98526         * lib/tempname.c: Likewise.
98527         * lib/utimecmp.c: Likewise.
98528         * lib/xstrtol.h: Likewise.
98530         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
98532         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
98533         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
98534         * lib/xtime.h: Likewise.
98536 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
98538         * modules/openat (Files): Add lib/fchmodat.c.
98539         Fixes problem reported by Jay Youngman.
98541 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
98543         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
98544         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
98546 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
98547             Bruno Haible  <bruno@clisp.org>
98549         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
98550         and is a script that invokes bison. Tighten the code. Add comments.
98552 2006-08-18  Jim Meyering  <jim@meyering.net>
98554         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
98555         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
98556         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
98557         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
98559 2006-08-18  Bruno Haible  <bruno@clisp.org>
98561         * modules/bison-i18n: New file.
98562         * MODULES.html.sh (Internationalization functions): Add it.
98564 2006-08-18  Bruno Haible  <bruno@clisp.org>
98566         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
98567         sys/statvfs.h. When getmntinfo was found, check its declaration and
98568         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
98570 2006-08-18  Bruno Haible  <bruno@clisp.org>
98572         * m4/bison-i18n.m4: New file, from bison.
98574 2006-08-18  Bruno Haible  <bruno@clisp.org>
98576         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
98577         (ME_DUMMY): Treat "kernfs" as a dummy.
98578         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
98580 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
98582         Update from coreutils.
98584         2006-08-15  Jim Meyering  <jim@meyering.net>
98586         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
98588         2006-01-17  Jim Meyering  <jim@meyering.net>
98590         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
98592         2006-01-11  Jim Meyering  <jim@meyering.net>
98594         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
98595         Check for the lchmod function.
98597 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
98599         Update from coreutils.
98601         * lib/__fpending.h: Add copyright notice.
98602         * lib/fprintftime.h: Likewise.
98603         * lib/savedir.c: Use (C) in copyright notice.
98604         * lib/savedir.h: Likewise.
98606         2006-08-15  Jim Meyering  <jim@meyering.net>
98608         * lib/at-func.c: New file, with the logic of all emulated at-functions.
98609         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
98610         in support of the EXPECTED_ERRNO macro.
98611         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
98612         definitions.  Instead, define the appropriate symbols and include
98613         "at-func.c".
98614         * lib/mkdirat.c (mkdirat): Likewise.
98615         * lib/fchmodat.c (fchmodat): Likewise.
98616         (ENOSYS): Remove definition.
98617         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
98618         it.  Don't include "unistd--.h" -- it wasn't ever used.
98620         2006-01-17  Jim Meyering  <jim@meyering.net>
98622         Rewrite fts.c not to change the current working directory,
98623         by using openat, fstatat, fdopendir, etc..
98625         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
98626         (HAVE_OPENAT_SUPPORT): Define.
98627         [_LIBC] (fchdir): Don't undef or define; no longer used.
98628         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
98629         Now, this `function' always succeeds, and consumes its file descriptor
98630         parameter -- so callers must not close such FDs.  Update callers.
98631         (diropen_fd, opendirat, cwd_advance_fd): New functions.
98632         (diropen): Add parameter, SP.  Adjust all callers.
98633         Implement using diropen_fd, rather than open.
98634         (fts_open): Initialize new member, fts_cwd_fd.
98635         Remove fts_rft-setting code.
98636         (fts_close): Close fts_cwd_fd, if necessary.
98637         (__opendir2): Define in terms of opendir or opendirat,
98638         depending on whether the FST_NOCHDIR flag is set.
98639         (fts_build): Since fts_safe_changedir consumes its FD, and since
98640         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
98641         and close the dup'd file descriptor upon failure.
98642         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
98643         (fts_safe_changedir): Tweak semantics to reflect that this function
98644         now calls cwd_advance_fd and hence consumes its FD argument.
98645         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
98646         [struct FTS] (fts_rft): Remove now-unused member.
98647         [struct FTS] (fts_cycle.state): Improve comment.
98649         * lib/openat.c (openat_needs_fchdir): New function.
98650         * lib/openat.h (openat_needs_fchdir): Declare it.
98652 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
98654         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
98655         Problem and fix reported by Pádraig Brady in
98656         <http://lists.gnu.org/r/bug-coreutils/2006-08/msg00099.html>.
98658 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
98660         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
98662 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
98664         * lib/memcoll.c (memcoll): Optimize for the common case where the
98665         arguments are bytewise equal.
98667 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
98669         * doc/regexprops-generic.texi: Add a copyright notice.
98671 2006-08-15  Bruno Haible  <bruno@clisp.org>
98673         * modules/tmpdir (License): Change to LGPL.
98675 2006-08-15  Bruno Haible  <bruno@clisp.org>
98677         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
98678         module.
98680 2006-08-14  Simon Josefsson  <jas@extundo.com>
98682         * config/srclist.txt: Add gnupload.
98684 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
98686         Change copyright notice from LGPL 2 to GPL 2, since that's the
98687         standard form used in the gnulib repository.
98688         * tests/test-lock.c: Likewise.
98689         * tests/test-stdint.c: Likewise.
98690         * tests/test-tls.c: Likewise.
98692         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
98693         prelude-manager.  User shorter URLs for GNU projects, without '?'.
98694         Add copyright notice.
98696         * check-module: Add copyright notice.  Output a copyright
98697         notice if "--version" is specified.
98698         * modules/COPYING: New file.
98699         * tests/test-getaddrinfo.c: Add copyright notice.
98700         * tests/test-verify.c: Likewise.
98702 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
98704         Change copyright notice from LGPL 2 to GPL 2, since that's the
98705         standard form used in the gnulib repository.
98706         * lib/lock.c: LGPL -> GPL.
98707         * lib/lock.h: Likewise.
98708         * lib/strnlen1.c: Likewise.
98709         * lib/strnlen1.h: Likewise.
98710         * lib/tls.c: Likewise.
98711         * lib/tls.h: Likewise.
98712         * lib/tmpdir.c: Likewise.
98714         * lib/TODO: Remove; this belongs only in coreutils.
98716 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
98718         Add copyright notices to long-enough files that lack them, since
98719         otherwise the files aren't clearly free.  Use the same notice that
98720         getdate.texi already uses.
98721         * doc/alloca-opt.texi: Add copyright notice.
98722         * doc/alloca.texi: Likewise.
98723         * doc/ctime.texi: Likewise.
98724         * doc/functions.texi: Likewise.
98725         * doc/gcd.texi: Likewise.
98726         * doc/gnulib-tool.texi: Likewise.
98727         * doc/inet_ntoa.texi: Likewise.
98728         * doc/visibility.texi: Likewise.
98730         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
98731         * doc/quote.texi: Add copyright notice.
98733         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
98734         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
98735         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
98736         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
98737         is now obsolete, and give a pointer to the Sun list.
98738         Add copyright notice.
98740 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
98742         * config/srclistvars.sh: Add copyright notice.
98744 2006-08-14  Eric Blake  <ebb9@byu.net>
98746         Import the following change from libc:
98748         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
98750         Upstream bug 2997.
98751         * lib/misc/error.c: Add space between program name and message if file
98752         name is missing.
98754 2006-08-12  Karl Berry  <karl@gnu.org>
98756         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
98757         remove, these originate in gnulib now.
98759 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
98761         * doc/Makefile (standards.info standards.html standards.dvi):
98762         Also depend on make-stds.texi.
98764 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
98766         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
98767         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
98769         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
98770         in wchar_t.  Problem reported by Eric Blake.
98772         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
98773         LEN is smaller than SIZE.  Suggested by Bruno Haible.
98774         Also, help the compiler to keep LEN in a register.
98776 2006-08-11  Eric Blake  <ebb9@byu.net>
98778         * users.txt: Sort.  Add tar.
98780 2006-08-11  Bruno Haible  <bruno@clisp.org>
98782         * users.txt: New file.
98784 2006-08-11  Bruno Haible  <bruno@clisp.org>
98786         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
98787         before <wchar.h>. Needed for OSF/1 and BSD/OS.
98789 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
98791         * modules/snprintf (Depends-on): Remove minmax.
98792         (Maintainer): Add self and Bruno.
98794 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
98796         * lib/.cppi-disable: Add snprintf.h, socket_.h.
98797         * lib/snprintf.c: Include <errno.h> and <limits.h>.
98798         (EOVERFLOW): Define if the system does not.
98799         Do not include "minmax.h"; it wasn't used.
98800         (snprintf): Don't assume size_t promotes to an unsigned type.
98801         Fix bug when generated string was too long for the buffer: the
98802         buffer's contents are supposed to be the initial prefix of the
98803         output.  Don't assume vasnprintf returns EOVERFLOW if the size
98804         exceeds INT_MAX; do the check ourselves.
98806         Import the following changes from libc:
98808         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
98810         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
98811         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
98812         set wc to the byte which couldn't be converted.
98813         (re_string_reconstruct): Don't clear valid_raw_len before calling
98814         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
98815         tip_context using re_string_context_at.
98817         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
98819         * lib/posix/regex.h: g++ still cannot handled [restrict].
98821         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
98823         * lib/posix/regex.h: Remove special handling for VMS.
98825 2006-08-10  Jim Meyering  <jim@meyering.net>
98827         * modules/same-inode: New module.
98828         * modules/dev-ino: New module.
98829         * modules/cycle-check: Depend on these modules, rather than simply
98830         including their .h files.
98831         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
98832         required via m4/cycle-check.m4.
98833         * modules/same: Depend on new same-inode module, rather than
98834         including same-inode.h.
98835         * modules/chdir-safer: New file.
98837         * modules/chown (Depends-on): Add stat-macros.
98839 2006-08-10  Jim Meyering  <jim@meyering.net>
98841         * m4/cycle-check.m4: New file.
98842         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
98843         * m4/dev-ino.m4, m4/same-inode.m4: New files.
98845 2006-08-10  Eric Blake  <ebb9@byu.net>
98847         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
98848         in from original proposal.
98850 2006-08-10  Eric Blake  <ebb9@byu.net>
98851         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
98853         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
98854         namespace.
98856 2006-08-10  Bruno Haible  <bruno@clisp.org>
98858         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
98859         as well.
98861 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
98863         Sync from coreutils.
98865         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
98867         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
98868         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
98870 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
98872         * modules/restrict: Remove; no longer needed now that we assume
98873         Autoconf 2.59 or later.
98874         * MODULES.html.sh: Remove 'restrict'.
98875         * modules/argp (Depends-on): Remove 'restrict'.
98876         * modules/base64 (Depends-on): Likewise.
98877         * modules/gc (Depends-on): Likewise.
98878         * modules/getaddrinfo (Depends-on): Likewise.
98879         * modules/glob (Depends-on): Likewise.
98880         * modules/inet_ntop (Depends-on): Likewise.
98881         * modules/inet_pton (Depends-on): Likewise.
98882         * modules/memxor (Depends-on): Likewise.
98883         * modules/regex (Depends-on): Likewise.
98884         * modules/strtok_r (Depends-on): Likewise.
98885         * modules/time_r (Depends-on): Likewise.
98887 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
98889         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
98890         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
98891         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
98892         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
98893         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
98894         * m4/memxor.m4 (gl_MEMXOR): Likewise.
98895         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
98896         gl_C_RESTRICT replaced by AC_C_RESTRICT.
98898         Merge from coreutils.
98899         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
98900         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
98901         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
98902         * m4/time_r.m4 (gl_TIME_R): Likewise.
98904 2006-08-09  Karl Berry  <karl@gnu.org>
98906         * config/srclist.txt: no more gettext-tools, per Bruno.
98908 2006-08-08  Eric Blake  <ebb9@byu.net>
98910         * modules/verror: New module.
98911         * MODULES.html.sh: Document it.
98913 2006-08-08  Eric Blake  <ebb9@byu.net>
98915         * lib/verror.h, lib/verror.c: New files.
98917 2006-08-08  Eric Blake  <ebb9@byu.net>
98919         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
98920         verror_at_line output complies with GNU Coding Standards even when
98921         file is NULL.
98923 2006-08-07  Bruno Haible  <bruno@clisp.org>
98925         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
98926         versions of AIX.
98927         Reported by Ralf Wildenhues.
98929 2006-08-07  Bruno Haible  <bruno@clisp.org>
98931         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
98932         in an AC_DEFUN. Needed so that the autoconf snippets can use
98933         AC_REQUIRE.
98935 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
98937         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
98938         Initialize pkgdata_DATA.
98939         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
98940         overriding it.
98942 2006-08-06  Eric Blake  <ebb9@byu.net>
98944         * lib/error.h: Fold in some upstream changes from glibc.
98945         * lib/error.c: Likewise.
98947 2006-08-04  Bruno Haible  <bruno@clisp.org>
98949         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
98950         Make the mostlyclean-local rule depend on mostlyclean-generic.
98951         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
98953 2006-07-31  Bruno Haible  <bruno@clisp.org>
98955         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
98956         <stdlib.h>, <string.h>.
98958 2006-07-30  Bruno Haible  <bruno@clisp.org>
98960         * modules/readlink (License): Change to LGPL.
98962 2006-07-30  Bruno Haible  <bruno@clisp.org>
98964         * modules/javaversion (Makefile.am): Distribute javaversion.java and
98965         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
98966         set PKGDATADIR to point to it.
98968 2006-07-30  Bruno Haible  <bruno@clisp.org>
98970         * modules/csharpexec (configure.ac): Comment out macro invocation.
98971         * modules/javaexec (configure.ac): Likewise.
98972         * modules/javacomp-script (configure.ac): Likewise.
98974         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
98976 2006-07-30  Bruno Haible  <bruno@clisp.org>
98978         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
98979         linked-list.
98981 2006-07-30  Bruno Haible  <bruno@clisp.org>
98983         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
98985 2006-07-30  Bruno Haible  <bruno@clisp.org>
98987         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
98988         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
98989         get removed.
98991 2006-07-29  Bruno Haible  <bruno@clisp.org>
98993         Make it possible for gnulib-tool to work with locally modified or
98994         augmented gnulib repositories.
98995         * gnulib-tool (func_usage): Document --local-dir option.
98996         (local_gnulib_dir): New variable.
98997         Handle --local-dir option.
98998         (func_lookup_file): New function.
98999         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
99000         (func_get_description, func_get_filelist, func_get_description,
99001         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
99002         func_get_automake_snippet, func_get_include_directive,
99003         func_get_license, func_get_maintainer): Use func_lookup_file.
99004         (func_import, func_create_testdir): Use func_lookup_file.
99006 2006-07-29  Bruno Haible  <bruno@clisp.org>
99008         * modules/setenv (Depends-on): Add unistd.
99010 2006-07-29  Bruno Haible  <bruno@clisp.org>
99012         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
99014 2006-07-29  Bruno Haible  <bruno@clisp.org>
99016         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
99018 2006-07-29  Bruno Haible  <bruno@clisp.org>
99020         * gnulib-tool (import, update): If there is no Makefile.am, look at
99021         aclocal.m4, instead of bailing out.
99023 2006-07-29  Bruno Haible  <bruno@clisp.org>
99025         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
99026         Categorize the options by when they are useful.
99028 2006-07-29  Bruno Haible  <bruno@clisp.org>
99030         * gnulib-tool (func_usage): Document option --no-libtool.
99031         Handle option --no-libtool.
99032         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
99033         for changed semantics of $libtool variable.
99034         (func_import): Likewise. If libtool is not used, show this through
99035         an option --no-libtool.
99036         (func_create_testdir): Update.
99038 2006-07-29  Bruno Haible  <bruno@clisp.org>
99040         * gnulib-tool (func_import): Extend error message about missing
99041         --doc-base.
99043 2006-07-29  Bruno Haible  <bruno@clisp.org>
99045         * gnulib-tool (func_import): Don't create the $docbase directory if
99046         there is no file to store there.
99048 2006-07-29  Bruno Haible  <bruno@clisp.org>
99050         * gnulib-tool (autoconf_minversion): If a --dir option is given and
99051         relevant, look for configure.ac there, not in the current directory.
99052         Also use a simple search for AC_PREREQ, not "autoconf --trace".
99054 2006-07-29  Bruno Haible  <bruno@clisp.org>
99056         * gnulib-tool (SORT): New variable.
99057         (func_usage): Undocument --assume-autoconf option.
99058         Remove --assume-autoconf option handling.
99059         (autoconf_minversion): Determine from the contents of configure.ac.
99060         (func_import): Remove autoconf_minversion handling.
99061         Suggested by Eric Blake.
99063 2006-07-29  Bruno Haible  <bruno@clisp.org>
99065         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
99067 2006-07-29  Bruno Haible  <bruno@clisp.org>
99069         * config/srclist.txt (*setenv.[ch]): Remove rules.
99071 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
99073         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
99075 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
99077         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
99078         arpa/inet.h.
99080 2006-07-28  Simon Josefsson  <jas@extundo.com>
99082         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
99083         * modules/inet_pton (Depends-on): Likewise.
99085 2006-07-28  Simon Josefsson  <jas@extundo.com>
99087         * m4/netinet_in_h.m4: New file.
99089 2006-07-28  Simon Josefsson  <jas@extundo.com>
99091         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
99092         #include's.
99094 2006-07-28  Simon Josefsson  <jas@extundo.com>
99096         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
99097         #include's.
99099 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
99101         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
99102         setgid on directories only if they set these bits.
99103         * lib/modechange.h: Remove obsolete comment about masks.
99105 2006-07-28  Eric Blake  <ebb9@byu.net>
99107         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
99108         macro expansion.
99110 2006-07-28  Bruno Haible  <bruno@clisp.org>
99112         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
99114 2006-07-28  Bruno Haible  <bruno@clisp.org>
99116         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
99118 2006-07-28  Bruno Haible  <bruno@clisp.org>
99120         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
99121         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
99122         Define fallbacks.
99123         Avoids link error on FreeBSD 4.x.
99124         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
99126         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
99127         encoding.
99128         * lib/mbswidth.c (iswcntrl): Likewise.
99130 2006-07-27  Bruno Haible  <bruno@clisp.org>
99132         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
99133         test.
99135 2006-07-27  Bruno Haible  <bruno@clisp.org>
99137         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
99138         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
99139         defined.
99141 2006-07-26  Eric Blake  <ebb9@byu.net>
99143         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
99145 2006-07-26  Eric Blake  <ebb9@byu.net>
99147         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
99148         like mingw that lack mkstemp.
99149         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
99150         avoid compilation warning on mingw.
99152 2006-07-26  Bruno Haible  <bruno@clisp.org>
99154         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
99155         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
99156         INT_FAST*_MIN, INTPTR_MIN.
99158 2006-07-25  Bruno Haible  <bruno@clisp.org>
99160         * modules/version-etc (Depends-on): Add stdarg.
99162 2006-07-25  Bruno Haible  <bruno@clisp.org>
99164         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
99165         complex commands.
99167 2006-07-25  Bruno Haible  <bruno@clisp.org>
99169         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
99170         defined in <stdarg.h> or config.h.
99172 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
99174         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
99175         (gl_STDIO_SAFER): Remove.
99177 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
99179         * MODULES.html.sh (File stream based Input/Output):
99180         Add fopen-safer, tmpfile-safer; remove stdio-safer.
99181         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
99182         * modules/fopen-safer, modules/tmpfile-safer: New files.
99183         * modules/stdio-safer: Remove.
99185 2006-07-24  Bruno Haible  <bruno@clisp.org>
99187         * modules/tmpdir: New file.
99188         * MODULES.html.sh (File system functions): Add it.
99190 2006-07-24  Bruno Haible  <bruno@clisp.org>
99192         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
99193         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
99195 2006-07-24  Bruno Haible  <bruno@clisp.org>
99197         * modules/clean-temp: New file.
99199 2006-07-24  Bruno Haible  <bruno@clisp.org>
99201         * m4/tmpdir.m4: New file, from GNU gettext.
99203 2006-07-24  Bruno Haible  <bruno@clisp.org>
99205         * lib/tmpdir.h: New file, from GNU gettext.
99206         * lib/tmpdir.c: New file, from GNU gettext.
99208 2006-07-24  Bruno Haible  <bruno@clisp.org>
99210         * lib/clean-temp.h: New file, from GNU gettext.
99211         * lib/clean-temp.c: New file, from GNU gettext.
99213 2006-07-23  Eric Blake  <ebb9@byu.net>
99215         * modules/stdio-safer (Files): Add tmpfile-safer.c.
99216         (Depends-on): Add binary-io.
99218 2006-07-23  Eric Blake  <ebb9@byu.net>
99220         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
99222 2006-07-23  Eric Blake  <ebb9@byu.net>
99224         * lib/tmpfile-safer.c: New file.
99225         * lib/stdio-safer.h (fopen_safer): Add prototype.
99226         * lib/stdio--.h (tmpfile): Make safer.
99228 2006-07-23  Bruno Haible  <bruno@clisp.org>
99230         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
99231         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
99232         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
99233         gl_linked_remove_at): Use it.
99235 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
99236         and Simon Josefsson <jas@extundo.com>
99238         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
99240         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
99242 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
99244         * modules/close-stream: New file.
99245         * modules/closeout (Description): Make it clear that it exits
99246         with a diagnostic on error.
99247         (Depends-on): Add close-stream.  Remove fpending, stdbool.
99248         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
99250 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
99252         * m4/close-stream.m4: New file.
99254 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
99256         * lib/close-stream.c, lib/close-stream.h: New files.
99258 2006-07-22  Bruno Haible  <bruno@clisp.org>
99260         Merge from GNU gettext 0.15.
99262         2006-05-01  Bruno Haible  <bruno@clisp.org>
99264                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
99266         2006-07-22  Bruno Haible  <bruno@clisp.org>
99268                 * modules/javaversion: New file.
99269                 * MODULES.html.sh (Java): Add javaversion.
99271         2006-03-12  Bruno Haible  <bruno@clisp.org>
99273                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
99275         2005-12-04  Bruno Haible  <bruno@clisp.org>
99277                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
99278                 (untested).
99280         2006-06-21  Bruno Haible  <bruno@clisp.org>
99282                 Avoid warnings from recent versions of mcs.
99283                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
99284                 -o, -L, -r any more. Use options documented since mcs-1.0
99285                 instead. Similarly for -g.
99287         2005-12-04  Bruno Haible  <bruno@clisp.org>
99289                 * build-aux/csharpcomp.sh.in: Suffix for resources is
99290                 .resources, not .resource.
99292         2005-07-09  Bruno Haible  <bruno@clisp.org>
99294                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
99295                 add a .dll suffix.
99296                 Reported by Mark Junker <mjscod@gmx.de>.
99298         2006-07-22  Bruno Haible  <bruno@clisp.org>
99300                 * modules/gettext: Upgrade to gettext-0.15.
99301                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
99302                 m4/visibility.m4.
99303                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
99305 2006-07-22  Bruno Haible  <bruno@clisp.org>
99307         Merge from GNU gettext 0.15.
99309         2006-03-25  Bruno Haible  <bruno@clisp.org>
99311                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
99313         2006-07-21  Bruno Haible  <bruno@clisp.org>
99315                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
99316                 "1.1".
99318         2006-05-09  Bruno Haible  <bruno@clisp.org>
99320                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
99321                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
99322                 for the conftestver execution.
99324         2006-05-01  Bruno Haible  <bruno@clisp.org>
99326                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
99327                 optional target-version argument. Verify that the compiler
99328                 groks source of the specified source-version, or add -source
99329                 option as necessary. Verify that the compiler produces
99330                 bytecode in the specified target-version, or add -target and
99331                 -source options as necessary. Make the result of the test
99332                 available as variable CONF_JAVAC. Also log error output in
99333                 config.log.
99335         2006-03-11  Bruno Haible  <bruno@clisp.org>
99337                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
99339         2006-05-09  Bruno Haible  <bruno@clisp.org>
99341                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
99342                 CLASSPATH_SEPARATOR to a semicolon.
99344         2006-03-12  Bruno Haible  <bruno@clisp.org>
99346                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
99347                 available as variable CONF_JAVA, for subsequent autoconf
99348                 tests. Also log error output in config.log.
99350         2006-07-19  Bruno Haible  <bruno@clisp.org>
99352                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
99353                 that getline works on glibc2 systems. Needed to avoid trouble
99354                 in relocatable.c.
99355                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
99357         2005-12-04  Bruno Haible  <bruno@clisp.org>
99359                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
99360                 launcher (untested).
99362         2005-12-04  Bruno Haible  <bruno@clisp.org>
99364                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
99366         2006-07-22  Bruno Haible  <bruno@clisp.org>
99368                 * gettext.m4: Update from GNU gettext-0.15.
99369                 * nls.m4: Likewise.
99370                 * po.m4: Likewise.
99371                 * inttypes-pri.m4: Likewise.
99372                 * inttypes-h.m4: Renamed from inttypes.m4.
99373                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
99375 2006-07-22  Bruno Haible  <bruno@clisp.org>
99377         Merge from GNU gettext 0.15.
99379         2005-07-05  Bruno Haible  <bruno@clisp.org>
99381                 * printf-args.c (printf_fetchargs): Work around broken
99382                 definition of wint_t on mingw.
99384         2005-02-12  Bruno Haible  <bruno@clisp.org>
99386                 * xallocsa.h: Add extern "C" for C++.
99388         2006-05-17  Bruno Haible  <bruno@clisp.org>
99390                 Cygwin portability.
99391                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
99393         2006-04-30  Bruno Haible  <bruno@clisp.org>
99395                 * progreloc.c: Include <mach-o/dyld.h> if available.
99396                 (find_executable): Use _NSGetExecutablePath when possible.
99398         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
99400                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
99401                 function.
99403         2005-12-29  Bruno Haible  <bruno@clisp.org>
99405                 * progreloc.c (set_program_name_and_installdir): Fix
99406                 compilation error.
99408         2005-12-04  Bruno Haible  <bruno@clisp.org>
99410                 Cygwin portability.
99411                 * progreloc.c: Include <windows.h> also on Cygwin.
99412                 (find_executable): Add support for Cygwin.
99413                 (set_program_name_and_installdir): Handle also platforms with
99414                 nonempty EXEEXT.
99416         2006-07-11  Bruno Haible  <bruno@clisp.org>
99418                 * javacomp.c: Fix a comment.
99419                 Reported by Jim Meyering.
99421         2006-04-30  Bruno Haible  <bruno@clisp.org>
99423                 * javacomp.h (compile_java_class): Add source_version,
99424                 target_version arguments.
99425                 * javacomp.c: Rewritten to choose only a compiler that
99426                 respects the specified source_version and target_version.
99428         2006-06-27  Bruno Haible  <bruno@clisp.org>
99430                 Assume correct S_ISDIR macro.
99431                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
99433         2006-07-22  Bruno Haible  <bruno@clisp.org>
99435                 * javaversion.h: New file, from GNU gettext.
99436                 * javaversion.c: New file, from GNU gettext.
99437                 * javaversion.java: New file, from GNU gettext.
99438                 * javaversion.class: New file, from GNU gettext.
99440         2006-05-17  Bruno Haible  <bruno@clisp.org>
99442                 Cygwin portability.
99443                 * javaexec.c (execute_java_class): Test for jview program
99444                 also on Cygwin.
99446         2006-04-09  Bruno Haible  <bruno@clisp.org>
99448                 * fatal-signal.c: Don't include string.h.
99449                 (at_fatal_signal): Use a copying loop instead of memcpy.
99451         2005-12-04  Bruno Haible  <bruno@clisp.org>
99453                 * csharpexec.c: Add support for 'clix' launcher (untested).
99454                 (execute_csharp_using_sscli): New function.
99455                 (execute_csharp_program): Call it.
99457         2006-06-21  Bruno Haible  <bruno@clisp.org>
99459                 Avoid warnings from recent versions of mcs.
99460                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
99461                 -o, -L, -r any more. Use options documented since mcs-1.0
99462                 instead. Similarly for -g.
99464         2005-07-09  Bruno Haible  <bruno@clisp.org>
99466                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
99467                 add a .dll suffix.
99468                 Reported by Mark Junker <mjscod@gmx.de>.
99470         2006-06-17  Bruno Haible  <bruno@clisp.org>
99472                 * config.charset: Update for NetBSD 3.0.
99474         2006-05-17  Bruno Haible  <bruno@clisp.org>
99476                 Cygwin portability.
99477                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
99479         2006-05-16  Bruno Haible  <bruno@clisp.org>
99481                 * localcharset.c [CYGWIN]: Include <windows.h>.
99482                 (get_charset_aliases): For Cygwin, return the same CPxxx
99483                 aliases list as under WIN32.
99484                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
99485                 the environment variables. Fall back to GetACP().
99487         2006-04-05  Bruno Haible  <bruno@clisp.org>
99489                 * config.charset: Update Juan Manuel Guerrero's address.
99491         2005-02-12  Bruno Haible  <bruno@clisp.org>
99493                 * allocsa.h: Add extern "C" for C++.
99495         2005-02-10  Bruno Haible  <bruno@clisp.org>
99497                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
99498                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
99500         2006-07-22  Bruno Haible  <bruno@clisp.org>
99502                 * gettext.h: Update to GNU gettext-0.15.
99504 2006-07-22  Bruno Haible  <bruno@clisp.org>
99506         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
99507         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
99508         lib-prefix.m4, longdouble.m4, ssize_t.m4.
99510 2006-07-21  Eric Blake  <ebb9@byu.net>
99512         * modules/stdlib-safer: New file.
99513         * MODULES.html.sh (File stream based Input/Output): Add
99514         stdlib-safer.
99516 2006-07-21  Eric Blake  <ebb9@byu.net>
99518         * lib/stdlib-safer.h: New file from coreutils, required by
99519         stdlib--.h.
99521 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
99523         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
99525 2006-07-20  Bruno Haible  <bruno@clisp.org>
99527         * gnulib-tool: Recognize new option --assume-autoconf.
99528         (autoconf_minversion): New variable.
99529         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
99531 2006-07-20  Bruno Haible  <bruno@clisp.org>
99533         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
99535 2006-07-19  Derek R. Price  <derek@ximbiot.com>
99537         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
99538         Reindent and repaginate.
99540 2006-07-19  Derek Price  <derek@ximbiot.com>
99542         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
99543         Correct grammar.
99545 2006-07-17  Bruno Haible  <bruno@clisp.org>
99547         * modules/list: New file.
99548         * modules/array-list: New file.
99549         * modules/carray-list, modules/carray-list-tests: New files.
99550         * modules/linked-list, modules/linked-list-tests: New files.
99551         * modules/avltree-list, modules/avltree-list-tests: New files.
99552         * modules/rbtree-list, modules/rbtree-list-tests: New files.
99553         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
99554         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
99555         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
99556         * modules/oset: New file.
99557         * modules/array-oset: New file.
99558         * modules/avltree-oset, modules/avltree-oset-tests: New files.
99559         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
99560         * tests/test-carray_list.c: New file.
99561         * tests/test-linked_list.c: New file.
99562         * tests/test-avltree_list.c: New file.
99563         * tests/test-rbtree_list.c: New file.
99564         * tests/test-linkedhash_list.c: New file.
99565         * tests/test-avltreehash_list.c: New file.
99566         * tests/test-rbtreehash_list.c: New file.
99567         * tests/test-avltree_oset.c: New file.
99568         * tests/test-rbtree_oset.c: New file.
99569         * MODULES.html.sh (Container data structures): New section.
99571 2006-07-17  Bruno Haible  <bruno@clisp.org>
99573         * m4/gl_list.m4: New file.
99575 2006-07-17  Bruno Haible  <bruno@clisp.org>
99577         * lib/gl_list.h: New file.
99578         * lib/gl_list.c: New file.
99579         * lib/gl_array_list.h: New file.
99580         * lib/gl_array_list.c: New file.
99581         * lib/gl_carray_list.h: New file.
99582         * lib/gl_carray_list.c: New file.
99583         * lib/gl_linked_list.h: New file.
99584         * lib/gl_linked_list.c: New file.
99585         * lib/gl_anylinked_list1.h: New file.
99586         * lib/gl_anylinked_list2.h: New file.
99587         * lib/gl_avltree_list.h: New file.
99588         * lib/gl_avltree_list.c: New file.
99589         * lib/gl_anyavltree_list1.h: New file.
99590         * lib/gl_anyavltree_list2.h: New file.
99591         * lib/gl_rbtree_list.h: New file.
99592         * lib/gl_rbtree_list.c: New file.
99593         * lib/gl_anyrbtree_list1.h: New file.
99594         * lib/gl_anyrbtree_list2.h: New file.
99595         * lib/gl_anytree_list1.h: New file.
99596         * lib/gl_anytree_list2.h: New file.
99597         * lib/gl_linkedhash_list.h: New file.
99598         * lib/gl_linkedhash_list.c: New file.
99599         * lib/gl_anyhash_list1.h: New file.
99600         * lib/gl_anyhash_list2.h: New file.
99601         * lib/gl_avltreehash_list.h: New file.
99602         * lib/gl_avltreehash_list.c: New file.
99603         * lib/gl_rbtreehash_list.h: New file.
99604         * lib/gl_rbtreehash_list.c: New file.
99605         * lib/gl_anytreehash_list1.h: New file.
99606         * lib/gl_anytreehash_list2.h: New file.
99608         * lib/gl_oset.h: New file.
99609         * lib/gl_oset.c: New file.
99610         * lib/gl_array_oset.h: New file.
99611         * lib/gl_array_oset.c: New file.
99612         * lib/gl_avltree_oset.h: New file.
99613         * lib/gl_avltree_oset.c: New file.
99614         * lib/gl_rbtree_oset.h: New file.
99615         * lib/gl_rbtree_oset.c: New file.
99616         * lib/gl_anytree_oset.h: New file.
99618 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
99620         * m4/mkancesdirs.m4: New file.
99621         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
99622         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
99623         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
99624         it.
99626 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
99628         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
99629         * lib/mkancesdirs.h: New files.
99630         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
99631         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
99632         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
99633         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
99634         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
99635         callers changed.  Revamp internals significantly, by not
99636         attempting to create directories that are temporarily more
99637         permissive than the final results.  Do not attempt to use
99638         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
99639         This removes some race conditions, fixes some bugs, and simplifies
99640         things.  Use new dirchownmod function to do owner and mode changes.
99641         * lib/mkdir-p.h: Likewise.
99642         * lib/modechange.c (octal_to_mode): New function.
99643         (struct mode_change): New member mentioned.
99644         (make_node_op_equals): New arg mentioned.  All callers changed.
99645         (mode_compile): Keep track of which mode bits the user has explicitly
99646         mentioned.
99647         (mode_adjust): New arg DIR, so that we implement the X op correctly.
99648         New arg PMODE_BITS, to keep track of which mode bits the user
99649         mentioned; it treats S_ISUID and S_ISGID speciall.
99650         All callers changed.
99651         * lib/modechange.h: Likewise.
99653 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
99655         * MODULES.html.sh: Add mkancestors.
99656         * modules/mkancesdirs: New module.
99657         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
99658         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
99659         The chdir-safer and afs files are now orphans; I'll remove them
99660         unless someone speaks up.
99661         Add lib/dirchownmod.c, lib/dirchownmod.h.
99662         (Depends-on): Remove alloca, chown, save-cwd, dirname.
99663         Add lchown, mkancesdirs.
99664         (Maintainer): Add self.
99666 2006-07-15  Karl Berry  <karl@gnu.org>
99668         * gnulib-tool: help message wording/arrangement.
99670 2006-07-14  Simon Josefsson  <jas@extundo.com>
99672         * doc/gnulib.texi (Libtool and Windows): New section.
99674 2006-07-12  Simon Josefsson  <jas@extundo.com>
99676         * modules/gendocs (License): Fix license, approved by Karl.
99678 2006-07-12  Eric Blake  <ebb9@byu.net>
99680         * MODULES.html.sh: Add gendocs.
99682 2006-07-11  Eric Blake  <ebb9@byu.net>
99684         * modules/fdl: New module, to install doc/fdl.texi.
99685         * MODULES.html.sh: Add new section for documentation modules.
99686         * gnulib-tool: Avoid space-tab.
99687         (--doc-base): New option, to manage files from doc.
99689 2006-07-11  Eric Blake  <ebb9@byu.net>
99691         * m4/absolute-header.m4: Fix comments to match recent change.
99693 2006-07-11  Eric Blake  <ebb9@byu.net>
99695         * gnulib-tool: List --doc-base before --tests-base.
99697 2006-07-11  Derek R. Price  <derek@ximbiot.com>
99699         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
99701 2006-07-11  Bruno Haible  <bruno@clisp.org>
99703         * README: Mention where to put documentation.
99705 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
99707         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
99709 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
99711         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
99712         to stdint.m4.
99714 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
99716         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
99717         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
99718         "no/such/file/stdint.h" when there is no such file, so that
99719         the resulting C code can be parsed by dodgy compilers.
99720         Problems reported by Bob Proulx.
99722 2006-07-10  Derek R. Price  <derek@ximbiot.com>
99724         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
99725         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
99726         macros into the GNU _D_EXACT_NAMLEN.
99727         * lib/savedir.c:  Likewise.
99728         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
99730 2006-07-10  Derek R. Price  <derek@ximbiot.com>
99731         and Paul Eggert  <eggert@cs.ucla.edu>
99733         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
99734         * m4/savedir.m4:
99735         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
99736         macros into the GNU _D_EXACT_NAMLEN.
99738 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
99740         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
99741         around the absolute name, to work around a problem with the HP-UX
99742         11.23 native C compiler, reported by Bob Proulx.
99744 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
99746         * doc/maintain.texi, make-stds.texi: Sync from
99747         <http://savannah.gnu.org/projects/gnustandards>.
99749 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
99751         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
99753 2006-07-09  Jim Meyering  <jim@meyering.net>
99755         * m4/glob.m4: Remove a doubled word in a comment.
99757 2006-07-09  Jim Meyering  <jim@meyering.net>
99759         * lib/argp-pv.c: Remove a doubled word in a comment.
99760         * lib/check-version.c (check_version): Likewise.
99761         * lib/javacomp.c (compile_java_class): Likewise.
99763 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
99765         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
99766         for the benefit of people using Autoconf 2.60.  If you want to
99767         support older Autoconf versions you can copy m4/onceonly_2_57.m4
99768         (or m4/onceonly.m4, if pre-2.57) manually.
99770 2006-07-08  Jim Meyering  <jim@meyering.net>
99772         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
99773         comment.
99774         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
99775         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
99776         comment.
99778 2006-07-08  Jim Meyering  <jim@meyering.net>
99780         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
99782 2006-07-07  Simon Josefsson  <jas@extundo.com>
99784         * tests/test-crc.c: Change expected crc value, the test vector
99785         were probably computed using the old broken crc.c?
99787 2006-07-06  Simon Josefsson  <jas@extundo.com>
99789         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
99790         now the canonical place for the M4 file).
99792         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
99793         from the sys_socket dependency now.
99795         * modules/inet_pton (Files): Ditto.
99797         * modules/inet_ntop (Files): Ditto.
99799 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
99801         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
99802         not gl_PREREQ_GETUSERSHELL.
99804 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
99806         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
99807         with only one argument, for Autoconf 2.60.
99808         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
99809         expand to nothing, so add a shell command to avoid syntax error.
99810         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
99812 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
99814         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
99816 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
99818         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
99819         no longer needed.  Check for isblank decl.
99820         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
99821         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
99822         of existence.
99824 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
99826         * lib/getloadavg.c: Use __VMS, not VMS.
99827         * lib/getopt.c: Likewise.
99828         * lib/getpagesize.h: Likewise.
99829         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
99830         and probably does not work.
99832 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
99834         * lib/.cppi-disable: Add wcwidth.
99835         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
99836         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
99837         (ISGRAPH): Remove.  All uses changed to isgraph.
99838         (FOLD) [!defined _LIBC]: Remove special case.
99839         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
99840         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
99841         HAVE_ISBLANK.
99842         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
99843         case.
99845 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
99847         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
99848         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
99849         brackets.  Other minor changes to suppress some compiler
99850         warnings.
99852 2006-07-06  Derek R. Price  <derek@ximbiot.com>
99853         and Paul Eggert  <eggert@cs.ucla.edu>
99855         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
99856         of invoking obsolescent AC_HEADER_DIRENT macro.
99857         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
99858         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
99859         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
99860         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
99861         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
99862         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
99863         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
99864         * m4/readdir.m4: Remove; no longer needed.
99866 2006-07-06  Derek R. Price  <derek@ximbiot.com>
99867         and Paul Eggert  <eggert@cs.ucla.edu>
99869         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
99870         Don't worry about this obsolete case any more.
99871         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
99872         directories.
99873         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
99874         worry about this obsolete case any more.
99875         * lib/fts.c: Likewise.
99876         * lib/getcwd.c: Likewise.
99877         * lib/glob.h: Likewise.
99878         * lib/savedir.c: Likewise.
99880 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
99882         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
99883         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
99884         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
99885         needed.
99886         All uses removed.
99887         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
99888         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
99889         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
99890         needed.
99891         * m4/getdate.m4 (gl_GETDATE): Likewise.
99892         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
99893         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
99894         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
99895         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
99896         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
99897         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
99898         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
99899         needed.
99901 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
99903         * lib/memcasecmp.c: Include <limits.h>.
99904         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
99905         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
99906         Don't assume isdigit succeeds only on '0' through '9'.
99908 2006-07-05  Eric Blake  <ebb9@byu.net>
99910         * modules/getaddrinfo (Depends-on): Add snprintf.
99912 2006-07-05  Eric Blake  <ebb9@byu.net>
99914         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
99915         to avoid 'header present but could not be compiled' on cygwin.
99917 2006-07-05  Eric Blake  <ebb9@byu.net>
99919         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
99920         missing from netdb.h.
99921         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
99923 2006-07-05  Derek R. Price  <derek@ximbiot.com>
99925         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
99926         no longer needed.
99927         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
99928         * m4/getdate.m4 (gl_GETDATE): Likewise.
99929         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
99930         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
99931         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
99932         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
99933         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
99935 2006-07-05  Derek R. Price  <derek@ximbiot.com>
99937         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
99938         All uses of is_space replaced by isspace.
99939         * lib/exit.h: Don't talk about STDC_HEADERS.
99940         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
99941         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
99942         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
99943         replaced by isprint etc.
99944         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
99945         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
99946         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
99947         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
99948         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
99949         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
99951 2006-07-05  Bruno Haible  <bruno@clisp.org>
99953         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
99954         the function exists, before testing against AIX.
99955         Reported by Martin Lambers <marlam@marlam.de>.
99957 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
99959         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
99960         From Mark D. Baushke.
99962 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
99964         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
99965         to the absolute name, not just one, to bypass Sun C 5.8's
99966         "warning: #include of /usr/include/... may be non-portable".
99968 2006-07-04  Eric Blake  <ebb9@byu.net>
99970         * modules/dirname-tests: New test module.
99971         * tests/test-dirname.c: New file, replacing dirname.c
99972         TEST_DIRNAME section that was recently deleted.
99974 2006-07-04  Bruno Haible  <bruno@clisp.org>
99976         Assume ANSI C header files and <ctype.h> functions.
99977         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
99978         (mbsnwidth): Use isprint, iscntrl instead.
99980 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
99982         Merge from coreutils.
99983         * MODULES.html.sh: Add xstrtold.
99984         * modules/xstrtold: New file.
99985         * modules/cycle-check (Files): Add lib/same-inode.h.
99986         * modules/dirname (Files): Add m4/double-slash-root.m4.
99987         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
99988         * modules/mkdir-p (Files): Add lib/same-inode.h.
99989         * modules/same (Files): Add lib/same-inode.h.
99991 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
99993         * m4/absolute-header.m4: Renamed from full-header-path.m4.
99994         This is to keep the terminology clean; POSIX talks about
99995         "absolute pathnames", not "full pathnames", but the GNU
99996         Coding Standards say to use "path" for something else;
99997         so use "absolute" to keep both sides happy.
99998         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
99999         Set gl_absolute_header, not gl_full_header_path.
100000         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
100001         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
100002         All uses changed.
100004         Merge from coreutils.
100006         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
100008         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
100009         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
100010         want to require the building of c-strtod.o.
100011         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
100012         needs -lm directly.
100013         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
100015         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
100017         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
100018         --as-needed option if available.  Problem reported by Albert Chin in
100019         <http://lists.gnu.org/r/bug-gnulib/2006-06/msg00114.html>.
100020         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
100021         cc merely issues a bunch of annoying warnings for --as-needed
100022         (this problem was reported by Bob Proulx).  Also, try linking with
100023         -lm to detect a bug in binutils 2.16 (this problem was reported
100024         by Ralf Wildenhues).
100026         2006-06-18  Jim Meyering  <jim@meyering.net>
100028         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
100029         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
100030         macro.
100031         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
100032         also check for glibc-2.4's abort-inducing bug.
100034         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
100035         Low-probability clean-up should be to use rmdir to get rid of
100036         the just-created directory, not unlink.
100038         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
100039         configure fail, and request a bug report to inform us about it.
100040         Add a comment that, barring reports to the contrary, in 2007 we'll
100041         assume ftruncate is universally available.
100043         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
100045         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
100047         2006-03-12  Jim Meyering  <jim@meyering.net>
100049         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
100050         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
100051         * m4/same.m4 (gl_SAME): Likewise.
100052         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
100054         2006-03-11  Eric Blake  <ebb9@byu.net>
100056         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
100057         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
100058         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
100059         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
100061 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
100063         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
100064         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
100065         reported by Mark D. Baushke, one in
100066         <http://lists.gnu.org/r/bug-gnulib/2006-07/msg00015.html>.
100068         Merge from coreutils.
100070         * lib/.cppi-disable: Add stdint_.h.
100071         * lib/.cvsignore: Add stdint.h.
100073         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
100075         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
100076         both double and long double versions.
100077         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
100078         * lib/xstrtold.c: New file.
100079         * lib/xstrtod.h (xstrtold): New decl.
100081         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
100083         * lib/filemode.c (setst): Remove.
100084         (strmode): Rewrite to avoid setst.  This makes the code shorter,
100085         (arguably) clearer, and the generated code is a bit smaller on my
100086         Debian GNU/Linux stable x86 host.
100088         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
100090         * lib/filemode.c: Include "filemode.h" first, to test the interface.
100091         Assume that filemode.h includes sys/types.h and sys/stat.h.
100092         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
100093         (ftypelet): Reorder to put common cases first, for efficiency.
100094         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
100095         to do 'M'.
100096         (strmode): Renamed from mode_string, and now stores 12 bytes instead
100097         of 10, for compatibility with FreeBSD.  All callers changed.
100098         (filemodestring): Now stores 12 bytes instead of 10, and sets file
100099         types that can't be deduced solely from st_mode.  First arg is now a
100100         const pointer.
100101         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
100102         (strmode): Renamed from mode_string.
100103         (filemodestring): New decl.
100104         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
100105         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
100106         needed.
100107         (S_ISPORT, S_ISWHT): New macros, if not already defined.
100109         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
100111         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
100112         fsusage.h now does that.  Include fsusage.h first, to test interface.
100113         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
100114         at most one method (the old code could have generated decls that
100115         didn't conform to C89, not that this was ever exercised).
100116         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
100118         2006-03-19  Jim Meyering  <jim@meyering.net>
100120         Work even in a chroot where d_ino values for entries in "/"
100121         don't match the stat.st_ino values for the same names.
100122         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
100123         number, iterate through all entries again, using lstat instead.
100124         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
100125         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
100127         * lib/getcwd.c (__getcwd): Clarify a comment.
100128         Use memcpy in place of a call to strcpy.
100130         2006-03-12  Jim Meyering  <jim@meyering.net>
100132         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
100133         matches that of the current directory (which we're about to chdir ".."
100134         out of), then save the dev-ino of the parent, instead.
100136         * lib/same-inode.h (SAME_INODE): New file/macro.
100137         * lib/chdir-safer.c (SAME_INODE): Remove definition.
100138         Include "same-inode.h", instead.
100139         * lib/same.c: Likewise.
100140         * lib/cycle-check.h: Include "same-inode.h".
100141         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
100142         * lib/cycle-check.c (SAME_INODE): Remove definition.
100143         * lib/root-dev-ino.h: Include "same-inode.h".
100145         2006-03-11  Eric Blake  <ebb9@byu.net>
100147         * lib/same.c (same_name): s/base_name/last_component/
100148         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
100149         * lib/filenamecat.c (file_name_concat): Likewise.
100151         2006-03-11  Eric Blake  <ebb9@byu.net>,
100152                     Paul Eggert  <eggert@cs.ucla.edu>
100154         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
100155         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
100156         drive prefix.
100157         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
100158         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
100159         (last_component): New method.
100160         * lib/dirname.c (dir_len): Determine when drive letters need a
100161         subsequent slash.  Preserve // when it is special.
100162         (dir_name): Don't append dot when drive letter is absolute.
100163         [TEST_DIRNAME]: Move into a full-blown gnulib test.
100164         * lib/basename.c (base_name): New semantics - malloc the result.
100165         Preserve // when it is special.  Preserve relative files that look
100166         like drive letters.
100167         (base_len): Preserve // when it is special.
100168         (last_component): New method, similar to old base_name semantics.
100169         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
100170         base_name.  Strip redundant slashes from ///.
100172 2006-07-03  Jim Meyering  <jim@meyering.net>
100174         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
100175         macro is used before the first cycle_check call.
100177 2006-07-03  Eric Blake  <ebb9@byu.net>
100179         * modules/dirname (Depends-on): Add xstrndup.
100181 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
100183         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
100184         test cases, so that config.log is a bit easier to follow.
100186 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
100188         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
100189         both are 64 bits, since this seems to be the tradition, and this
100190         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
100191         we ever run into a host that prefers long long to long in this
100192         case, we'll need another configure-time test.  Problem reported by
100193         Jim Meyering.
100195 2006-07-02  Eric Blake  <ebb9@byu.net>
100197         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
100199 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
100201         * modules/inttypes (Depends-on): No longer depends on stdint.
100202         * modules/stdint (Description): Say more about assumptions.
100203         Say that the fast types might differ.  Say macros are used.
100204         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
100205         (Makefile.am): Revise list of substituted symbols to match
100206         new stdint.m4.
100207         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
100208         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
100209         * tests/test-stdint.c (verify_same_types)
100210         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
100211         the code conforms to C99/C89.
100212         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
100213         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
100215 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
100217         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
100218         but fix a bug, by requiring at least 64 bits.
100219         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
100220         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
100221         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
100222         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
100224         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
100225         changes.  Make 2.59 a prerequisite.  Check and substitute for
100226         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
100227         inttypes.h.  Do not use special include files; just use the
100228         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
100229         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
100230         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
100231         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
100232         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
100233         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
100234         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
100235         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
100236         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
100237         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
100238         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
100239         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
100240         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
100241         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
100242         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
100243         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
100244         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
100245         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
100246         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
100247         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
100248         WINT_MAX.  Check for C99 conformance more strictly, by detecting
100249         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
100250         not check for things that C99 does not require, e.g., int8_t.  If
100251         a test isn't needed unless <stdint.h> isn't working, and is
100252         unlikely to be needed for any other reason, then don't do it
100253         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
100254         size_t, since we assume C89 freestanding at least.  Do not check
100255         for sig_atomic_t, wchar_t, or wint_t, since the code now does
100256         the right thing even if the types are not defined.  Instead use:
100257         (gl_STDINT_TYPE_PROPERTIES): New macro.
100258         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
100259         testing whether <sys/types.h> clashes, as Autoconf does this for
100260         us now.  All uses removed.
100261         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
100262         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
100263         (gl_CHECK_TYPE_SAME):
100264         Remove; no longer needed.
100265         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
100266         exists, since we'll return 0 anyway in that case.
100267         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
100269 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
100271         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
100272         possible collision with system files.
100273         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
100274         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
100275         WCHAR_MIN and WCHAR_MAX in this case.
100276         (<stddef.h>): Do not include; no longer needed.
100277         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
100278         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
100279         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
100280         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
100281         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
100282         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
100283         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
100284         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
100285         !defined(__c99))]: Include in this case too, since it's harmless
100286         now.
100287         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
100288         dangerous to do so.
100289         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
100290         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
100291         (_STDINT_MIN, _STDINT_MAX): New macros.
100292         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
100293         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
100294         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
100295         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
100296         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
100297         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
100298         macros, not typedefs; this simplifies things quite a bit.
100299         Use long int for all types narrower than int64_t.
100300         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
100301         Define in terms of long long int or int64_t or long int,
100302         not int64_t or int32_t.  This saves some compile-time testing.
100303         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
100304         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
100305         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
100306         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
100307         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
100308         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
100309         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
100310         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
100311         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
100312         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
100313         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
100314         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
100315         undef any previous version and define our own version, for
100316         simplicity and consistency with the new macros for types.
100317         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
100318         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
100319         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
100320         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
100321         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
100322         @WINT_T_SUFFIX@ to keep things simple here.
100323         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
100324         Simplify by assuming typical 8/16/32/64 host, since we're
100325         already doing that elsewhere anyway.
100326         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
100327         and assume long long int is 64 bits if available.  This
100328         speeds up 'configure'.
100330 2006-07-01  Eric Blake  <ebb9@byu.net>
100332         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
100333         Reported by Andreas Buening.
100335 2006-07-01  Eric Blake  <ebb9@byu.net>
100337         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
100339 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
100341         * lib/getaddrinfo.c: fixed typo
100343 2006-06-29  Jim Meyering  <jim@meyering.net>
100345         * modules/strftime (Maintainer): Add my name, since with the
100346         FPRINTFTIME changes strftime.c has forked from glibc.
100348 2006-06-29  Eric Blake  <ebb9@byu.net>
100350         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
100352 2006-06-29  Eric Blake  <ebb9@byu.net>
100354         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
100356 2006-06-29  Eric Blake  <ebb9@byu.net>
100358         * lib/stat_.h: New file.
100360 2006-06-29  Eric Blake  <ebb9@byu.net>
100362         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
100363         unused static function.
100365 2006-06-29  Eric Blake  <ebb9@byu.net>
100367         * doc/functions.texi (Function Portability): Document missing lstat
100368         on mingw.
100370 2006-06-29  Eric Blake  <ebb9@byu.net>
100372         * MODULES.html.sh: Add sys_stat.
100373         * modules/sys_stat: New module.
100374         * modules/mkstemp (Depends-on): Add sys_stat.
100376 2006-06-29  Derek R. Price  <derek@ximbiot.com>
100378         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
100380 2006-06-29  Derek R. Price  <derek@ximbiot.com>
100382         * m4/c-bs-a.m4: Removed.
100384 2006-06-29  Derek R. Price  <derek@ximbiot.com>
100386         * lib/strftime.c: Assume strftime() exists.
100388 2006-06-29  Derek Price  <derek@ximbiot.com>
100390         * modules/c-bs-a: Removed - \a is C89.
100391         * MODULES.html.sh: Remove c-bs-a.
100393 2006-06-29  Bruno Haible  <bruno@clisp.org>
100395         * modules/wcwidth (License): Change to LGPL.
100397 2006-06-28  Simon Josefsson  <jas@extundo.com>
100399         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
100400         on _WIN32.
100402         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
100403         getnameinfo.
100405 2006-06-28  Simon Josefsson  <jas@extundo.com>
100407         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
100409 2006-06-28  Simon Josefsson  <jas@extundo.com>
100411         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
100412         functions there.  It will succeed on Windows XP, but on Windows
100413         2000 and (presumably) earlier, it will fail, and use the internal
100414         re-implementation.
100415         (use_win32_p): New function.
100416         (getaddrinfo): Use strtoul on servname, to support numeric ports.
100417         Support AI_NUMERICSERV to disable getservbyname.
100418         (getnameinfo): New function, only supports
100419         NI_NUMERICHOST|NI_NUMERICSERV for now.
100421         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
100422         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
100423         getnameinfo.
100425 2006-06-28  Eric Blake  <ebb9@byu.net>
100427         * modules/wcwidth: New file.
100428         * modules/mbchar (Depends-on): Add wcwidth.
100429         * modules/mbswidth (Depends-on): Add wcwidth.
100430         * MODULES.html.sh: Add wcwidth.
100432 2006-06-28  Eric Blake  <ebb9@byu.net>
100434         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
100435         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
100437 2006-06-28  Eric Blake  <ebb9@byu.net>
100439         * lib/xvasprintf.h: Fix comments.
100441 2006-06-28  Eric Blake  <ebb9@byu.net>
100443         * lib/mbchar.h (wcwidth): Include wcwidth.h.
100444         * lib/mbswidth.c (wcwidth): Move from here...
100445         * lib/wcwidth.h: ...to this new file.
100447 2006-06-28  Derek R. Price  <derek@ximbiot.com>
100449         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
100451         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
100452         it's obsolete.
100453         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
100455 2006-06-28  Derek R. Price  <derek@ximbiot.com>
100457         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
100458         Autoconf 2.60 says this stuff was obsolete.
100460 2006-06-28  Bruno Haible  <bruno@clisp.org>
100462         * modules/wcwidth (Files): Add m4/wchar_t.m4.
100464 2006-06-28  Bruno Haible  <bruno@clisp.org>
100466         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
100467         gt_TYPE_WCHAR_T.
100469 2006-06-28  Bruno Haible  <bruno@clisp.org>
100471         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
100472         declaration for wcwidth.
100473         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctype.h>.
100475 2006-06-28  Bruno Haible  <bruno@clisp.org>
100477         * lib/mkdtemp.c [MINGW]: Include <io.h>.
100478         (mkdir): Define using _mkdir.
100480 2006-06-28  Bruno Haible  <bruno@clisp.org>
100482         * lib/getaddrinfo.h: Fix POSIX URL.
100483         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
100484         _WIN32.
100485         (use_win32_p): Make static.
100486         (getaddrinfo): Reject service name if it is empty or does not consist
100487         solely of decimal digits, or if its value is > 65535.
100488         (getnameinfo): Remove useless casts.
100490 2006-06-27  Simon Josefsson  <jas@extundo.com>
100492         * modules/sys_select: New file, suggested by Bruno Haible, Paul
100493         Eggert and Martin Lambers.
100495 2006-06-27  Simon Josefsson  <jas@extundo.com>
100497         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
100498         Eggert and Martin Lambers.
100500 2006-06-27  Bruno Haible  <bruno@clisp.org>
100502         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
100503         result to 0, not to empty.
100504         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
100506 2006-06-27  Bruno Haible  <bruno@clisp.org>
100508         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
100510 2006-06-26  Simon Josefsson  <jas@extundo.com>
100512         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
100513         present.
100515 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
100517         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
100518         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
100519         <http://lists.gnu.org/r/bug-gnulib/2006-06/msg00181.html>.
100521 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
100523         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
100525 2006-06-26  Bruno Haible  <bruno@clisp.org>
100527         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
100529 2006-06-26  Bruno Haible  <bruno@clisp.org>
100531         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
100533 2006-06-26  Bruno Haible  <bruno@clisp.org>
100535         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
100536         SGI C compiler in pre-C99 mode.
100537         Suggested by Mark D. Baushke and Larry Jones.
100539 2006-06-26  Bruno Haible  <bruno@clisp.org>
100541         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
100542         WCHAR_MAX.
100543         Reported by Mark D. Baushke and Larry Jones.
100545 2006-06-26  Bruno Haible  <bruno@clisp.org>
100547         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
100548         in pre-C99 mode.
100549         Suggested by Mark D. Baushke and Larry Jones.
100551 2006-06-23  Simon Josefsson  <jas@extundo.com>
100552             Bruno Haible  <bruno@clisp.org>
100554         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
100555         Emit mostlyclean-local rule.
100556         (func_emit_tests_Makefile_am): Likewise.
100557         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
100559 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
100561         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
100563 2006-06-23  Bruno Haible  <bruno@clisp.org>
100565         * tests/test-stdint.c: Update to match ISO C 99 Technical
100566         Corrigendum 1.
100568 2006-06-23  Bruno Haible  <bruno@clisp.org>
100570         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
100572 2006-06-23  Bruno Haible  <bruno@clisp.org>
100574         * lib/stdint_.h: Treat IRIX like OpenBSD.
100576 2006-06-23  Bruno Haible  <bruno@clisp.org>
100578         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
100579         ISO C 99 Technical Corrigendum 1.
100581 2006-06-22  Simon Josefsson  <jas@extundo.com>
100583         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
100584         MinGW.
100586 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
100588         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
100589         needed.  Some compiler complained about some of them.  Problem reported
100590         by Larry Jones in
100591         <http://lists.gnu.org/r/bug-gnulib/2006-06/msg00172.html>.
100593 2006-06-21  Simon Josefsson  <jas@extundo.com>
100595         * tests/test-getaddrinfo.c: New file.
100597         * modules/getaddrinfo-tests: New file.
100599         * MODULES.html.sh: Add inet_pton.
100601         * modules/inet_pton: New file.
100603 2006-06-21  Simon Josefsson  <jas@extundo.com>
100605         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
100606         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
100607         of using the (limited) gnulib implementation on Windows XP.
100609         * m4/inet_pton.m4: New file.
100611 2006-06-21  Simon Josefsson  <jas@extundo.com>
100613         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
100614         variable.
100616         * lib/socket_.h: Don't define WINVER.
100618         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
100619         slightly modified to work in gnulib.
100621 2006-06-21  Simon Josefsson  <jas@extundo.com>
100623         * doc/gnulib.texi (Windows sockets): Add.
100625 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
100627         * lib/read-file.c (fread_file): Start with buffer allocation of
100628         0 bytes rather than 1 byte; this simplifies the code.
100629         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
100630         code to free buffer and save/restore errno.
100631         (internal_read_file): Remove unused local.
100633 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
100635         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
100636         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
100637         Problem reported by Denis Excoffier in
100638         <http://lists.gnu.org/r/bug-tar/2006-06/msg00023.html>.
100640 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
100642         * modules/sys_socket, modules/socklen: Include sys/types since
100643         FreeBSD 4.x's sys/socket.h needs it.
100645 2006-06-19  Simon Josefsson  <jas@extundo.com>
100647         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
100649 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
100651         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
100653 2006-06-19  Bruno Haible  <bruno@clisp.org>
100655         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
100656         and FULL_PATH_INTTYPES_H in angle brackets.
100657         Reported by Mark D. Baushke <mdb@gnu.org>.
100659 2006-06-17  Eric Blake  <ebb9@byu.net>
100661         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
100662         errno.
100664 2006-06-17  Bruno Haible  <bruno@clisp.org>
100666         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
100667         <sys/inttypes.h>.
100669 2006-06-17  Bruno Haible  <bruno@clisp.org>
100671         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
100672         whether errno is declared. Assume <errno.h> declares errno.
100674 2006-06-17  Bruno Haible  <bruno@clisp.org>
100676         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
100678 2006-06-17  Bruno Haible  <bruno@clisp.org>
100680         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
100681         problem on Solaris 2.5.1.
100683 2006-06-16  Eric Blake  <ebb9@byu.net>
100685         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
100686         * lib/unicodeio.c [!defined errno]: Likewise.
100687         * lib/strtol.c [!defined errno]: Likewise.
100688         * lib/strtod.c [!defined errno]: Likewise.
100690 2006-06-15  Eric Blake  <ebb9@byu.net>
100692         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
100694 2006-06-15  Eric Blake  <ebb9@byu.net>
100696         * config/srclist.txt (ssize_t.m4): Lose sync.
100698 2006-06-15  Bruno Haible  <bruno@clisp.org>
100700         * modules/stdint (Files): Include m4/full-header-path.m4,
100701         m4/size_max.m4, m4/wchar_t.m4.
100702         (Makefile.am): Many more substitutions.
100703         * modules/stdint-tests: New file.
100704         * tests/test-stdint.c: New file.
100706 2006-06-15  Bruno Haible  <bruno@clisp.org>
100708         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
100709         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
100710         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
100711         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
100712         gl_CHECK_TYPE_SAME): New macros.
100714 2006-06-15  Bruno Haible  <bruno@clisp.org>
100716         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
100718 2006-06-15  Bruno Haible  <bruno@clisp.org>
100720         * lib/stdint_.h: Rewritten to be fully auto-configured.
100721         Fixes bug on HP-UX/IA64.
100723 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
100725         * lib/getdate.y (__attribute__): Don't define if already defined.
100726         Problem reported by Larry Jones.
100727         * lib/utimens.c (__attribute__): Likewise.
100729 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
100731         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
100732         reported by Andreas Schwab.
100734 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
100735             Bruno Haible  <bruno@clisp.org>
100737         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
100738         check for the declaration of strnlen and a run test that exposes the
100739         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
100740         rpl_strndup.
100742 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
100743             Bruno Haible  <bruno@clisp.org>
100745         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
100747 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
100749         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
100750         compile test, for Tru64 4.0D.
100752 2006-05-28  Karl Berry  <karl@gnu.org>
100754         * config/srclist.txt (printf-args.c): lose sync.
100756 2006-05-26  Martin Lambers  <marlam@marlam.de>
100758         * lib/getpass.c: Updates the test for the native W32 API, and adds
100759         missing includes, thus fixing compilation warnings.
100761 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
100763         * lib/exclude.c (exclude_fnmatch): New function.
100764         (excluded_file_name): Call exclude_fnmatch.
100765         * lib/exclude.h (excluded_file_name): New prototype
100767 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
100769         * lib/tempname.c (small_open, large_open): New macros.
100770         (__open, __open64) [!_LIBC]: Remove.
100771         (__gen_tempname): Use small_open and large_open instead of __open
100772         and __open64.  This fixes a portability bug on HP-UX 11.11i
100773         reported by Simon Wing-Tang in
100774         <http://lists.gnu.org/r/bug-coreutils/2006-05/msg00114.html>.
100776 2006-05-24  Bruno Haible  <bruno@clisp.org>
100778         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
100779         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
100780         Reported by Thorsten Maerz <torte@netztorte.de> via
100781         Aaron Stone <aaron@serendipity.cx>.
100783 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
100785         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
100786         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
100787         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
100788         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
100789         not really conditional on the cache.
100790         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
100792 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
100794         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
100795         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
100796         (my_usleep): Don't mishandle maximum value.
100798 2006-05-19  Jim Meyering  <jim@meyering.net>
100800         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
100802 2006-05-17  Bruno Haible  <bruno@clisp.org>
100804         Cygwin portability.
100805         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
100807 2006-05-17  Bruno Haible  <bruno@clisp.org>
100809         * lib/stdint_.h: Fix recognition of Cygwin.
100811 2006-05-15  Bruno Haible  <bruno@clisp.org>
100813         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
100814         on libtool patch by Ralf Wildenhues.
100816 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
100818         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
100819         test for C99 conformance; (bool) 0.5 is an integer constant
100820         expression, but (bool) -0.5 is not.  Problem reported by Fedor
100821         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
100823 2006-05-11  Simon Josefsson  <jas@extundo.com>
100825         * m4/xvasprintf.m4: Fix obvious typo.
100827 2006-05-11  Jim Meyering  <jim@meyering.net>
100829         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
100830         James Lemley.
100832 2006-05-10  Simon Josefsson  <jas@extundo.com>
100834         * lib/md4.c: Typo fix, update copyright years.
100835         (K1, K2): Don't use L because it turn computations into 64-bit on
100836         64-bit platforms.
100838 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
100840         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
100841         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
100842         unwanted sign propagation, e.g., on hosts with 64-bit int.
100843         There still are some problems with reeelly weird theoretical hosts
100844         (e.g., 33-bit int) but it's not worth worrying about now.
100845         * lib/sha1.c (rol): Likewise.
100846         (K1, K2, K3, K4): Remove unnecessary L suffix.
100848 2006-05-10  Bruno Haible  <bruno@clisp.org>
100850         * lib/des.c: Cast to avoid warnings.
100852 2006-05-09  Bruno Haible  <bruno@clisp.org>
100854         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
100855         (Depends-on): Depend also on xsize, stdarg.
100856         (configure.ac): Add gl_XVASPRINTF.
100858 2006-05-09  Bruno Haible  <bruno@clisp.org>
100860         * m4/xvasprintf.m4: New file.
100862 2006-05-09  Bruno Haible  <bruno@clisp.org>
100864         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
100865         (EOVERFLOW): Define fallback value.
100866         (xstrcat): New function.
100867         (xvasprintf): Recognize the special case of a string concatenation.
100869 2006-05-08  Eric Blake  <ebb9@byu.net>
100871         * gnulib-tool (func_version): Base copyright year on CVS date.
100872         (func_emit_copyright_notice): New function.
100873         (func_emit_lib_Makefile_am): Use it.
100874         (func_emit_tests_Makefile_am): Likewise.
100875         (func_import): Likewise.
100877 2006-05-08  Bruno Haible  <bruno@clisp.org>
100879         * modules/stdarg: New file.
100880         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
100882 2006-05-08  Bruno Haible  <bruno@clisp.org>
100884         * m4/stdarg.m4: New file, from GNU gettext.
100886 2006-05-08  Bruno Haible  <bruno@clisp.org>
100888         * config/srclist.txt (build-aux/config.rpath): different from latest
100889         release.
100891 2006-05-08  Bruno Haible  <bruno@clisp.org>
100893         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
100895 2006-05-05  Jim Meyering  <jim@meyering.net>
100897         * m4/warning.m4: New file, derived from bison's file by the same name.
100899 2006-05-03  Bruno Haible  <bruno@clisp.org>
100901         * lib/stdint_.h: Shorter URL.
100902         * lib/inttypes.h: Likewise.
100904 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
100906         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
100908 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
100910         * lib/verify.h: Document the internals better.  Most of this change
100911         was written by Bruno Haible.
100913 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
100915         * doc/verify.texi: New file, partly based on a proposal by
100916         Bruno Haible.
100918 2006-05-02  Bruno Haible  <bruno@clisp.org>
100920         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
100921         test from here...
100922         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
100924 2006-04-29  Bruno Haible  <bruno@clisp.org>
100926         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
100927         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
100929 2006-04-29  Bruno Haible  <bruno@clisp.org>
100931         * gnulib-tool: Make --update option actually work.
100933 2006-04-29  Bruno Haible  <bruno@clisp.org>
100935         * doc/gcd.texi: New file.
100936         * doc/gnulib.texi: Include it.
100938 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
100940         * lib/getdate.y (get_date): When adding relative date, start with the
100941         initial time, not with the result of the first mktime call.
100943 2006-04-25  Bruno Haible  <bruno@clisp.org>
100945         * gnulib-tool (func_import): Output the include directives in three
100946         blocks, sorted separately.
100947         Reported by Ben Pfaff <blp@cs.stanford.edu>.
100949 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
100951         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
100952         to define main with arguments, for C++.  Reported by Eric Blake.
100953         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
100954         Prefer 'int main ()' to 'int main (void)', for C++.
100955         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
100956         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
100957         for 'main', for C99 and C++.
100959 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
100961         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
100962         Don't assume that exit status -1 is valid.
100963         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
100964         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
100965         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
100966         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
100967         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
100968         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
100969         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
100970         functions can be used without declaring them, or that you can
100971         exit with status -1.
100972         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
100974 2006-04-24  Karl Berry  <karl@gnu.org>
100976         * config/srclist.txt (longdouble.m4): sync lost.
100978 2006-04-24  Eric Blake  <ebb9@byu.net>
100980         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
100982 2006-04-24  Bruno Haible  <bruno@clisp.org>
100984         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
100985         poll() implementation in AIX.
100986         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
100988 2006-04-24  Bruno Haible  <bruno@clisp.org>
100990         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
100991         assigned exactly once.
100993 2006-04-23  Claudio Fontana  <claudio@gnu.org>
100994             Bruno Haible  <bruno@clisp.org>
100996         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
100997         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
100998         for AM_CPPFLAGS.
101000 2006-04-23  Bruno Haible  <bruno@clisp.org>
101002         * modules/copy-file: Depend on unistd.
101003         * modules/execute: Likewise.
101004         * modules/fatal-signal: Likewise.
101005         * modules/findprog: Likewise.
101006         * modules/mkdtemp : Likewise.
101007         * modules/pipe: Likewise.
101008         * modules/wait-process: Likewise.
101010 2006-04-23  Bruno Haible  <bruno@clisp.org>
101012         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
101013         condition was already detected.
101014         Reported by Ben Pfaff <blp@cs.stanford.edu>.
101016 2006-04-23  Bruno Haible  <bruno@clisp.org>
101018         * lib/copy-file.c: Include <unistd.h> unconditionally.
101019         * lib/execute.c: Likewise.
101020         * lib/fatal-signal.c: Likewise.
101021         * lib/findprog.c: Likewise.
101022         * lib/mkdtemp.c: Likewise.
101023         * lib/pipe.h: Likewise.
101024         * lib/pipe.c: Likewise.
101025         * lib/wait-process.h: Likewise.
101027 2006-04-23  Bruno Haible  <bruno@clisp.org>
101029         * gnulib-tool (func_usage): Fix --import description. Document
101030         --update.
101031         (func_import): Create temporary file in a temporary directory, if
101032         --dry-run is specified. Silence errors from 'grep' when there are no
101033         m4 files in $m4dir.
101034         (func_create_testdir): Silence errors from 'grep' when there are no
101035         m4 files in $m4dir.
101036         Reported by Karl Berry <karl@freefriends.org>.
101038 2006-04-20  Bruno Haible  <bruno@clisp.org>
101040         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
101041         one argument, so that the code will be portable to Autoconf 2.60.
101042         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
101043         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
101044         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
101046 2006-04-19  Derek Price  <derek@ximbiot.com>
101047             Eric Blake  <ebb9@byu.net>
101049         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
101050         rather than "/full/path.h".  Update comment to match.  Shorten &
101051         generalize m4_translit call via AS_TR_CPP.
101053 2006-04-19  Derek Price  <derek@ximbiot.com>
101054             Eric Blake  <ebb9@byu.net>
101056         * lib/inttypes.h: Correct grammar in comment.
101058 2006-04-18  Derek Price  <derek@ximbiot.com>
101059             Paul Eggert  <eggert@cs.ucla.edu>
101061         * modules/inttypes: New file.
101062         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
101064 2006-04-18  Derek Price  <derek@ximbiot.com>
101065             Paul Eggert  <eggert@cs.ucla.edu>
101067         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
101068         New files.
101070 2006-04-18  Derek Price  <derek@ximbiot.com>
101071             Paul Eggert  <eggert@cs.ucla.edu>
101073         * lib/inttypes.h: New file.
101074         * lib/strtoimax.c: Assume <inttypes.h>.
101076 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
101078         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
101079         isn't mounted.  Problem reported by Kir Kolyshkin.
101081 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
101083         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
101084         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
101085         Derek R. Price.
101086         * lib/regex.h (RE_DUP_MAX): Update comment to match current
101087         implementation.
101089 2006-04-12  Eric Blake  <ebb9@byu.net>
101091         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
101092         is now done automatically by the corresponding Autoconf macro.
101094 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
101096         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
101097         time_r.h.
101099 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
101101         Merge regex changes from libc, removing some of our
101102         POSIX-conformance changes that were rejected and redoing them in a
101103         less-intrusive way.
101105         * lib/regcomp.c (re_compile_internal, init_dfa):
101106         Length arg is now size_t, not Idx.  All uses changed.
101107         (peek_token): Forward decl now says internal_function.
101108         (__re_error_msgid, __re_error_msgid_idx):
101109         Now static rather than extern with attribute_hidden.
101110         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
101111         For some reason libc prefers K&R style defns for external functions.
101112         (regerror) [!defined _LIBC]: Likewise.
101113         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
101114         (seek_collating_symbol_entry, lookup_collation_sequence_value):
101115         (build_range_exp, build_collating_symbol):
101116         Use K&R-style defn.
101117         (re_compile_fastmap): Use '\0' to memset, not 0.
101118         (utf8_sb_map): Make the calculations more obvious.
101119         (init_dfa, parse_bracket_exp, build_charclass_op):
101120         Call calloc and cast result, as glibc does.
101121         (init_word_char, fetch_token, peek_token, peek_token_bracket):
101122         (build_range_exp, build_collating_symbol):
101123         Now internal functions.
101125         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
101127         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
101128         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
101129         Don't depend on VMS; depend on __VMS instead, for POSIX
101130         namespace cleanness.
101131         (regoff_t): Define to ssize_t, not long int.
101133         Remove the REG_ macros named below.  Instead, make the old names
101134         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
101135         __USE_GNU_REGEX.
101136         (REG_BACKSLASH_ESCAPE_IN_LISTS):
101137         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
101138         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
101139         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
101140         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
101141         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
101142         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
101143         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
101144         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
101145         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
101146         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
101147         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
101148         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
101149         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
101150         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
101151         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
101152         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
101153         (REG_NREGS):
101154         Remove.  All uses replaced by the old RE_* names.
101155         (RE_BACKSLASH_ESCAPE_IN_LISTS):
101156         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
101157         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
101158         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
101159         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
101160         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
101161         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
101162         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
101163         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
101164         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
101165         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
101166         Don't bother having these macros be independent of each others'
101167         values, since they no longer exist in the POSIX name space.
101169         Rename the following member names back to their old names,
101170         unless !__USE_GNU_REGEX.  All uses changed back.
101171         (buffer): Renamed from re_buffer.
101172         (allocated): Renamed from re_allocated.
101173         (used): Renamed from re_used.
101174         (syntax): Renamed from re_syntax.
101175         (fastmap): Renamed from re_fastmap.
101176         (translate): Renamed from re_translate.
101177         (can_be_null): Renamed from re_can_be_null.
101178         (regs_allocated): Renamed from re_regs_allocated.
101179         (fastmap_accurate): Renamed from re_fastmap_accurate.
101180         (no_sub): Renamed from re_no_sub.
101181         (not_bol): Renamed from re_not_bol.
101182         (not_eol): Renamed from re_not_eol.
101183         (newline_anchor): Renamed from re_newline_anchor.
101184         (num_regs): Renamed from rm_num_regs.
101185         (start): Renamed from rm_start.
101186         (end): Renamed from rm_end.
101188         (free_state): Move up a bit.
101190         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
101191         #define to be empty.
101192         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
101193         when that is what is intended.
101194         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
101195         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
101196         (MAX): New macro.
101197         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
101198         All uses changed back to re_malloc, etc.  It's now the caller's
101199         responsibility to check for overflow; all callers changed.
101200         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
101201         (re_x2nrealloc): Remove.
101202         (free_state): Remove decl.
101204         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
101205         (re_set_registers, re_exec):
101206         Use K&R-style defn.
101208         2006-01-31  Roland McGrath  <roland@redhat.com>
101210         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
101211         Reported by Mike Frysinger <vapier@gentoo.org>.
101213         2006-01-15  Andreas Jaeger  <aj@suse.de>
101215         [BZ #1950]
101216         * lib/regex_internal.c (re_string_reconstruct): Adjust for
101217         build_wcs_upper_buffer change.
101218         (build_wcs_upper_buffer): Change return type.
101220         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
101222         * lib/regex_internal.h: Include <stdint.h> if available.
101224         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
101226         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
101228         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
101230         * lib/regcomp.c: Adjust for changed secondary hash function.
101232         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
101234         * lib/regex.h: Pretty printing.
101235         Clean up namespace a bit.
101237         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
101239         * lib/regexec.c (update_cur_sifted_state, check_arrival,
101240         check_arrival_add_next_nodes): Avoid using uninitialized variable.
101242         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
101243                     Ulrich Drepper  <drepper@redhat.com>
101245         [BZ #1302]
101246         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
101247         changed.
101248         (bitset_word_t): Renamed from bitset_word.  All uses changed.
101250         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
101252         [BZ #281]
101253         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
101254         * lib/regcomp.c: Remove unnecessary uses of
101255         unsigned RE_TRANSLATE_TYPE.
101256         * lib/regex_internal.h: Likewise.
101257         * lib/regex_internal.c: Likewise.
101258         * lib/regexec.c: Likewise.
101259         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
101261         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
101263         * lib/regexec.c (find_recover_state): Remove unnecessary
101264         initialization.
101265         (transit_state_bkref): Make DFA a const pointer.
101266         (get_subexp): Likewise.
101267         (check_arrival): Likewise.
101268         (update_cur_sifted_state): Likewise.
101269         (re_search_internal): Likewise.
101270         (prune_impossible_nodes): Likewise.
101271         (acquire_init_state_context): Likewise.
101272         (proceed_next_node): Likewise.
101273         (set_regs): Likewise.
101274         (free_fail_stack_return): Likewise.
101275         (check_arrival_expand_ecl): Mark DFA parameter as const.
101276         (check_arrival_expand_ecl_sub): Likewise.
101277         (check_subexp_limits): Likewise.
101278         (sub_epsilon_src_nodes):  Likewise.
101279         (add_epsilon_src_nodes):  Likewise.
101280         (merge_state_array): Likewise.
101281         (update_regs): Likewise.
101282         (build_trtable): Likewise.
101283         (sift_states_backward): Mark MCTX parameter as const.
101284         (build_sifted_states): Likewise.
101285         (update_cur_sifted_state): Likewise.
101286         (sift_states_mkref): Likewise.
101287         (check_arrival_expand_ecl): Mark eclosure as const.
101288         (check_dst_limits_calc_pos_1): Likewise.
101289         * lib/regex_internal.h (re_match_context_t): Make dfa a const
101290         pointer.
101292         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
101294         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
101295         (transit_state_sb): Likewise.
101296         (transit_state_mb): Likewise.
101297         (sift_states_iter_mb): Likewise.
101298         (check_arrival_add_next_nodes): Likewise.
101299         (check_node_accept_bytes): Change first parameter to pointer-to-const.
101300         [_LIBC] (re_search_2_stub): Use mempcpy.
101302         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
101303         mbrtowc for very simple UTF-8 case.
101305         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
101306         a pointer-to-const.
101307         (re_acquire_state_context): Likewise.
101308         * lib/regex_internal.h: Adjust prototypes.
101310         * lib/regex.c: Prevent using C++ compilers.
101312         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
101313         (re_acquire_state_context): Likewise.
101315 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
101317         * modules/regex (Depends-on): Add ssize_t.
101319 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
101321         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
101322         translation table.
101324 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
101326         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
101328 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
101329             Bruno Haible  <bruno@clisp.org>
101331         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
101332         <sys/types.h> and <inttypes.h>.
101334 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
101336         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
101337         `__error_t_defined', so argp.h will not typedef the former.
101339 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
101341         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
101342         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
101343         glibc names.  Even if glibc is changed to conform to POSIX, the
101344         traditional names will be available anyway, since regex depends on
101345         the extensions module.  Also, fix a longstanding typo in the
101346         implementation of Spencer ERE test #75 from grep 2.3.  Problems
101347         reported by Emanuele Giaquinta.  Also, change sense of cached
101348         variable, so that the message makes sense.
101350 2006-03-24  Simon Josefsson  <jas@extundo.com>
101352         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
101353         including some doc fixes.
101354         (base64_encode_alloc): Fix +1 bug on allocation failures.
101356 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
101358         * lib/base64.c (base64_encode): Do not read past end of array with
101359         unsanitized input on systems with CHAR_BIT > 8.
101361 2006-03-24  Eric Blake  <ebb9@byu.net>
101363         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
101365 2006-03-22  Karl Berry  <karl@gnu.org>
101367         * config/srclist.txt (*setenv.[ch]): get from coreutils.
101368         * config/srclistvars.sh (COREUTILS): new var.
101370 2006-03-17  Jim Meyering  <jim@meyering.net>
101372         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
101373         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
101375 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
101377         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
101378         no longer needs it.  Instead, check that regoff_t is as least
101379         as wide as ptrdiff_t.
101381         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
101382         so that our regex.h stays compatible with the installed regex.
101383         This is helpful for installers who configure --without-included-regex.
101384         Problem reported by Emanuele Giaquinta.
101386 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
101388         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
101389         Typedef to long int, not to off_, as POSIX will likely change
101390         in that direction.
101392 2006-03-15  Eric Blake  <ebb9@byu.net>
101394         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
101396 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
101398         * lib/argp-help.c (validate_uparams): Fix typo
101399         * lib/argp-parse.c (argp_default_options): Consistently begin help
101400         messages with a lowercase letter.
101402 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
101404         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
101405         overrun buffers and shouldn't be used (much as gets shouldn't be
101406         used).
101407         * lib/time_r.c (asctime_r, ctime_r): Likewise.
101409 2006-03-08  Simon Josefsson  <jas@extundo.com>
101411         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
101412         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
101414 2006-03-08  Simon Josefsson  <jas@extundo.com>
101416         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
101417         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
101419 2006-03-08  Simon Josefsson  <jas@extundo.com>
101421         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
101422         signal that configure disabled the device.
101424 2006-03-08  Simon Josefsson  <jas@extundo.com>
101426         * build-aux/maint.mk: Fix refresh-po, to handle no translated
101427         languages.
101429 2006-03-07  Simon Josefsson  <jas@extundo.com>
101431         * modules/getopt (Depends-on): Add unistd.
101433         * modules/unistd: New file.
101435 2006-03-07  Simon Josefsson  <jas@extundo.com>
101437         * modules/gc-random: New file.
101439 2006-03-07  Simon Josefsson  <jas@extundo.com>
101441         * m4/unistd_h.m4: New file.
101443 2006-03-07  Simon Josefsson  <jas@extundo.com>
101445         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
101446         test to be side-effect free by storing the result in the cache
101447         variable gl_cv_lib_readline, and moving the assignment of
101448         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
101449         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
101451 2006-03-07  Simon Josefsson  <jas@extundo.com>
101453         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
101454         error on missing devices (the functions will return an error).
101456         * m4/gc.m4: Move random stuff to gc-random.m4
101458 2006-03-07  Simon Josefsson  <jas@extundo.com>
101460         * lib/unistd_.h: New file.
101462 2006-03-07  Simon Josefsson  <jas@extundo.com>
101464         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
101466 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
101468         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
101469         Problem reported by Juan Manuel Guerrero.
101471 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
101473         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
101474         the unistd module.
101475         * lib/getlogin_r.c: Likewise.
101476         * lib/getlogin_r.h: Likewise.
101477         * lib/glob.c: Likewise.
101478         * lib/pagealign_alloc.c: Likewise.
101479         * lib/unistd_.h: Remove; no longer needed.
101481 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
101483         * MODULES.html.sh (Support for systems lacking POSIX:2001):
101484         Add unistd.
101485         * modules/c-stack (Depends-on): Add unistd.
101486         * modules/getlogin_r: Likewise.
101487         * modules/glob: Likewise.
101488         * modules/pagealign_alloc: Likewise.
101489         * modules/unistd (Files): Remove lib/unistd_.h.
101490         (EXTRA_DIST): Remove.
101491         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
101492         need unistd_.h.
101493         (MOSTLYCLEANFILES): Remove unistd.h-t.
101495 2006-03-03  Simon Josefsson  <jas@extundo.com>
101497         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
101499 2006-03-03  Simon Josefsson  <jas@extundo.com>
101501         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
101502         libidn and bison.
101504 2006-03-03  Simon Josefsson  <jas@extundo.com>
101506         * build-aux/maint.mk: Add indent target.
101508 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
101510         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
101511         our replacement poll.h in any case, to avoid a differing
101512         declaration from a system header.  Seen on AIX.
101514 2006-03-01  Simon Josefsson  <jas@extundo.com>
101516         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
101517         <kasal@ucw.cz>.
101519 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
101521         * modules/gettime (Depends-on): Add extensions module.
101522         * modules/nanosleep (Depends-on): Likewise.
101523         * modules/settime (Depends-on): Likewise.
101525 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
101527         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
101528         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
101529         pedantically.
101530         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
101531         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
101533         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
101534         not "==".  Reported by Ralf Wildenhues.
101536 2006-03-01  Karl Berry  <karl@gnu.org>
101538         * doc/Copyright/request-*: new files, synced from gnuorg.
101540 2006-03-01  Karl Berry  <karl@gnu.org>
101542         * config/srclist.txt (Copyright/*): new entries.
101544 2006-02-28  Simon Josefsson  <jas@extundo.com>
101546         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
101548 2006-02-27  Simon Josefsson  <jas@extundo.com>
101550         * lib/base64.h: Indent #define's.  From Jim Meyering
101551         <jim@meyering.net>.
101553 2006-02-27  Jim Meyering  <jim@meyering.net>
101555         Revert the change of 2006-02-24, so these files can continue
101556         to be sync'd from gettext.
101557         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
101558         of `config.h'.
101560 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
101562         * modules/intprops: New file.
101563         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
101564         Add intprops.
101565         * modules/getloadavg (Files): Remove lib/intprops.h.
101566         (Depends-on): Add intprops.
101567         * modules/human: Likewise.
101568         * modules/inttostr: Likewise.
101569         * modules/openat: Likewise.
101570         * modules/sig2str: Likewise.
101571         * modules/userspec: Likewise.
101572         * modules/utimecmp: Likewise.
101573         * modules/xnanosleep: Likewise.
101574         * modules/xstrtol: Likewise.
101576 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
101578         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
101579         * modules/lock-tests (TESTS): Use $(EXEEXT).
101580         * modules/tls-tests: Likewise.
101581         * modules/argp-tests: Likewise.
101582         (check_PROGRAMS): New var, replacing...
101583         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
101585 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
101587         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
101588         `config.h'.
101590 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
101592         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
101594 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
101596         Sync from coreutils.
101597         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
101598         gl_CHDIR_SAFER.
101600 2006-02-22  Jim Meyering  <jim@meyering.net>
101602         Sync from coreutils.
101603         * m4/chdir-safer.m4: New file.
101605 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
101607         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
101608         AT_FDCWD exceeds INT_MAX.
101609         * lib/openat.h (AT_FDCWD): Likewise.
101611 2006-02-17  Eric Blake  <address@hidden>
101613         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
101615 2006-02-16  Simon Josefsson  <jas@extundo.com>
101617         * modules/getaddrinfo (Depends-on): Add sys_socket.
101619 2006-02-15  Simon Josefsson  <jas@extundo.com>
101621         * build-aux/maint.mk: Add dsyntax-check rule.
101623 2006-02-15  Eric Blake  <ebb9@byu.net>
101625         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
101626         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
101627         'present but cannot compile' warnings on cygwin.
101628         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
101629         use ws2tcpip.h if sys/socket.h works.
101630         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
101631         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
101633 2006-02-14  Simon Josefsson  <jas@extundo.com>
101635         * modules/maintainer-makefile (Files): Rename.
101637         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
101638         and (the local) Makefile.cfg to maint-cfg.mk.
101640         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
101641         to the latter.
101643         * modules/maintainer-makefile: New module.
101645         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
101646         severaly stripped to make it possible to build it up from scratch
101647         with reliable tests.
101649         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
101650         fixes to permit overriding the default actions when configure and
101651         makefile are not available.
101653 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
101655         Sync from coreutils.
101656         * modules/lstat (Depends-on): Don't depend on xalloc.
101657         (License): Change from GPL to LGPL, since this is now simply a
101658         replacement for a libc function.
101660 2006-02-14  Jim Meyering  <jim@meyering.net>
101662         Sync from coreutils.
101664         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
101665         failure on deficient systems, and simplify gnulib lgpl dependencies.
101666         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
101667         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
101669         * lib/xalloc-die.c: Remove unused definition of N_.
101671 2006-02-14  Jim Meyering  <jim@meyering.net>
101673         Sync from coreutils.
101674         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
101675         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
101676         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
101677         double-quote uses of that variable, to accommodate the rare case in
101678         which getmntent is available in none of the libraries checked.  This
101679         happens at least on FreeBSD 5.0.
101681 2006-02-13  Simon Josefsson  <jas@extundo.com>
101683         * gnulib-tool (Usage): Fix --import, from
101684         karl@freefriends.org (Karl Berry).
101686 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
101688         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
101690 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
101692         * lib/argp-namefrob.h: Restore changes accidentally lost during the
101693         "autoupdate" on 2005-12-12.
101695 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
101697         * modules/closeout (Depends-on): Remove atexit.
101699 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
101701         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
101702         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
101704 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
101706         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
101707         __EXTENSIONS__ if this causes compilation to fail.  Problem
101708         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
101709         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
101711 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
101713         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
101714         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
101715         <http://lists.gnu.org/r/bug-gnulib/2006-01/msg00074.html>.
101716         All uses changed.
101718 2006-01-26  Simon Josefsson  <jas@extundo.com>
101720         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
101721         prototype is visible on mingw32.
101723         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
101724         for mingw32.
101726         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
101727         mingw32).
101729 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
101731         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
101732         attempt to open for write; this always fails, at least on POSIX
101733         hosts.  This reinstates the 2006-01-09 change, which was
101734         inadvertently removed.
101736 2006-01-26  Bruno Haible  <bruno@clisp.org>
101738         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
101739         Reported by Paul Eggert.
101741 2006-01-26  Bruno Haible  <bruno@clisp.org>
101742             Paul Eggert  <eggert@cs.ucla.edu>
101744         * lib/stdbool_.h (_Bool)
101745         [(! (defined __cplusplus || defined __BEOS__)
101746           && !defined __GNUC__
101747           && !(defined __HP_cc || defined __xlc__
101748                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
101749                || defined __sgi))]:
101750         #define to signed char in these cases too; this simplifies
101751         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
101752         etc., separately) and makes it more conservative.
101754 2006-01-25  Simon Josefsson  <jas@extundo.com>
101756         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
101757         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
101758         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
101760 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
101762         * lib/argp-namefrob.h: Bugfix. Remove stray #
101764 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
101766         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
101767         so that we test the test.
101768         Check for yet another HP-UX cc bug involving *bool |= bool.
101770 2006-01-25  Karl Berry  <karl@gnu.org>
101772         * config/srclist.txt (vasnprintf.c): sync lost.
101774 2006-01-25  Jim Meyering  <jim@meyering.net>
101776         Sync from the stable (b5) branch of coreutils:
101778         * lib/fts.c (fts_children): Don't let close() clobber errno from
101779         failed fchdir().
101781         * lib/fts.c (fts_stat): When following a symlink-to-directory,
101782         don't necessarily interpret stat-fails+lstat-succeeds as indicating
101783         a dangling symlink.  That can also happen at least for ELOOP.
101784         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
101785         FYI, this bug predates the inclusion of fts.c in coreutils.
101787         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
101788         in their own block, so pre-c99 compilers don't object.
101790         Avoid the double-free (first in fts_read, second in fts_close) that
101791         would occur when an `active' directory is made inaccessible (e.g.,
101792         via chmod a-x) during a traversal.
101793         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
101794         before returning.  Reproduce this failure by
101795         mkdir -p a/b; cd a; chmod a-x . b
101796         Reported by Stavros Passas.
101798 2006-01-25  Jim Meyering  <jim@meyering.net>
101800         * lib/fileblocks.c: Remove more useless parentheses.
101801         * lib/readutmp.h: Likewise.
101803 2006-01-25  Bruno Haible  <bruno@clisp.org>
101805         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
101806         warnings.
101807         Reported by Paul Eggert.
101809 2006-01-25  Bruno Haible  <bruno@clisp.org>
101811         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
101812         rid of a trap command. For Solaris sh.
101813         Reported by Mark D. Baushke <mdb@gnu.org>.
101815 2006-01-24  Simon Josefsson  <jas@extundo.com>
101817         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
101818         Bruno.
101820 2006-01-24  Karl Berry  <karl@gnu.org>
101822         * config/srclist.txt (argp-namefrob.h): sync lost.
101824 2006-01-24  Jim Meyering  <jim@meyering.net>
101826         * modules/openat (Files): Add lib/intprops.h.
101827         From Mark D. Baushke.
101829 2006-01-24  Jim Meyering  <jim@meyering.net>
101831         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
101832         Reported by Mark D. Baushke.
101834 2006-01-24  Jim Meyering  <jim@meyering.net>
101836         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
101838 2006-01-24  Bruno Haible  <bruno@clisp.org>
101840         * modules/strnlen (Maintainer): Change from glibc to all.
101842 2006-01-24  Bruno Haible  <bruno@clisp.org>
101844         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
101845         Patch by Paul Eggert.
101847 2006-01-24  Bruno Haible  <bruno@clisp.org>
101849         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
101850         already has it.
101851         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
101852         2005-11-26.
101854         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
101855         'signed char' to avoid problems with the built-in _Bool type.
101856         Reported by Paul Eggert on 2005-11-26.
101858 2006-01-24  Bruno Haible  <bruno@clisp.org>
101860         * gnulib-tool (func_import): Avoid constructing complicated sed
101861         expressions inside backquote.
101862         Report and solution by Mark D. Baushke <mdb@gnu.org>.
101864 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
101866         These changes imported from libc.
101867         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
101868         test and two separate function calls.
101869         * lib/strndup.c (__strndup): Add libc_hidden_def.
101871 2006-01-23  Simon Josefsson  <jas@extundo.com>
101873         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
101874         Remove the test_*_SOURCES variable: automake infers it by default.
101875         * modules/tls-tests: Likewise.
101877 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
101879         Work around porting bugs reported by Dieter in
101880         <http://lists.gnu.org/r/bug-bison/2006-01/msg00049.html>.
101881         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
101882         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
101883         Include "getopt.h" first, to check interface.
101884         (getenv): Declare only if defined HAVE_DECL_GETENV &&
101885         !HAVE_DECL_GETENV.
101886         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
101887         (__strndup): Revert to K&R-style function dfns, the glibc style.
101888         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
101889         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
101890         Include strnlen.h first, to get prototype properly.
101891         (strnlen): Renamed from __strnlen.
101892         Remove weak alias.
101894 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
101896         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
101898 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
101900         * config/srclist.txt: Adjust to reflect glibc reorganization.
101901         This affects only comments.
101903 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
101905          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
101906          Reported by Bruce Korb <bkorb@gnu.org>.
101908 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
101910         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
101911         to pacify gcc -Wswitch-default.
101913 2006-01-22  Bruno Haible  <bruno@clisp.org>
101915         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
101916         temporary buffer for sprintf, take into account the precision also
101917         for 'd', 'i', 'u', 'o', 'x', 'X'.
101919 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
101921         * modules/argp-tests: New module
101922         * tests/test-argp.c: New file
101923         * tests/test-argp-2.sh: New file
101925 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
101927         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
101928         (__argp_base_name): Removed
101929         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
101930         typo.
101931         (__argp_base_name): Provide macro definition or extern declaration
101932         depending on the configuration
101934 2006-01-20  Simon Josefsson  <jas@extundo.com>
101936         * modules/inet_ntop (Depends-on): Depend on sys_socket.
101938 2006-01-20  Simon Josefsson  <jas@extundo.com>
101940         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
101942 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
101944         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
101945         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
101946         Suggested by Bruno Haible.
101948 2006-01-20  Karl Berry  <karl@gnu.org>
101950         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
101951         until changes propagate, I guess.
101953 2006-01-19  Simon Josefsson  <jas@extundo.com>
101955         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
101957 2006-01-19  Simon Josefsson  <jas@extundo.com>
101959         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
101961 2006-01-19  Simon Josefsson  <jas@extundo.com>
101963         * gnulib-tool: Set check_PROGRAMS.
101965         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
101966         modules/des-tests, modules/gc-arcfour-tests,
101967         modules/gc-arctwo-tests, modules/gc-des-tests,
101968         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
101969         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
101970         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
101971         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
101972         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
101973         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
101974         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
101975         test_*_SOURCES.
101977 2006-01-18  Simon Josefsson  <jas@extundo.com>
101979         * modules/socklen (Depends-on): Depend on sys_socket.
101981 2006-01-18  Simon Josefsson  <jas@extundo.com>
101983         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
101984         modules/des-tests, modules/gc-arcfour-tests,
101985         modules/gc-arctwo-tests, modules/gc-des-tests,
101986         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
101987         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
101988         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
101989         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
101990         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
101991         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
101992         $(EXEEXT) to automake TESTS variable, for mingw32.
101994 2006-01-17  Simon Josefsson  <jas@extundo.com>
101996         * modules/socklen (Include): Need sys/socket.h.
101998 2006-01-17  Bruno Haible  <bruno@clisp.org>
102000         * modules/ssize_t (Include): Add <sys/types.h>.
102002 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
102004         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
102005         it's not portable and it doesn't work with cross-compiles.
102006         Problem reported by Bruno Haible.  Fix missing-$ typo in
102007         'test "gl_cv_ignore_unused_libraries" ...' that prevented
102008         -zignore from being used with Sun's C compiler.
102010 2006-01-12  Simon Josefsson  <jas@extundo.com>
102012         * lib/base64.c: Fix warning, reported by Bruno Haible
102013         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
102015 2006-01-12  Bruno Haible  <bruno@clisp.org>
102017         * modules/ldd: New file.
102018         * build-aux/ldd.sh.in: New file.
102019         * MODULES.html.sh (Support for building libraries and executables): Add
102020         ldd.
102022 2006-01-12  Bruno Haible  <bruno@clisp.org>
102024         * m4/ldd.m4: New file.
102026 2006-01-12  Bruno Haible  <bruno@clisp.org>
102028         * gnulib-tool (func_import, func_create_testdir): Don't go into an
102029         endless loop while replacing $auxdir with build-aux.
102031 2006-01-11  Simon Josefsson  <jas@extundo.com>
102033         * lib/stdint_.h (SIZE_MAX): Add missing (.
102035 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
102037         Sync from coreutils.
102038         * lib/md5.c: Fix commentary typos.
102039         (alignof, UNALIGNED_P): No need for a GCC-specific version.
102040         * lib/md5.h (__attribute__): Remove; unused.
102041         * lib/sha1.c: Fix commentary to match md5 better.
102042         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
102043         so that we don't need to worry about alignment.  All uses changed.
102044         This merges the 2005-10-28 md5 change into sha1.
102046 2006-01-11  Jim Meyering  <jim@meyering.net>
102048         Sync from coreutils.
102049         * lib/md5.c (OP): Fix spacing.
102051 2006-01-11  Bruno Haible  <bruno@clisp.org>
102053         Ensure automatic ordering between gl_LOCK and gl_ARGP.
102054         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
102055         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
102057 2006-01-11  Bruno Haible  <bruno@clisp.org>
102059         Ensure automatic ordering between gl_LOCK and gl_ARGP.
102060         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
102061         the "early" section as well.
102063 2006-01-11  Bruno Haible  <bruno@clisp.org>
102065         Avoid "ar: no archive members specified" error on MacOS X.
102066         * gnulib-tool (func_modules_add_dummy): New function.
102067         (func_import, func_create_testdir): Invoke it.
102069 2006-01-11  Bruno Haible  <bruno@clisp.org>
102071         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
102072         with $auxdir in AC_CONFIG_FILES statements.
102074 2006-01-11  Bruno Haible  <bruno@clisp.org>
102076         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
102077         Initialize also noinst_HEADERS to empty.
102079 2006-01-11  Bruno Haible  <bruno@clisp.org>
102081         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
102082         variables.
102083         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
102084         autoreconf.
102086 2006-01-11  Bruno Haible  <bruno@clisp.org>
102088         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
102089         overridable by the user.
102090         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
102092 2006-01-10  Simon Josefsson  <jas@extundo.com>
102094         * modules/sys_socket: New file.
102096 2006-01-10  Simon Josefsson  <jas@extundo.com>
102098         * m4/sys_socket_h.m4: New file.
102100 2006-01-10  Simon Josefsson  <jas@extundo.com>
102102         * lib/socket_.h: New file.
102104 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
102106         * modules/readutmp (Maintainer): Add myself.
102108 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
102110         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
102111         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
102112         People who are still concerned with buggy memcmp implementations
102113         can invoke gl_FUNC_MEMCMP themselves.
102115 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
102117         * lib/regex_internal.h (BITSET_WORD_BITS):
102118         Work around a bug in 64-bit PGC (before version 6.1-2), where the
102119         preprocessor mishandles large unsigned values as if they were signed.
102120         Problem reported by Claudio Fontana in
102121         <http://lists.gnu.org/r/bug-gnulib/2005-12/msg00061.html>.
102123 2006-01-10  Jim Meyering  <jim@meyering.net>
102125         Avoid the double-free (first in fts_read, second in fts_close) that
102126         would occur when an `active' directory is made inaccessible (e.g.,
102127         via chmod a-x) during a traversal.
102128         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
102129         before returning.  Reproduce this failure by
102130         mkdir -p a/b; cd a; chmod a-x . b
102131         Reported by Stavros Passas.
102133         Sync from coreutils.
102134         * lib/sha1.c: Tweak grammar in a comment.
102136 2006-01-10  Jim Meyering  <jim@meyering.net>
102138         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
102139         Patch by Joerg Sonnenberger.
102141 2006-01-10  Bruno Haible  <bruno@clisp.org>
102143         * modules/readutmp: Depend on module free.
102144         * modules/strtok_r: Depend on module restrict.
102146 2006-01-10  Bruno Haible  <bruno@clisp.org>
102148         * modules/gettext (configure.ac): Add an invocation of
102149         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
102151 2006-01-10  Bruno Haible  <bruno@clisp.org>
102153         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
102154         Reported by Werner Lemberg <wl@gnu.org>.
102156 2006-01-10  Bruno Haible  <bruno@clisp.org>
102158         * lib/localcharset.c: Update from GNU gettext.
102160 2006-01-10  Bruno Haible  <bruno@clisp.org>
102162         * lib/argp.h (__const): Remove macro. Use const instead.
102163         * lib/argp-fmtstream.h (__const): Likewise.
102164         * lib/glob_.h (__const): Remove macro.
102165         * lib/glob-libc.h: Use const instead of __const.
102167 2006-01-10  Bruno Haible  <bruno@clisp.org>
102169         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
102170         variable.
102171         Needed to avoid an automake error regarding the 'gettext' module.
102173 2006-01-09  Simon Josefsson  <jas@extundo.com>
102175         * modules/inet_ntop (Depends-on): Add restrict.
102177 2006-01-09  Simon Josefsson  <jas@extundo.com>
102179         * modules/gc-rijndael-tests (License): Put under LGPL.
102181         * modules/gc-des-tests (License): Likewise.
102183         * modules/gc-arcfour-tests (License): Likewise.
102185         * modules/gc-arctwo-tests (License): Likewise.
102187         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
102189         * modules/gc-hmac-sha1-tests (Files): Likewise.
102191         * modules/gc-hmac-md5-tests (License): Likewise.
102193         * modules/gc-sha1-tests (License): Likewise.
102195         * modules/gc-md5-tests (License): Likewise.
102197         * modules/gc-md4-tests (License): Likewise.
102199         * modules/gc-md2-tests (License): Likewise.
102201         * modules/gc-tests (License): Likewise.
102203         * modules/des-tests (License): Likewise.
102205         * modules/md4-tests (License): Likewise.
102207         * modules/md2-tests (License): Likewise.
102209 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
102211         Sync from coreutils:
102213         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
102214         * modules/lib-ignore: New file.
102215         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
102216         chdir-safer.m4, lchmod.m4.
102217         * modules/openat: Add mkdirat.c, openat-priv.h.
102219 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
102221         Sync from coreutils.
102222         * m4/lib-ignore.m4: New file.
102223         * m4/lchmod.m4: New file.
102225 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
102227         Sync from coreutils.
102228         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
102229         for write access: POSIX says that must fail.
102230         * lib/fts.c (diropen): Likewise.
102231         * lib/save-cwd.c (save_cwd): Likewise.
102232         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
102233         well, for minor improvements on hosts that lack O_DIRECTORY.
102234         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
102235         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
102236         Fall back on chown if open failed with EACCES.
102238         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
102239         Report an error at compile-time if only a 1-second nominal clock
102240         resolution is found.
102242         * lib/lchmod.h: New file.
102243         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
102244         (make_dir_parents): Use lchown rather than chown, and
102245         lchmod rather than chmod.
102247         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
102248         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
102249         "proc" reported by n0dalus.
102251         * lib/mountlist.c: Include <limits.h>.
102252         (dev_from_mount_options)
102253         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
102254         New function.  It no longer assumes "dev=" has the System V meaning
102255         on Linux (since it doesn't).  It also parses "dev=" more carefully.
102256         (read_file_system_list)
102257         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
102258         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
102259         dev= in that case.
102261         * lib/posixtm.h (PDS_PRE_2000): New macro.
102262         * lib/posixtm.c (year): Arg is now syntax_bits rather than
102263         allow_century.  All usages changed.  Reject dates outside the range
102264         1969-1999 if PDS_PRE_2000 is used.
102266 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
102268         Sync from coreutils.
102269         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
102270         (Time of day items): Mention the possibility of leap seconds.
102271         Problem reported by Dr. David Alan Gilbert.
102273 2006-01-09  Jim Meyering  <jim@meyering.net>
102275         Sync from coreutils.
102277         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
102279         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
102281         * lib/modechange.c (mode_compile): Reject an invalid mode string
102282         that starts with an octal digit.  From Andreas Gruenbacher.
102284         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
102285         and dup to open_safer and dup_safer, respectively.
102286         (openat_permissive): Fix typo in comment.
102288         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
102289         "gettext.h"; either no longer needed or are guaranteed by openat.h.
102290         (_): Remove; no longer needed.
102291         (openat): Renamed from rpl_openat; no need for rpl_openat
102292         since openat.h renames openat for us.
102293         Replace most of the body with a call to openat_permissive,
102294         to avoid duplicate code.
102295         Port to (probably hypothetical) environments were mode_t is
102296         wider than int.
102297         (openat_permissive): Require mode arg, so that we can check
102298         types better.  Put it just after flags.  Change cwd failure
102299         indicator from pointer-to-bool to pointer-to-errno-value.
102300         All callers changed.
102301         Invoke openat_save_fail and/or openat_restore_fail if
102302         cwd_errno is null, so that openat can call us.
102303         (openat_permissive, fdopendir, fstatat, unlinkat):
102304         Simplify errno handling to avoid some duplicate code,
102305         as it's OK to set errno on success.
102306         * lib/openat.h: Revamp code so that function macros depend on
102307         __OPENAT_PREFIX only, not also on AT_FDCWD.
102308         (openat_ro): Remove.  Caller changed to use openat_permissive.
102309         (openat_permissive): Now a macro, if not a function.
102310         (openat_restore_fail, openat_save_fail): Now always functions,
102311         since mkdirat needs them even if __OPENAT_PREFIX is defined.
102313         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
102314         and openat.c.
102315         * lib/mkdirat.c: Include openat-priv.h.
102316         Remove definitions of macros defined therein.
102317         * lib/openat.c: Likewise.
102319         * lib/mkdirat.c (mkdirat): New file and function.
102320         * lib/openat.h (mkdirat): Declare.
102322         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
102324         * lib/openat.h (openat_permissive): Declare.
102325         (openat_ro): Define.
102327         * lib/openat.c (EXPECTED_ERRNO): New macro.
102328         (openat_permissive): New function -- used in remove.c rewrite.
102329         (all functions): Set errno just before returning, only if there
102330         was an actual failure.
102331         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
102333         Emulate openat-family functions using Linux's procfs, if possible.
102334         Idea and some code based on Ulrich Drepper's glibc changes.
102336         * lib/openat.c: (BUILD_PROC_NAME): New macro.
102337         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
102338         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
102339         before falling back on save_cwd and restore_cwd.
102340         (fdopendir, fstatat, unlinkat): Likewise.
102342         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
102343         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
102345         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
102346         as second argument to va_arg.  Otherwise, some versions of gcc
102347         warn that `if this code is reached, the program will abort'.
102349 2006-01-09  Jim Meyering  <jim@meyering.net>
102351         Sync from coreutils.
102352         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
102353         Require openat-priv.h.
102355 2006-01-09  Bruno Haible  <bruno@clisp.org>
102357         * modules/strnlen (Include): Use strnlen.h.
102359 2006-01-09  Bruno Haible  <bruno@clisp.org>
102361         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
102363 2006-01-09  Bruno Haible  <bruno@clisp.org>
102365         * lib/sysexit_.h (EX_OK): New macro.
102366         Suggested by Martin Lambers <marlam@marlam.de>.
102368 2006-01-09  Bruno Haible  <bruno@clisp.org>
102370         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
102371         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
102373 2006-01-09  Bruno Haible  <bruno@clisp.org>
102375         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
102376         numbers.
102378 2006-01-09  Bruno Haible  <bruno@clisp.org>
102380         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
102381         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
102382         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
102383         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
102385 2006-01-09  Bruno Haible  <bruno@clisp.org>
102387         * build-aux/javacomp.sh.in: New file, moved from lib/.
102388         * modules/javacomp-script (Files): Update.
102389         (configure.ac): Add AC_CONFIG_FILES invocation.
102390         (EXTRA_DIST): Remove variable.
102392         * build-aux/javaexec.sh.in: New file, moved from lib/.
102393         * modules/javaexec (Files): Update.
102394         (configure.ac): Add AC_CONFIG_FILES invocation.
102395         (EXTRA_DIST): Remove javaexec.sh.in.
102397         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
102398         * modules/csharpcomp-script (Files): Update.
102399         (configure.ac): Add AC_CONFIG_FILES invocation.
102400         (EXTRA_DIST): Remove variable.
102402         * build-aux/csharpexec.sh.in: New file, moved from lib/.
102403         * modules/csharpexec (Files): Update.
102404         (configure.ac): Add AC_CONFIG_FILES invocation.
102405         (EXTRA_DIST): Remove csharpexec.sh.in.
102407 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
102409         Sync from coreutils.
102411         Add POSIX ACL support
102412         * lib/acl.h (copy_acl, set_acl): Add declarations.
102413         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
102414         systems other than Linux.
102415         (chmod_or_fchmod): New function: use fchmod when possible,
102416         and chmod otherwise.
102417         (file_has_acl): Add a POSIX ACL implementation, with a
102418         Linux-specific subcase.
102419         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
102420         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
102421         acls are unsupported.
102422         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
102423         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
102424         are unsupported.
102426 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
102428         Sync from coreutils.
102429         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
102431 2006-01-07  Bruno Haible  <bruno@clisp.org>
102433         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
102434         gl_EARLY.
102436 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
102438         * lib/strftime.c (tzname): Don't declare if it is already #defined.
102439         Problem reported for Mingw by Mark Junker.
102441 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
102443         * README: Gnulib normally doesn't generate a tarball.
102445 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
102447         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
102448         long int, not int, for nanosecond counts, so that people who are
102449         used to POSIX struct timespec won't be surprised.  Reported by Jim
102450         Meyering.
102452 2005-12-28  Bruno Haible  <bruno@clisp.org>
102454         * build-aux/config.rpath: Update from GNU gettext.
102456 2005-12-16  Jim Meyering  <jim@meyering.net>
102458         * modules/fprintftime: New module.
102459         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
102461 2005-12-16  Jim Meyering  <jim@meyering.net>
102463         * m4/fprintftime.m4: New file.
102465 2005-12-16  Jim Meyering  <jim@meyering.net>
102467         * lib/fprintftime.c, lib/fprintftime.h: New files.
102469 2005-12-15  Simon Josefsson  <jas@extundo.com>
102471         * modules/socklen (configure.ac): Fix M4 macro name, to align with
102472         new m4/socklen.m4.
102474 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
102476         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
102477         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
102479 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
102481         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
102482         * lib/argp-help.c (fill_in_uparams): Check if the constructed
102483         struct uparams is valid. Fall back to the default values if it is
102484         not.
102486 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
102488         * modules/argp (Files): Add argp-pin.c
102489         (Depends-on): dirname
102490         (lib_SOURCES): Add argp-pin.c
102492 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
102494         * m4/argp.m4:  Check if program_invocation_name and
102495         program_invocation_short_name are declared and define appropriate
102496         macros if they are not.
102498 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
102500         * lib/argp-help.c (__argp_base_name): New function
102501         (__argp_short_program_name): Rewrite using __argp_base_name
102502         * lib/argp-namefrob.h: Define program_invocation_name and
102503         program_invocation_short_name if requested
102504         (__argp_base_name): Add prototype
102505         * lib/argp-parse.c (argp_def): Use gettext wrappers
102506         (argp_default_parser): Use __argp_base_name
102507         * lib/argp-pin.c: New file. Defines program_invocation_name and
102508         program_invocation_short_name on systems that lack them.
102510 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
102512         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
102513         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
102514         porting problem reported by Georg Schwarz in
102515         <http://lists.gnu.org/r/bug-coreutils/2005-12/msg00083.html>.
102517 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
102519         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
102520         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
102521         porting problem reported by Georg Schwarz in
102522         <http://lists.gnu.org/r/bug-coreutils/2005-12/msg00083.html>.
102524 2005-12-05  Bruno Haible  <bruno@clisp.org>
102526         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
102527         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
102528         Reported by Mark Junker <mjscod@gmx.de>.
102530 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
102532         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
102533         Use implementation from Albert Chin, with some
102534         comments/corrections by Stepan Kasal and myself.
102536 2005-12-02  Bruno Haible  <bruno@clisp.org>
102538         * gnulib-tool (func_import): Accept GPLed build tool modules when
102539         --lgpl is given.
102540         * modules/csharpcomp-script: New file.
102541         * modules/csharpcomp: Depend on it.
102542         * modules/javacomp-script: New file.
102543         * modules/javacomp: Depend on it.
102544         Suggested by Simon Josefsson.
102546 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
102548         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
102549         statement, to work around an HP-UX 10.20 compiler bug reported by
102550         Peter O'Gorman.
102552 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
102554         * modules/savedir (Depends-on): Add openat.
102556 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
102558         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
102559         (uintmax_t) [defined uintmax_t]: Do not declare.
102560         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
102561         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
102562         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
102563         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
102564         sake of portability to weird hosts that C allows (though we don't
102565         know of any practical examples).
102567         * lib/savedir.h (fdsavedir): New decl.
102568         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
102569         contains most of the former guts of savedir.
102570         (savedir): Use savedirstream.
102571         Include "openat.h".
102573 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
102575         * modules/obstack (Files): Add m4/ulonglong.m4.
102576         Problem reported by Davide Angelocola.
102578 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
102580         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
102581         coreutils no longer futzes with rounding modes.
102583 2005-11-14  Jim Meyering  <jim@meyering.net>
102585         * lib/mkstemp-safer.c: Include <config.h>, required for possible
102586         replacement of mkstemp.
102588 2005-11-10  Simon Josefsson  <jas@extundo.com>
102590         * lib/readline.c: Remove EOL.
102592 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
102594         * modules/gethrxtime (Depends-on): Add gettime.
102596 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
102598         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
102599         or gettimeofday; no longer needed.
102601 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
102603         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
102604         time business.
102605         (gethrxtime) [! (HAVE_NANOUPTIME
102606         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
102607         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
102608         our own approximation.
102610 2005-11-08  Eric Blake  <ebb9@byu.net>
102612         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
102614 2005-11-08  Eric Blake  <ebb9@byu.net>
102616         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
102618 2005-11-04  Bruno Haible  <bruno@clisp.org>
102620         * gnulib-tool: Implement --update mode.
102622 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
102624         Fix porting problem reported by Theodoros V. Kalamatianos.
102625         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
102626         Don't assume that futimes failing means we must fail.
102628 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
102630         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
102631         variables to suggest the intended function of the PATH_MAX check.
102633 2005-10-30  Kean Johnston  <jkj@sco.com>
102635         Trivial changes to support SCO systems.
102636         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
102637         as PATH_MAX.
102638         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
102639         where __ptr is null when no I/O is pending.
102641 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
102643         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
102644         leave errno alone.  Problem reported by Dmitry V. Levin.
102646 2005-10-28  Simon Josefsson  <jas@extundo.com>
102648         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
102649         Test more.
102651         * tests/test-gc-md2.c, tests/test-md2.c: New files.
102653         * modules/md2, modules/md2-tests: New files.
102655 2005-10-28  Simon Josefsson  <jas@extundo.com>
102657         * m4/inet_ntop.m4: More tests.
102659         * m4/gc-md2.m4, md2.m4: New file.
102661 2005-10-28  Simon Josefsson  <jas@extundo.com>
102663         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
102664         "restrict" keywords, as per POSIX.  Protect the function
102665         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
102666         Don't use K&R prototypes.  Check the sprintf return values.
102667         Re-define EAFNOSUPPORT if not present.  Indent.
102669         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
102670         suggested by Bruno Haible <bruno@clisp.org>.
102672         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
102674         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
102676         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
102677         libgcrypt).
102679         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
102681         * lib/md2.h, lib/md2.c: New files.
102683 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
102685         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
102686         errno alone.  Problem reported by Frederic Jolliton.
102688 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
102690         * modules/verify (License): Change from GPL to LGPL.  This is a
102691         tiny module and there are apparently near-equivalents that are
102692         under the BSD license.
102694 2005-10-24  Simon Josefsson  <jas@extundo.com>
102696         * modules/sha1: Relicense to LGPL.
102698 2005-10-24  Simon Josefsson  <jas@extundo.com>
102700         * lib/md4.h: Shrink buffer size, now that we changed the type.
102702 2005-10-23  Simon Josefsson  <jas@extundo.com>
102704         * gnulib-tool (func_import): Fix --tests-base.
102706 2005-10-22  Simon Josefsson  <jas@extundo.com>
102708         * modules/arcfour (Depends-on): Need stdint.
102710 2005-10-22  Simon Josefsson  <jas@extundo.com>
102712         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
102713         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
102715 2005-10-22  Simon Josefsson  <jas@extundo.com>
102717         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
102718         suggested by Bruno Haible <bruno@clisp.org>.
102720 2005-10-22  Simon Josefsson  <jas@extundo.com>
102722         * lib/crc.h: Include stddef.h, for size_t.
102724 2005-10-22  Simon Josefsson  <jas@extundo.com>
102726         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
102727         arcfour_context struct (simplify test vector testing in GNU
102728         Shishi).
102730 2005-10-21  Simon Josefsson  <jas@extundo.com>
102732         * modules/des, modules/des-tests: New files.
102734         * modules/gc-des, modules/gc-des-tests: New files.
102736         * tests/test-des.c, tests/test-gc-des.c: New file.
102738 2005-10-21  Simon Josefsson  <jas@extundo.com>
102740         * modules/arctwo, modules/arctwo-tests: New files.
102742         * tests/test-arctwo.c: New file.
102744         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
102746         * tests/test-gc-arctwo.c: New file.
102748 2005-10-21  Simon Josefsson  <jas@extundo.com>
102750         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
102751         Bruno Haible <bruno@clisp.org>.
102753         * m4/gc-des.m4: New file.
102755 2005-10-21  Simon Josefsson  <jas@extundo.com>
102757         * m4/arctwo.m4: New file.
102759         * m4/gc-arctwo.m4: New file.
102761 2005-10-21  Simon Josefsson  <jas@extundo.com>
102763         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
102764         block.
102766 2005-10-21  Simon Josefsson  <jas@extundo.com>
102768         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
102769         <bruno@clisp.org>.
102771         * lib/hmac-sha1.c (hmac_sha1): Likewise.
102773         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
102774         Bruno Haible <bruno@clisp.org>.
102776         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
102777         <bruno@clisp.org>.
102779 2005-10-21  Simon Josefsson  <jas@extundo.com>
102781         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
102783 2005-10-21  Simon Josefsson  <jas@extundo.com>
102785         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
102787 2005-10-21  Simon Josefsson  <jas@extundo.com>
102789         * lib/des.h, lib/des.c: New files.
102791         * lib/gc-gnulib.c: Support DES.c
102793 2005-10-21  Simon Josefsson  <jas@extundo.com>
102795         * lib/arctwo.h, lib/arctwo.c: New files.
102797         * lib/gc-gnulib.c: Support ARCTWO.
102799 2005-10-21  Simon Josefsson  <jas@extundo.com>
102801         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
102802         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
102804 2005-10-21  Simon Josefsson  <jas@extundo.com>
102806         * gnulib-tool (func_import, func_create_testdir): Define automake
102807         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
102808         Makefile.am snippet),
102809         suggested by Bruno Haible <bruno@clisp.org>.
102811         * modules/gc (Makefile.am): Use it.
102813 2005-10-21  Bruno Haible  <bruno@clisp.org>
102815         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
102816         patch.
102818 2005-10-19  Simon Josefsson  <jas@extundo.com>
102820         * tests/test-gc-rijndael.c: New file.
102822         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
102824 2005-10-19  Simon Josefsson  <jas@extundo.com>
102826         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
102827         interface too.
102829 2005-10-19  Simon Josefsson  <jas@extundo.com>
102831         * tests/test-gc-arcfour.c: New file.
102833         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
102835 2005-10-19  Simon Josefsson  <jas@extundo.com>
102837         * modules/gc-md4, modules/gc-md4-tests: New file.
102839         * tests/test-gc-md4.c: New file.
102841 2005-10-19  Simon Josefsson  <jas@extundo.com>
102843         * m4/gc-md4.m4: New file.
102845 2005-10-19  Simon Josefsson  <jas@extundo.com>
102847         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
102848         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
102849         <kasal@ucw.cz>.
102851 2005-10-19  Simon Josefsson  <jas@extundo.com>
102853         * m4/gc-arcfour.m4: New file.
102855         * m4/gc-rijndael.m4: New file.
102857 2005-10-19  Simon Josefsson  <jas@extundo.com>
102859         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
102861 2005-10-19  Simon Josefsson  <jas@extundo.com>
102863         * lib/gc-gnulib.c: Support ARCFOUR.
102865 2005-10-19  Simon Josefsson  <jas@extundo.com>
102867         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
102868         support.
102870         * lib/gc.h: Add ECB enum type.
102872         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
102874 2005-10-18  Simon Josefsson  <jas@extundo.com>
102876         * tests/test-md5.c: New file.
102878         * modules/md5-tests: New file.
102880 2005-10-18  Simon Josefsson  <jas@extundo.com>
102882         * tests/test-md4.c: New file.
102884         * modules/md4, modules/md4-tests: New files.
102886 2005-10-18  Simon Josefsson  <jas@extundo.com>
102888         * m4/md4.m4: New file.
102890 2005-10-18  Simon Josefsson  <jas@extundo.com>
102892         * lib/md4.h, lib/md4.c: New files, based on md5.?.
102894 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
102896         * gnulib-tool (func_create_testdir): Omit the second check whether
102897         BUILT_SOURCES in nonempty.
102899 2005-10-17  Simon Josefsson  <jas@extundo.com>
102901         * tests/test-rijndael.c: New file.
102903 2005-10-17  Simon Josefsson  <jas@extundo.com>
102905         * modules/sha1: Depend on stdint instead of md5.
102907         * modules/md5: Depend on stdint, remove uint32_t.
102909 2005-10-17  Simon Josefsson  <jas@extundo.com>
102911         * modules/gc-sha1-tests: New file.
102913         * tests/test-gc-sha1.c: New file.
102915 2005-10-17  Simon Josefsson  <jas@extundo.com>
102917         * m4/md5.m4: Remove call to uint32_t.m4.
102919 2005-10-17  Simon Josefsson  <jas@extundo.com>
102921         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
102923         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
102924         md5.h.
102926         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
102928         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
102930 2005-10-17  Simon Josefsson  <jas@extundo.com>
102932         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
102934 2005-10-17  Simon Josefsson  <jas@extundo.com>
102936         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
102938 2005-10-17  Simon Josefsson  <jas@extundo.com>
102940         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
102942         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
102944 2005-10-17  Bruno Haible  <bruno@clisp.org>
102946         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
102947         that it can also be used in a test.
102949 2005-10-16  Bruno Haible  <bruno@clisp.org>
102951         * gnulib-tool (func_emit_tests_Makefile_am): Also define
102952         TESTS_ENVIRONMENT, so that individual tests can augment it.
102954         * gnulib-tool (func_create_testdir): Use an intermediate target for
102955         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
102956         macros, like $(ALLOCA_H), which cannot be passed through the command
102957         line.
102959 2005-10-15  Simon Josefsson  <jas@extundo.com>
102961         * modules/rijndael-tests: New file.
102963         * modules/rijndael: New file.
102965 2005-10-15  Simon Josefsson  <jas@extundo.com>
102967         * m4/rijndael.m4: New file.
102969 2005-10-15  Simon Josefsson  <jas@extundo.com>
102971         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
102973         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
102975 2005-10-14  Simon Josefsson  <jas@extundo.com>
102977         * tests/test-arcfour.c: New file.
102979         * modules/arcfour, modules/arcfour-tests: New files.
102981 2005-10-14  Simon Josefsson  <jas@extundo.com>
102983         * m4/arcfour.m4: New file.
102985 2005-10-14  Simon Josefsson  <jas@extundo.com>
102987         * lib/arcfour.h, lib/arcfour.c: New files.
102989 2005-10-14  Roland McGrath  <roland@redhat.com>
102991         Import from libc.  [BZ #1331]
102992         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
102993         macro argument.
102994         Reported by Matej Vela <vela@debian.org>.
102996 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
102998         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
102999         include <wchar.h>; no longer needed.
103001 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
103003         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
103005 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
103006         and  Ulrich Drepper  <drepper@redhat.com>
103008         Import from libc.
103009         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
103010         instead of inline stream orientation test and two separate
103011         function calls.  Pay no attention to USE_IN_LIBIO.
103013 2005-10-13  Simon Josefsson  <jas@extundo.com>
103015         * modules/gc-hmac-md5-tests: New file.
103017         * tests/test-gc-hmac-sha1.c: New file.
103019         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
103021         * modules/gc-hmac-md5-tests: New file.
103023         * tests/test-gc-md5.c: New file.
103025         * modules/gc-md5-tests: New file.
103027 2005-10-13  Simon Josefsson  <jas@extundo.com>
103029         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
103030         Move memory allocation outside of loop.
103032 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
103034         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
103035         intermediate directory is in a read-only file system.  Problem
103036         reported by Eric Blake.
103038 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
103040         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
103042 2005-10-12  Simon Josefsson  <jas@extundo.com>
103044         * tests/test-hmac-sha1.c: New file.
103046         * modules/hmac-sha1-tests: New file.
103048         * modules/hmac-sha1: New file.
103050 2005-10-12  Simon Josefsson  <jas@extundo.com>
103052         * modules/gc-sha1: New file.
103054 2005-10-12  Simon Josefsson  <jas@extundo.com>
103056         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
103058         * tests/test-gc-pbkdf2-sha1.c: New file.
103060 2005-10-12  Simon Josefsson  <jas@extundo.com>
103062         * modules/gc-md5, modules/gc-hmac-md5: New files.
103064         * modules/gc (Files): Remove md5, memxor and hmac files.
103066 2005-10-12  Simon Josefsson  <jas@extundo.com>
103068         * m4/gc-pbkdf2-sha1.m4: New file.
103070         * m4/gc-hmac-sha1.m4: New file.
103072         * m4/gc-sha1: New file.
103074         * m4/hmac-sha1.m4: New file.
103076 2005-10-12  Simon Josefsson  <jas@extundo.com>
103078         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
103080         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
103082 2005-10-12  Simon Josefsson  <jas@extundo.com>
103084         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
103085         suggested by Bruno Haible <bruno@clisp.org>.
103087 2005-10-12  Simon Josefsson  <jas@extundo.com>
103089         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
103091 2005-10-12  Simon Josefsson  <jas@extundo.com>
103093         * lib/gc-pbkdf2-sha1.c: New file.
103095         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
103097 2005-10-12  Simon Josefsson  <jas@extundo.com>
103099         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
103101         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
103103 2005-10-12  Simon Josefsson  <jas@extundo.com>
103105         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
103106         GC_USE_HMAC_MD5, respectively.
103108         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
103109         (gc_md5): Fix typo.
103111         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
103113         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
103115         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
103117 2005-10-12  Bruno Haible  <bruno@clisp.org>
103119         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
103120         Reported by Stepan Kasal <kasal@ucw.cz>.
103122 2005-10-11  Simon Josefsson  <jas@extundo.com>
103124         * tests/test-crc.c: New file.
103126         * modules/crc, modules/crc-tests: New files.
103128 2005-10-11  Simon Josefsson  <jas@extundo.com>
103130         * m4/crc.m4: New file.
103132 2005-10-11  Simon Josefsson  <jas@extundo.com>
103134         * lib/gc.h: Add gc_hash and gc_hash_buffer.
103136         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
103138         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
103140 2005-10-11  Simon Josefsson  <jas@extundo.com>
103142         * lib/crc.h, lib/crc.c: New files.
103144         * lib/gc.h (gc_hash_buffer): Add doc.
103146 2005-10-11  Bruno Haible  <bruno@clisp.org>
103148         * modules/c-strcasestr: New file.
103149         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
103151 2005-10-11  Bruno Haible  <bruno@clisp.org>
103153         * modules/c-strcase: New file.
103154         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
103156 2005-10-11  Bruno Haible  <bruno@clisp.org>
103158         * lib/strcasecmp.c: Include limits.h.
103159         (strcasecmp): Avoid integer overflow on exotic platforms.
103160         * lib/strncasecmp.c: Include limits.h.
103161         (strncasecmp): Avoid integer overflow on exotic platforms.
103162         Reported by Paul Eggert.
103164 2005-10-11  Bruno Haible  <bruno@clisp.org>
103166         * lib/c-strcasestr.h: New file, from GNU gettext.
103167         * lib/c-strcasestr.c: New file, from GNU gettext.
103169 2005-10-11  Bruno Haible  <bruno@clisp.org>
103171         * lib/c-strcase.h: New file, from GNU gettext.
103172         * lib/c-strcasecmp.c: New file, from GNU gettext.
103173         * lib/c-strncasecmp.c: New file, from GNU gettext.
103175 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
103177         * modules/mempcpy (License): GPL -> LGPL.
103178         * modules/strchrnul (License): Likewise.
103179         * modules/sysexits (License): Likewise.
103181 2005-10-08  Simon Josefsson  <jas@extundo.com>
103183         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
103185 2005-10-07  Simon Josefsson  <jas@extundo.com>
103187         * m4/memxor.m4: Remove gl_C_RESTRICT call.
103189 2005-10-06  Simon Josefsson  <jas@extundo.com>
103191         * tests/test-hmac-md5.c: New file.
103193         * modules/hmac-md5-tests: New file.
103195         * modules/hmac-md5: New file.
103197 2005-10-06  Simon Josefsson  <jas@extundo.com>
103199         * m4/hmac-md5.m4: New file.
103201         * m4/memxor.m4: Require gl_C_RESTRICT.
103203 2005-10-06  Simon Josefsson  <jas@extundo.com>
103205         * lib/memxor.c (memxor): Avoid casts and warnings.
103207 2005-10-06  Simon Josefsson  <jas@extundo.com>
103209         * lib/hmac-md5.c: New file.
103211         * lib/hmac.h: New file.
103213 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
103215         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
103216         promotes to int, not unsigned int, to catch the AIX 5.3
103217         compiler bug.
103219 2005-10-05  Simon Josefsson  <jas@extundo.com>
103221         * modules/memxor: New file.
103223         * modules/iconv (Files): Move config.rpath to havelib, it is used
103224         there.
103226         * modules/havelib (Files): Add config.rpath.
103228 2005-10-05  Simon Josefsson  <jas@extundo.com>
103230         * m4/memxor.m4: New file.
103232 2005-10-05  Simon Josefsson  <jas@extundo.com>
103234         * lib/memxor.c (memxor): Fix compiler error.
103236         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
103237         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
103239         * lib/memxor.h, lib/memxor.c: New files.
103241         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
103242         we assume all systems have it, suggested by Jim Meyering
103243         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
103244         any systems lack sys/socket.h; mingw32 is known to lack it, but we
103245         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
103246         same reasons.
103248 2005-10-05  Simon Josefsson  <jas@extundo.com>
103250         * config/srclist.txt: Add glibc bug 1423 for md5.h.
103252 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
103254         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
103255         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
103256         needed, since the source code now assumes these .h files.
103258 2005-10-05  Derek Price  <derek@ximbiot.com>
103260         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
103262 2005-10-05  Bruno Haible  <bruno@clisp.org>
103264         * modules/stdint (License): Change to LGPL.
103266 2005-10-04  Simon Josefsson  <jas@extundo.com>
103268         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
103269         D. Baushke" <mdb@gnu.org>.
103271 2005-10-04  Bruno Haible  <bruno@clisp.org>
103273         * lib/verify.h (verify_true): Provide alternative definition for C++.
103275 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
103277         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
103278         (SSIZE_MAX): New macro, if not already defined.
103279         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
103280         than 2 GiB.
103282 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
103284         Sync from coreutils.
103285         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
103286         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
103287         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
103288         ULLONG_MAX doesn't work with 2.7.2.1.
103290 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
103292         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
103293         From Ben Pfaff.
103295         * modules/exclude (Depends-on): Depend on verify.
103296         * modules/strtoimax (Depends-on): Likewise.
103297         * modules/utimecmp (Depends-on): Likewise.
103299 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
103301         * lib/exclude.c: Include verify.h.
103302         (verify): Remove.  All callers changed to use verify.h's version.
103303         * lib/strtoimax.c: Likewise.
103304         * lib/utimecmp.c: Likewis.e
103306         Sync from coreutils.
103307         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
103308         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
103309         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
103310         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
103311         bother returning ENOSYS if settimeofday or stime fails; just let
103312         them return whatever errno they want to return.
103313         * lib/utimens.c: Include unistd.h, for dup2.
103314         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
103315         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
103317 2005-10-02  Jim Meyering  <jim@meyering.net>
103319         Sync from coreutils.
103320         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
103321         from glibc-2.2.5 that fails for read-only files.
103323 2005-10-02  Jim Meyering  <jim@meyering.net>
103325         Sync from coreutils.
103326         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
103327         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
103328         `#if HAVE_CONFIG_H'.
103329         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
103330         Remove AT_FDCWD test.
103331         Do not consume the fd unless successful.
103332         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
103333         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
103334         block, so that we don't even try to compile it if settimeofday is
103335         available.  This works around a compilation failure on OSF1 V5.1,
103336         due to stime requiring a `long int*' while tv_sec is `int'.
103338 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
103340         Sync from coreutils.
103341         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
103342         against `yes', rather than just testing for nonempty.
103344 2005-10-01  Simon Josefsson  <jas@extundo.com>
103346         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
103347         and Darwin.
103349         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
103350         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
103351         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
103352         freeaddrinfo and gai_strerror are declared by the POSIX headers.
103353         Check if struct addrinfo is declared.
103355 2005-10-01  Simon Josefsson  <jas@extundo.com>
103357         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
103358         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
103359         AI_* and EAI_* definitions.  Protect function declarations.
103361 2005-10-01  Jim Meyering  <jim@meyering.net>
103363         Sync from coreutils.
103365         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
103366         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
103367         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
103368         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
103369         in the inet and nsl libraries.  Required on Solaris 5.7.
103371 2005-10-01  Jim Meyering  <jim@meyering.net>
103373         Sync from coreutils.
103374         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
103375         in the inet and nsl libraries.  Required on Solaris 5.7.
103377 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
103379         * lib/getdelim.c (getdelim): Remove unused variables.
103381 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
103383         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
103384         so that the code works even with ancient cpp.  Portability problem
103385         with GCC 2.7.2.1 reported by Thomas M.Ott.
103387 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
103389         * modules/regex (Depends-on): Add strcase.
103391         * modules/gethostname (Licence): Change from GPL to LGPL, since
103392         gethostname.c is a trivial implementation of a standard library
103393         function.
103394         * modules/poll (License): Change from GPL to LGPL, since it's
103395         derived from LGPL code.
103397 2005-09-27  Jim Meyering  <jim@meyering.net>
103399         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
103400         HAVE_CONFIG_H.
103402         * lib/intprops.h (signed_type_or_expr__): Define.
103403         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
103404         for unsigned types.
103406 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
103408         * lib/verify.h (verify_expr): Remove, replacing with:
103409         (verify_true): New macro that returns true instead of void.
103410         (verify_type__): Remove.
103411         (verify): Use verify_true rather than verify_type__.
103413 2005-09-26  Bruno Haible  <bruno@clisp.org>
103415         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
103416         is necessary.
103417         (lib_SOURCES): Remove mbchar.c.
103418         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
103419         (Files): Add m4/mbrtowc.m4.
103420         * modules/mbiter: Likewise.
103421         * modules/mbuiter: Likewise.
103423 2005-09-26  Bruno Haible  <bruno@clisp.org>
103425         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
103426         compile mbchar.c if they are not both present.
103427         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
103428         * m4/mbiter.m4 (gl_MBITER): Likewise.
103429         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
103430         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
103431         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
103433 2005-09-25  Jim Meyering  <jim@meyering.net>
103435         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
103436         also uses socklen_t.
103438 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
103440         * lib/utimens.c (ENOSYS): Define if not already defined.
103441         (futimens): Support having a null PATH if the file descriptor
103442         is nonnegative.
103444         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
103445         Remove.
103446         (__attribute): Define to empty unless GCC 3.1 or later.
103447         This works around a core dump on OpenBSD 3.4, which has GCC
103448         2.95.3, which dumps core when given __attribute__(()).  It also
103449         simplifies other tests, since we really don't want to bother with
103450         worrying about which ancient version of GCC supported what.
103451         Original problem reported by Yoann Vandoorselaere, with part of
103452         the fix suggested by Derek Price.
103454 2005-09-24  Jim Meyering  <jim@meyering.net>
103456         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
103457         so we can once again use a positive bitfield width of 1 -- now we
103458         don't have to explain why we were using a bitfield width of 2.
103460 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
103462         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
103463         and similarly for the other external symbols.  Problem reported
103464         by James Gallager.
103466         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
103467         bug reported by Jim Meyering.
103469         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
103470         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
103471         not needed, since socklen is a prerequisite module.
103473 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
103475         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
103476         Problem reported by Eric Blake.
103477         (getaddrinfo): Initialize se so that it's not garbage.
103478         Redo internal storage allocation so that it doesn't make unportable
103479         assumptions about alignment.
103480         Fix a memory leak.
103482         * lib/utimens.c (futimens): Use futimesat if available.
103483         Prefer it to futimes since it doesn't have the futimes bug.
103485         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
103486         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
103487         Instead, declare a function that returns a pointer to an array,
103488         and use verify_type__ to declare the size of the array.
103489         Problem and germ of a solution reported by Bruno Haible.
103490         (verify_type__): Use 2, not 1, for bitfield size, to avoid
103491         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
103493 2005-09-23  Jim Meyering  <jim@meyering.net>
103495         Sync from coreutils.
103496         Correct build failure (socklen_t not defined) on at least
103497         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
103498         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
103500 2005-09-23  Jim Meyering  <jim@meyering.net>
103502         * modules/getaddrinfo (Depends-on): Add socklen.
103504 2005-09-23  Bruno Haible  <bruno@clisp.org>
103506         * tests/test-verify.c: New file.
103508 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
103510         Sync from coreutils.
103512         * modules/argmatch (Depends-on): Add verify.
103513         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
103514         unistd-safer.
103515         * modules/save-cwd (Depends-on): Likewise.
103517         * modules/openat (Files): Add lib/openat-die.c.
103518         (Depends-on): Remove error, exitfail.
103519         Add dirname.
103521         * modules/verify: New file.
103522         * MODULES.html.sh (Diagnostics <assert.h>): New section,
103523         with "verify" module.
103525 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
103527         Sync from coreutils.
103529         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
103530         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
103531         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
103532         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
103533         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
103534         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
103535         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
103536         Don't bother checking for string.h, stdlib.h, unistd.h.
103537         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
103538         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
103539         module's job.
103540         * m4/jm-macros.m4 (gl_MACROS): Likewise.
103541         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
103543         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
103544         (gl_GETDATE): Use it.
103546         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
103548 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
103550         Sync from coreutils.
103552         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
103553         stat-time.h.
103554         * lib/argmatch.h: Include verify.h
103555         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
103556         (ARGMATCH_ASSERT): Remove; unused.
103557         * lib/canonicalize.c: Assume STDC_HEADERS.
103558         * lib/exclude.c: Include "strcase.h".
103559         * lib/regex_internal.h [!defined _LIBC]: Likewise.
103560         * lib/getusershell.c: Include stdio--.h rather than stdio.h
103561         and stdio-safer.h.
103562         (getusershell): Call fopen, not fopen_safer.
103563         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
103564         Do not include unistd-safer.h.
103565         (save_cwd): Don't call fd_safer; no longer needed
103566         now that we include fcntl--.h.
103568         * lib/getdate.y (relative_time): New type.
103569         (RELATIVE_TIME_0): New constant.
103570         (parser_control): Use relative_time instead of doing it ourselves.
103571         (%union): Add new relative_time rel member.
103572         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
103573         Now typeless.
103574         (relunit, relunit_snumber): Now of type rel.
103575         (zone, rel, relunit, get_date): Adjust to above changes.
103577         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
103578         Do not include unistd-safer.h.
103579         (getloadavg): Don't call fd_safer; no longer needed
103580         now that we include fcntl--.h.
103582         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
103583         (make_dir_parents): Treat ENOSYS like EEXIST.
103585         Improve quality of diagnostics on restore_cwd failure.
103586         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
103587         (make_dir_parents): Last arg is now int * (for errno), not bool *.
103588         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
103589         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
103590         each time through the loop.  Do not diagnose restore_cwd failure;
103591         that is the caller's job (and perhaps the caller does not care).
103593         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
103594         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
103595         If the file already exists but is not a directory, don't bother
103596         to try to make its parents.
103597         Close potential file descriptor leak if we can't chdir("/") (!).
103598         Don't always return true if chdir($PWD) fails; return true only
103599         if the requested action was done successfully (except for the
103600         chdir($PWD)).
103601         Don't log final directory unless we actually made it.
103602         Refactor to avoid duplicate code to fix up permissions.
103603         Don't attempt to fix up parent permissions if chdir($PWD) fails.
103605         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
103606         to make it a bit faster and (I hope) clearer.
103607         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
103608         Fix bug in formats like %2N.
103610         * lib/verify.h: New file.
103612 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
103614         Sync from coreutils.
103615         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
103617 2005-09-22  Jim Meyering  <jim@meyering.net>
103619         Sync from coreutils.
103621         * m4/lstat.m4 (gl_FUNC_LSTAT):
103622         Use AC_LIBSOURCES to require lstat.c and lstat.h.
103623         Remove obsolete comment.
103624         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
103625         * m4/xstrtod.m4: Likewise.
103627         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
103629 2005-09-22  Jim Meyering  <jim@meyering.net>
103631         Sync from coreutils.
103633         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
103635         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
103636         the .tm_year member, since otherwise gcc-4.0 would now warn about
103637         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
103639         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
103640         order to avoid an unsuppressible warning from gcc on 64-bit systems.
103642         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
103643         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
103644         when run in a time zone for which daylight savings time is in effect
103645         for the starting date.
103647         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
103648         stop us from restricting permissions of just-created absolute-named
103649         directories.
103650         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
103651         to restore initial working directory.
103652         * lib/mkdir-p.c (make_dir_parents): New parameter:
103653         different_working_dir, to tell caller if/when we change the working
103654         directory and are unable to return to the initial one.
103655         * lib/mkdir-p.h (make_dir_parents): Update prototype.
103656         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
103657         `return false'.  This fixes a bug introduced on 2004-07-30.
103659         * lib/openat.c (fdopendir): Be sure to close the supplied
103660         file descriptor before returning.  This makes our replacement
103661         implementation a little closer to Solaris's, where fdopendir
103662         ties the file descriptor to the returned DIR* pointer.
103663         * lib/openat.c (unlinkat): New function.
103664         * lib/openat.h (unlinkat): Add prototype.
103665         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
103666         (openat_restore_fail): Rename from openat_restore_die.
103667         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
103669         Provide an alternative to exiting immediately upon save_cwd or
103670         restore_cwd failure.  Now, an application can arrange e.g.,
103671         to perform a longjump in that case.
103672         * lib/openat.c: Include dirname.h.
103673         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
103674         (rpl_openat, fdopendir, fstatat): Call openat_save_die
103675         and openat_restore_die rather than calling error directly.
103676         Don't include "error.h" or "exitfail.h"; they're no longer needed.
103678         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
103679         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
103680         define.
103682         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
103683         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
103684                             int utc, int nanoseconds);
103685         Background:
103686         date should not have to allocate a megabyte of virtual memory to
103687         handle a format argument like +%1048575T.  When implemented with
103688         strftime, it must allocate such a buffer, use strftime to fill it
103689         in, print it, then free it.
103690         With fprintftime, it simply prints everything and exits.
103691         With no need for memory allocation, that's one fewer way to fail.
103692         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
103693         optional field width, not before, so we accept %9:z, not %:9z.
103694         (my_strftime): Be sure to use L_('x') for literals.
103696         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
103697         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
103698         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
103699         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
103700         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
103701         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
103702         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
103703         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
103704         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
103705         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
103706         * lib/xgethostname.c, lib/xreadlink.c:
103707         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
103709         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
103710         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
103711         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
103712         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
103713         and don't include <sys/file.h>).
103715 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
103717         Sync from coreutils.
103719         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
103720         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
103721         [!LDAV_DONE]: Avoid unused variable warning.
103723 2005-09-21  Bruno Haible  <bruno@clisp.org>
103725         * lib/unicodeio.h (unicode_to_mb): New declaration.
103727 2005-09-20  Derek Price  <derek@ximbiot.com>
103729         * lib/getaddrinfo.c: Don't include <netdb.h> included from
103730         getaddrinfo.h.
103732 2005-09-20  Bruno Haible  <bruno@clisp.org>
103734         * gnulib-tool: Remove trailing slashes from the values specified for
103735         --source-base, --m4-base, --tests-base, --aux-dir.
103736         Suggested by Simon Josefsson <jas@extundo.com>.
103738 2005-09-20  Bruno Haible  <bruno@clisp.org>
103740         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
103741         func_modules_to_filelist, func_import, func_create_testdir): Make all
103742         sorting results locale-independent, so that gnulib-cache.m4 doesn't
103743         change when gnulib-tool is invoked in a different locale.
103745 2005-09-19  Simon Josefsson  <jas@extundo.com>
103747         * m4/socklen.m4: Fix typo.
103749 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
103751         Use a consistent style for including <config.h>.
103752         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
103753         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
103754         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
103755         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
103756         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
103757         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
103758         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
103759         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
103760         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
103761         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
103762         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
103763         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
103764         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
103765         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
103766         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
103767         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
103768         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
103769         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
103770         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
103771         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
103772         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
103773         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
103774         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
103775         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
103776         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
103777         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
103778         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
103779         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
103780         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
103781         lib/xstrtoumax.c, lib/yesno.c:
103782         Standardize inclusion of config.h.
103783         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
103784         lib/inttostr.h:  Removed inclusion of config.h from header files.
103785         * lib/inttostr.c:  Adjusted in-tree users.
103786         * lib/timespec.h: Remove superfluous warning to include config.h.
103787         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
103788         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
103789         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
103790         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
103791         config.h with HAVE_CONFIG_H.
103793 2005-09-19  Jim Meyering  <jim@meyering.net>
103795         * modules/pathmax (License): Change to LGPL.
103797 2005-09-19  Derek Price  <derek@ximbiot.com>
103799         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
103801 2005-09-19  Bruno Haible  <bruno@clisp.org>
103803         * gnulib-tool (import): Provide default for --tests-base.
103805 2005-09-19  Bruno Haible  <bruno@clisp.org>
103807         * doc/quote.texi: New file, extracted from gnulib.texi.
103808         * doc/ctime.texi: New file, extracted from gnulib.texi.
103809         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
103810         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
103811         * doc/gnulib.texi: Include them.
103813 2005-09-18  Bruno Haible  <bruno@clisp.org>
103815         Portability fix.
103816         * gnulib-tool (func_readlink): New function.
103817         (func_ln_if_changed): Use it.
103819 2005-09-18  Bruno Haible  <bruno@clisp.org>
103821         * gnulib-tool: Support --with-tests also with --import.
103822         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
103823         (func_import): Use variables $testsbase and $inctests. Emit a
103824         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
103825         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
103826         SUBDIRS += $testsdir.
103827         (func_create_testdir): Update.
103829 2005-09-18  Bruno Haible  <bruno@clisp.org>
103831         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
103832         instead of $dry_run.
103833         (func_cp_if_changed, func_mv_if_changed): Remove functions.
103834         (func_ln_if_changed): Don't handle dry-run here.
103835         (func_import): In dry-run mode, detect more precisely which actions
103836         would be performed, and don't use "...ing" verbs.
103838 2005-09-18  Bruno Haible  <bruno@clisp.org>
103840         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
103841         (func_import): Use join on two temporary files instead of three nested
103842         loops, in order to determine which files are new or old.
103844 2005-09-18  Bruno Haible  <bruno@clisp.org>
103846         * gnulib-tool (func_import): Comment out code that spits out the
103847         new files with --dry-run.
103849 2005-09-18  Bruno Haible  <bruno@clisp.org>
103851         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
103853 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
103855         * lib/stat-time.h: New file.
103856         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
103857         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
103858         in a different way.
103859         (timespec_cmp): New function.
103860         * lib/utimecmp.c: Include stat-time.h.
103861         (SYSCALL_RESOLUTION): Depend on whether various struct stat
103862         members exist, not on the obsolescent ST_MTIM_NSEC.
103863         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
103865 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
103867         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
103869 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
103871         * MODULES.html.sh (File system functions): Add stat-time.
103872         * modules/stat-time: New file.
103873         * modules/timespec (Files): Remove m4/st_mtim.m4; this
103874         is now done in a different way, by the stat-time module.
103875         * modules/utimecmp (Depends-on): Add stat-time.
103877 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
103879         * m4/st_mtim.m4: Remove.  Superseded by...
103880         * m4/stat-time.m4: New file.
103881         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
103882         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
103884 2005-09-15  Derek Price  <derek@ximbiot.com>
103886         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
103888 2005-09-15  Derek Price  <derek@ximbiot.com>
103890         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
103891         * lib/regex_internal.c: Ditto, using this...
103892         (__GNUC_PREREQ): ...new macro.
103893         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
103894         using...
103895         (__GNUC_PREREQ): ...this new macro.
103897         * lib/strstr.h: Include string.h. Define strstr as a macro here.
103899 2005-09-15  Derek Price  <derek@ximbiot.com>
103900             Paul Eggert  <eggert@cs.ucla.edu>
103902         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
103903         changes, consolidating in...
103904         * lib/regex_internal.h: ...this file.
103906 2005-09-13  Jim Meyering  <jim@meyering.net>
103908         * lib/canon-host.c: Filter through gnu indent and reword comments
103909         slightly.
103910         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
103912 2005-09-13  Derek Price  <derek@ximbiot.com>
103914         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
103915         failure.
103916         Reported by Jim Meyering  <jim@meyering.net>.
103918 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
103920         * lib/base64.c: Typo.
103921         (base64_encode): Put b64str in initialized data section.
103923 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
103925         Merge glibc and coreutils changes into gnulib, plus a few
103926         extra fixes.
103927         * lib/md5.c: Use #error rather than a string.
103928         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
103929         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
103930         (__attribute__): Define to empty for non recent-GCC.
103931         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
103932         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
103933         Renamed from their non-__ counterparts, with new macros replacing
103934         them if not _LIBC.  Add __THROW attribute.
103935         (rol): Remove.
103936         (struct md5_ctx): Align buffer if using GCC.
103937         * lib/sha1.h (struct sha1_ctx): Likewise.
103938         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
103939         The old name was backwards.
103940         (NOTSWAP): Remove; not used.
103941         (rol): New macro, moved here from md5.h.
103942         (sha1_process_block): Remove a FIXME that doesn't make sense.
103944 2005-09-12  Derek Price  <derek@ximbiot.com>
103946         Return usable errors from canon-host.
103947         * lib/canon-host.h: New file.
103948         * lib/canon-host.c (canon_host): Wrap...
103949         (canon_host_r): ...this new function, which now relies exclusively on
103950         getaddrinfo.
103951         (ch_strerror): New function.
103952         (last_cherror): New global.
103953         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
103954         interface.
103955         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
103956         void *.
103957         (freeaddrinfo): Free ai->ai_canonname when set.
103959 2005-09-12  Derek Price  <derek@ximbiot.com>
103961         Make canon-host require getaddrinfo.
103962         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
103963         AC_LIBSOURCE canon-host.h.  Call...
103964         (gl_PREREQ_CANON_HOST): ...this new function, which requires
103965         gl_GETADDRINFO.
103966         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
103968 2005-09-12  Derek Price  <derek@ximbiot.com>
103970         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
103971         LGPL.
103972         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
103974 2005-09-12  Derek Price  <derek@ximbiot.com>
103976         * lib/gai_strerror.c: Include config.h when available.  Include
103977         getaddrinfo.h before other headers to test interface.
103978         Reported by Larry Jones <lawrence.jones@ugs.com>.
103980 2005-09-12  Derek Price  <derek@ximbiot.com>
103981             Paul Eggert  <eggert@cs.ucla.edu>
103983         * modules/glob (Files): Add glob-libc.h.
103985 2005-09-12  Derek Price  <derek@ximbiot.com>
103986             Paul Eggert  <eggert@cs.ucla.edu>
103988         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
103989         glob_.h, glob-libc.h.
103990         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
103992 2005-09-12  Derek Price  <derek@ximbiot.com>
103993             Paul Eggert  <eggert@cs.ucla.edu>
103995         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
103996         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
103997         protecting things that should be done only in gnulib contexts.
103998         * lib/glob_.h: New file, containing only the glob things needed for
103999         gnulib.
104000         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
104001         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
104002         (glob, globfree, glob_pattern_p): Now defined simply in terms of
104003         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
104004         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
104005         and to respect the namespace rules better.
104007 2005-09-08  Simon Josefsson  <jas@extundo.com>
104009         * modules/socklen: New file.
104011 2005-09-08  Simon Josefsson  <jas@extundo.com>
104013         * m4/socklen.m4: New file.
104015 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
104017         * modules/utimens (Files): Add m4/utimbuf.m4, since
104018         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
104019         Reported by Sergey Poznyakoff.
104021 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
104023         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
104024         definitions, since that's the preferred style in glibc.
104025         Fix a minor spacing issue, and update copyright notice to match
104026         glibc's.
104028 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
104030         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
104032 2005-09-06  Simon Josefsson  <jas@extundo.com>
104034         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
104035         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
104037 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
104039         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
104040         warning.
104042 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
104044         * config/srclist.txt: Add glibc bug 1302.
104046 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
104048         Change bitset word type from unsigned int to unsigned long int,
104049         as this has better performance on typical 64-bit hosts.
104050         Port bitset code to hosts with unusual word sizes.
104051         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
104052         (build_collating_symbol):
104053         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
104054         argument is a bitset.  This is merely a style issue, but it makes
104055         it clearer that an entire array is expected.
104056         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
104057         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
104058         Port to the case where bitset_word is not the same as unsigned int.
104059         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
104060         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
104061         Likewise.
104062         * lib/regexec.c (check_dst_limits_calc_pos_1,
104063         check_subexp_matching_top):
104064         (build_trtable, group_nodes_into_DFAstates):
104065         Likewise.
104066         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
104067         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
104068         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
104069         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
104070         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
104071         * lib/regcomp.c (optimize_subexps, lower_subexp):
104072         Work even if bitset_word has holes in its bitwise representation.
104073         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
104074         * lib/regexec.c (check_dst_limits_calc_pos_1,
104075         check_subexp_matching_top):
104076         Likewise.
104077         * lib/regex_internal.c (re_string_reconstruct):
104078         Don't assume UCHAR_MAX == 255.
104079         * lib/regex_internal.h (bitset_set_all): Likewise.
104080         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
104081         All uses changed.
104082         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
104083         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
104084         All uses changed.
104085         (BITSET_WORD_MAX): New macro.
104086         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
104087         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
104088         (bitset_empty, bitset_copy):
104089         Prefer sizeof (bitset) to multiplying it out ourselves.
104090         (bitset_not_merge): Remove; unused.
104091         (bitset_contain): Return bool, not unsigned int with one bit on.
104092         All callers changed.
104093         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
104094         alignment than re_node_set; do this by defining a new internal
104095         type struct dests_alloc and using it to allocate memory.
104097 2005-09-05  Bruno Haible  <bruno@clisp.org>
104099         * gnulib-tool (func_import): Fix comparison in handling of symbolic
104100         links.
104102 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
104104         * modules/size_max (Makefile.am): Add size_max.h
104106 2005-09-04  Derek Price  <derek@ximbiot.com>
104108         * gnulib-tool (func_import): Fix reversed $symbolic logic.
104110 2005-09-03  Simon Josefsson  <jas@extundo.com>
104112         * gnulib-tool: Fix typo.
104114 2005-09-03  Simon Josefsson  <jas@extundo.com>
104116         * config/srclist.txt: Add glibc bug 1293.
104118 2005-09-03  Derek Price  <derek@ximbiot.com>
104120         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
104121         From Larry Jones <lawrence.jones@ugs.com>.
104123 2005-09-02  Simon Josefsson  <jas@extundo.com>
104125         * modules/socklen: New file.
104127 2005-09-02  Simon Josefsson  <jas@extundo.com>
104129         * modules/havelib: New module.
104131         * modules/gettext, modules/iconv, modules/lock, modules/readline:
104132         Use havelib.
104134 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
104136         Check for arithmetic overflow when calculating sizes, to prevent
104137         some buffer-overflow issues.  These patches are conservative, in the
104138         sense that when I couldn't determine whether an overflow was possible,
104139         I inserted a run-time check.
104140         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
104141         macros.
104142         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
104143         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
104144         (re_xnrealloc, re_x2nrealloc): New inline functions.
104145         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
104146         parse_bracket_exp):
104147         (build_equiv_class, build_charclass): Check for arithmetic overflow
104148         in size expression calculations.
104149         * lib/regex_internal.c (re_string_realloc_buffers):
104150         (build_wcs_upper_buffer, re_node_set_add_intersect):
104151         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
104152         (re_dfa_add_node, register_state): Likewise.
104153         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
104154         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
104155         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
104156         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
104158 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
104160         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
104161         m4/ulonglong.m4.  Problem reported by Martin Lambers.
104163 2005-09-02  Bruno Haible  <bruno@clisp.org>
104165         Support for lib vs. lib64 distinction on biarch platforms.
104166         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
104167         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
104168         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
104170 2005-09-02  Bruno Haible  <bruno@clisp.org>
104172         * gnulib-tool (import): In the other first-use case, provide defaults
104173         as well.
104175 2005-09-02  Bruno Haible  <bruno@clisp.org>
104177         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
104178         patches not yet found in the latest gettext release.
104180 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
104182         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
104183         to avoid a collision with bits/local_lim.h in glibc.
104184         All uses changed.  Problem reported by Dmitry V. Levin in
104185         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
104187         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
104188         bugs in int versus size_t comparisons.
104189         (re_string_context_at): Fix bug where the code assumed that
104190         Idx is signed.
104192         Use bool where appropriate.
104193         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
104194         All callers changed.
104195         (calc_eclosure_iter): Likewise, for ROOT arg.
104196         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
104197         (build_charclass_op): Likewise, for NON_MATCH arg.
104198         * lib/regex_internal.c (re_string_allocate, re_string_construct):
104199         (re_string_construct_common): Likewise, for ICASE arg.
104200         * lib/regexec.c (re_search_2_stub, re_search_stub):
104201         Likewise, for RET_LEN arg.
104202         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
104203         (set_regs): Likewise, for FL_BACKTRACK arg.
104204         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
104205         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
104206         (calc_eclosure_iter, parse_bracket_exp):
104207         Use bool for internal variables that are booleans.
104208         * lib/regexec.c (re_search_internal, check_matching,
104209         proceed_next_node):
104210         (set_regs, build_sifted_states, sift_states_bkref):
104211         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
104212         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
104213         (find_collation_sequence_value):
104214         Likewise.
104215         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
104216         (re_node_set_compare):
104217         Return bool, not int. All callers changed.
104218         * lib/regexec.c (check_halt_node_context, check_dst_limits):
104219         (build_trtable, check_node_accept): Likewise.
104220         * lib/regex_internal.h: Include stdbool.h.
104222         Fix bugs uncovered when converting to bool.
104223         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
104224         failure instead of charging ahead blindly.
104225         * lib/regex_internal.c (register_state): Likewise.
104226         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
104227         for freeing internal storage.
104228         (group_nodes_into_DFA_states): Use unsigned int, not int, for
104229         bitset pieces used as boolean, to avoid undefined behavior
104230         on hosts that do int overflow checking.
104232 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
104234         * config/srclist.txt: Add glibc bugs 1285-1287.
104236 2005-09-01  Jim Meyering  <jim@meyering.net>
104238         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
104239         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
104240         Require gl_STAT_MACROS, too.
104242 2005-09-01  Bruno Haible  <bruno@clisp.org>
104244         * gnulib-tool (import): In the first-use case, provide defaults.
104246 2005-09-01  Bruno Haible  <bruno@clisp.org>
104248         * gnulib-tool (func_import): Remove the .tmp files.
104250 2005-09-01  Bruno Haible  <bruno@clisp.org>
104252         * gnulib-tool (func_import): Fix handling of symbolic links.
104254 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
104256         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
104257         old glibc regex code mishandles strings longer than 2**31 bytes.
104258         This patch fixes this when the regex code is used in gnulib
104259         (i.e., outside glibc).
104261         This patch should not affect the use of the regex code inside
104262         glibc.  No doubt this problem also needs to be handled for glibc
104263         as well, but the result will be an incompatible change to the
104264         glibc ABI, and the old ABI will have to be supported too.  That
104265         can be the subject for another patch.
104267         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
104268         governing whether the rest of this patch is active.  By default,
104269         the macro is disabled and the patch has no effect.
104270         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
104271         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
104272         (struct re_pattern_buffer, re_search, re_search_2, re_match):
104273         (re_match_2, re_set_registers): Use the new types.
104274         * lib/regex_internal.h (Idx, re_hashval_t): New types.
104275         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
104276         New macros.
104277         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
104278         (re_string_context_at, bin_tree_t, re_dfastate_t):
104279         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
104280         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
104281         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
104282         (re_string_char_size_at, re_string_wchar_at):
104283         (re_string_elem_size_at):
104284         Use the new types and macros to port to 64-bit hosts.
104285         Use unsigned types for internal values, so that the code
104286         mostly works even for arrays larger than SSIZE_MAX.
104287         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
104288         (search_duplicated_node, calc_eclosure_iter, fetch_number):
104289         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
104290         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
104291         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
104292         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
104293         (calc_inveclosure, parse_dup_op, build_range_exp):
104294         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
104295         (fetch_number, create_token_tree, mark_opt_subexp):
104296         Likewise.
104297         * lib/regex_internal.c (re_string_construct_common,
104298         create_ci_newstate):
104299         (create_cd_newstate, re_string_allocate, re_string_construct):
104300         (re_string_realloc_buffers, build_wcs_upper_buffer):
104301         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
104302         (re_string_reconstruct, re_string_peek_byte_case):
104303         (re_string_fetch_byte_case, re_string_context_at):
104304         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
104305         (re_node_set_init_copy, re_node_set_add_intersect):
104306         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
104307         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
104308         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
104309         (re_acquire_state, re_acquire_state_context, register_state):
104310         Likewise.
104311         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
104312         search_cur_bkref_entry):
104313         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
104314         (re_search_internal, re_search_2_stub, re_search_stub)
104315         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
104316         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
104317         (update_cur_sifted_state, check_dst_limits):
104318         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
104319         (check_subexp_limits, sift_states_bkref, merge_state_array):
104320         (check_subexp_matching_top, get_subexp, get_subexp_sub):
104321         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
104322         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
104323         (expand_bkref_cache, check_node_accept_bytes):
104324         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
104325         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
104326         (acquire_init_state_context, check_halt_node_context):
104327         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
104328         (sift_states_backward, clean_state_log_if_needed):
104329         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
104330         (find_recover_state, transit_state_sb, transit_state_mb):
104331         (transit_state_bkref, build_trtable, match_ctx_clean):
104332         Likewise.
104333         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
104334         to work around an assumption that REG_MISSING is negative.
104336         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
104337         (seek_collating_symbol_entry) [defined _LIBC]:
104338         (lookup_collation_sequence_value) [defined _LIBC]:
104339         (build_range_exp, build_collating_symbol) [defined _LIBC]:
104340         Use prototypes rather than old-style function definitions.
104341         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
104342         (transit_state_sb) [0]:
104343         (find_collation_sequence_value) [defined _LIBC]: Likewise.
104345         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
104346         rm_eo.
104348         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
104349         (optimize_subexps, lower_subexp):
104350         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
104351         since the signed shift might overflow.  Use 1u<<31 instead.
104352         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
104353         Likewise.
104354         * lib/regexec.c (check_dst_limits_calc_pos_1,
104355         check_subexp_matching_top): Likewise.
104357         * lib/regcomp.c (optimize_subexps, lower_subexp):
104358         Use CHAR_BIT rather than 8, for clarity.
104359         * lib/regexec.c (check_dst_limits_calc_pos_1):
104360         (check_subexp_matching_top): Likewise.
104361         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
104362         have to worry about portability issues when shifting it left.
104363         Remove no-longer-needed test for table_size > 0.
104364         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
104365         in a word, as the resulting behavior is undefined.
104366         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
104367         in one case, a <= should have been an <, and in another case the
104368         whole test was missing.
104369         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
104370         the standard name CHAR_BIT.
104371         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
104372         this is not true on one's complement and signed-magnitude hosts.
104374         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
104375         next_last_offset.
104376         (struct re_dfa_t): Remove unused member states_alloc.
104377         * lib/regcomp.c (init_dfa): Don't initialize unused members.
104379 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
104381         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
104382         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
104383         and large-file glibc and in 32-bit large-file Solaris.
104385 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
104387         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
104388         lengths fit in regoff_t; this isn't true if regoff_t is the same
104389         width as size_t.
104390         * lib/regex.c (re_search_internal): 5th arg is LAST_START
104391         (= START + RANGE) instead of RANGE.  This avoids overflow
104392         problems when regoff_t is the same width as size_t.
104393         All callers changed.
104394         (re_search_2_stub): Check for overflow when adding the
104395         sizes of the two strings.
104396         (re_search_stub): Check for overflow when adding START
104397         to RANGE; if it occurs, substitute the extreme value.
104399 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
104401         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
104403 2005-08-31  Jim Meyering  <jim@meyering.net>
104405         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
104406         a pointer-to-const.
104407         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
104408         (register_state): Likewise.
104409         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
104410         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
104411         (group_nodes_into_DFAstates): Likewise.
104413 2005-08-31  Jim Meyering  <jim@meyering.net>
104415         * check-module: Add a FIXME comment.
104417 2005-08-31  Eric Blake  <ebb9@byu.net>
104419         * modules/unistd-safer (Files): Add unistd--.h.
104420         * modules/stdio-safer (Files): Add stdio--.h.
104422 2005-08-31  Derek Price  <derek@ximbiot.com>
104424         * lib/getdelim.c (getdelim): Return EOF on EOF.
104425         Reported by Larry Jones <lawrence.jones@ugs.com>.
104427 2005-08-31  Bruno Haible  <bruno@clisp.org>
104429         Avoid unnecessary diffs in the generated lib/Makefile.am.
104430         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
104431         the generated files.
104432         (func_import): Don't set cmd.
104434 2005-08-31  Bruno Haible  <bruno@clisp.org>
104436         * lib/strstr.c: Include <stddef.h>, for NULL.
104437         * lib/strcasestr.c: Likewise.
104438         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
104440 2005-08-31  Bruno Haible  <bruno@clisp.org>
104442         * gnulib-tool: New option --macro-prefix.
104443         (func_import): Use macro_prefix.
104444         (import): Handle option --macro-prefix.
104446 2005-08-31  Bruno Haible  <bruno@clisp.org>
104448         * gnulib-tool (import): Rename most ac_* variables to cached_*.
104449         Also use new variables cached_lgpl, cached_libtool.
104451 2005-08-31  Bruno Haible  <bruno@clisp.org>
104453         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
104454         always instantiating them.
104456 2005-08-31  Bruno Haible  <bruno@clisp.org>
104458         * gnulib-tool (func_import): Read the previous cached settings
104459         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
104460         earlier added by gnulib but are now dropped. Warn when a gnulib file
104461         overwrites a non-gnulib file.
104463 2005-08-31  Bruno Haible  <bruno@clisp.org>
104465         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
104466         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
104467         projects that don't keep autogenerated files in CVS. Put into
104468         actioncmd only the specified modules, not the transitive closure.
104470 2005-08-31  Bruno Haible  <bruno@clisp.org>
104472         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
104473         Create directories that shall be filled.
104474         (import): Don't look for gl_* macros in configure.ac. Recurse across
104475         all directories containing a gnulib-cache.m4 files, if meaningful.
104477 2005-08-31  Bruno Haible  <bruno@clisp.org>
104479         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
104480         (import): Set seen_libtool when we see gl_LIBTOOL.
104482 2005-08-31  Bruno Haible  <bruno@clisp.org>
104484         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
104485         declaration macro definitions from generated gnulib.m4.
104487 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
104489         * lib/iconvme.h: Add prototype for iconv_alloc.
104491 2005-08-29  Simon Josefsson  <jas@extundo.com>
104493         * lib/iconvme.c: Fix errno.
104495 2005-08-29  Bruno Haible  <bruno@clisp.org>
104497         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
104498         that it works when the directory contains spaces.
104500 2005-08-29  Bruno Haible  <bruno@clisp.org>
104502         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
104504 2005-08-29  Bruno Haible  <bruno@clisp.org>
104506         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
104507         Emit more advice.
104509 2005-08-29  Bruno Haible  <bruno@clisp.org>
104510         and Stepan Kasal  <kasal@ucw.cz>
104512         * check-module: If more parameters are given, check each of them
104513         separately; add more exceptions, as noted by Jim Meyering.
104514         (check_module): New procedure.
104515         (%exempt_header): Now contains all exceptions.
104517 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
104519         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
104521 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
104523         * lib/iconvme.c: Split iconv_string into iconv_alloc.
104525 2005-08-28  Bruno Haible  <bruno@clisp.org>
104527         * m4/gnulib-tool.m4: New file.
104529 2005-08-27  Jim Meyering  <jim@meyering.net>
104531         * modules/unistd-safer (Files): Add pipe-safer.c.
104532         * modules/fcntl-safer (Files): Add creat-safer.c.
104534 2005-08-27  Jim Meyering  <jim@meyering.net>
104536         * m4/stdlib-safer.m4: New file.  From coreutils.
104537         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
104538         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
104539         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
104540         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
104541         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
104543 2005-08-27  Jim Meyering  <jim@meyering.net>
104545         * lib/fopen-safer.c: Merge minor changes from coreutils.
104546         * lib/dup-safer.c: Likewise.
104547         * lib/fd-safer.c: Likewise.
104549         Merge from coreutils.
104550         * lib/stdio--.h: New file.
104551         * lib/stdlib--.h: New file.
104552         * lib/mkstemp-safer.c: New file.
104554         GNU tar needs these.
104555         * lib/pipe-safer.c: New file.
104556         * lib/creat-safer.c: New file.
104557         * lib/fcntl--.h (creat): Define to creat_safer.
104558         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
104559         * lib/unistd--.h (pipe): Define to pipe_safer.
104560         * lib/unistd-safer.h: Declare pipe_safer.
104562 2005-08-26  Simon Josefsson  <jas@extundo.com>
104564         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
104565         Haible <bruno@clisp.org>.
104567 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
104569         * lib/regex_internal.h: Remove all references to
104570         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
104571         or better.
104572         (bitset_not, bitset_merge, bitset_not_merge):
104573         (bitset_mask, re_string_allocate, re_string_construct):
104574         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
104575         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
104576         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
104577         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
104578         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
104579         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
104580         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
104581         (re_acquire_state_context):
104582         Remove unnecessary forward decls.
104583         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
104584         Put __attribute at function definition,
104585         now that the function decl has been removed.
104586         * lib/regex_internal.c (re_string_peek_byte_case):
104587         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
104588         Likewise.
104590 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
104592         * m4/regex.m4: Add AC_PREREQ(2.50).
104593         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
104595 2005-08-25  Simon Josefsson  <jas@extundo.com>
104597         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
104598         __fsetlocking.
104600 2005-08-25  Simon Josefsson  <jas@extundo.com>
104602         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
104603         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
104604         GLIBC specific code.
104606 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
104608         Make regex safe for g++.  This fixes one real bug (an "err"
104609         that should have been "*err").  g++ problem reported by
104610         Sam Steingold.
104611         * lib/regex_internal.h (re_calloc): New macro, consistent with
104612         re_malloc etc.  All callers of calloc changed to use re_calloc.
104613         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
104614         not int.  All callers changed.
104615         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
104616         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
104617         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
104618         (find_recover_state): Change "err" to "*err"; this fixes what
104619         appears to be a real bug.
104620         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
104621         versus int.
104623 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
104625         * modules/regex (Depends-on): Add malloc, since the code
104626         assumes that !malloc(0) means failure.
104628 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
104630         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
104632         alloca modernization/simplification for regex.
104633         * lib/regex.c: Remove portability cruft for alloca.  This no longer
104634         needs to be at the start of the file, and can be moved into
104635         regex_internal.h and simplified.
104636         * lib/regex_internal.h: Include <alloca.h>.
104637         (__libc_use_alloca) [!defined _LIBC]: New macro.
104638         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
104639         now works outside glibc.
104641 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
104643         * config/srclist.txt: Add glibc bugs 1241, 1245.
104645 2005-08-25  Jim Meyering  <jim@meyering.net>
104647         * lib/open-safer.c: Include <config.h>.
104648         Otherwise, we'd lose LARGEFILE support in any file using
104649         e.g. "fcntl--.h"
104651 2005-08-25  Bruno Haible  <bruno@clisp.org>
104653         * m4/minmax.m4: Require autoconf 2.52.
104654         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
104655         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
104656         alternatives of translit over the alphabet.
104657         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
104659 2005-08-24  Simon Josefsson  <jas@extundo.com>
104661         * tests/test-getpass.c: New file.
104663 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
104665         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
104666         for GNU regex features.
104668 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
104670         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
104671         * lib/regex.h (regerror): Likewise.
104673         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
104674         requires this.  (The code never needed it.)
104676         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
104677         All uses of recently-renamed identifiers changed to use the new,
104678         POSIX-compliant names.  The code will build and run just fine
104679         without these changes, but it's better to eat our own dog food
104680         and use the standard-conforming names.
104682         * lib/regex.h: Fix a multitude of POSIX name space violations.
104683         These changes have an effect only for programs that define
104684         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
104685         do not change anything for programs compiled in the normal way.
104686         Also, there is no effect on the ABI.
104688         (_REGEX_SOURCE): New macro.
104689         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
104690         defined and _GNU_SOURCE is not; this fixes a name space violation.
104692         Rename the following macros to obey POSIX requirements.
104693         The old names are still visible as macros if _REGEX_SOURCE is defined.
104694         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
104695         RE_BACKSLASH_ESCAPE_IN_LISTS.
104696         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
104697         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
104698         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
104699         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
104700         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
104701         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
104702         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
104703         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
104704         (REG_INTERVALS): renamed from RE_INTERVALS.
104705         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
104706         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
104707         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
104708         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
104709         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
104710         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
104711         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
104712         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
104713         RE_UNMATCHED_RIGHT_PAREN_ORD.
104714         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
104715         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
104716         (REG_DEBUG): renamed from RE_DEBUG.
104717         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
104718         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
104719         unusual, since we can't clash with the POSIX REG_ICASE.
104720         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
104721         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
104722         (REG_NO_SUB): renamed from RE_NO_SUB.
104723         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
104724         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
104725         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
104726         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
104727         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
104728         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
104729         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
104730         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
104731         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
104732         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
104733         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
104734         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
104735         RE_SYNTAX_POSIX_MINIMAL_BASIC.
104736         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
104737         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
104738         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
104739         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
104740         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
104741         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
104742         (REG_FIXED): Renamed from REGS_FIXED.
104743         (REG_NREGS): Renamed from RE_NREGS.
104745         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
104746         of other REG_* macros, since POSIX says the user is allowed to
104747         #undef these macros selectively.
104749         (reg_errcode_t): Update comment stating what other tables need
104750         to be consistent.
104752         Rename the following enum values to obey POSIX requirements.
104753         The old names are still visible as macros.
104754         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
104755         is not defined, since GNU is supposed to be a superset of POSIX as
104756         much as possible, and since we want reg_errcode_t to be a signed
104757         type for implementation consistency.
104758         (_REG_NOERROR): Renamed from REG_NOERROR.
104759         (_REG_NOMATCH): Renamed from REG_NOMATCH.
104760         (_REG_BADPAT): Renamed from REG_BADPAT.
104761         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
104762         (_REG_ECTYPE): Renamed from REG_ECTYPE.
104763         (_REG_EESCAPE): Renamed from REG_EESCAPE.
104764         (_REG_ESUBREG): Renamed from REG_ESUBREG.
104765         (_REG_EBRACK): Renamed from REG_EBRACK.
104766         (_REG_EPAREN): Renamed from REG_EPAREN.
104767         (_REG_EBRACE): Renamed from REG_EBRACE.
104768         (_REG_BADBR): Renamed from REG_BADBR.
104769         (_REG_ERANGE): Renamed from REG_ERANGE.
104770         (_REG_ESPACE): Renamed from REG_ESPACE.
104771         (_REG_BADRPT): Renamed from REG_BADRPT.
104772         (_REG_EEND): Renamed from REG_EEND.
104773         (_REG_ESIZE): Renamed from REG_ESIZE.
104774         (_REG_ERPAREN): Renamed from REG_ERPAREN.
104775         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
104776         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
104777         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
104778         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
104780         (_REG_RE_NAME, _REG_RM_NAME): New macros.
104781         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
104782         changed.  But support the old name if the new one is not defined
104783         and if _REGEX_SOURCE.
104785         Change the following member names in struct re_pattern_buffer.
104786         The old names are still supported if !_REGEX_SOURCE.
104787         The new names are always supported, regardless of _REGEX_SOURCE.
104788         (re_buffer): Renamed from buffer.
104789         (re_allocated): Renamed from allocated.
104790         (re_used): Renamed from used.
104791         (re_syntax): Renamed from syntax.
104792         (re_fastmap): Renamed from fastmap.
104793         (re_translate): Renamed from translate.
104794         (re_can_be_null): Renamed from can_be_null.
104795         (re_regs_allocated): Renamed from regs_allocated.
104796         (re_fastmap_accurate): Renamed from fastmap_accurate.
104797         (re_no_sub): Renamed from no_sub.
104798         (re_not_bol): Renamed from not_bol.
104799         (re_not_eol): Renamed from not_eol.
104800         (re_newline_anchor): Renamed from newline_anchor.
104802         Change the following member names in struct re_registers.
104803         The old names are still supported if !_REGEX_SOURCE.
104804         The new names are always supported, regardless of _REGEX_SOURCE.
104805         (rm_num_regs): Renamed from num_regs.
104806         (rm_start): Renamed from start.
104807         (rm_end): Renamed from end.
104809         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
104810         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
104811         Prepend __ to parameter names.
104813         Undo yesterday's changes.
104815 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
104817         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
104818         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
104819         lib/regex.c.
104821 2005-08-24  Jim Meyering  <jim@meyering.net>
104823         Sync from coreutils.
104824         * m4/fcntl-safer.m4: New file.
104826         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
104827         and object files for this module.
104829 2005-08-24  Jim Meyering  <jim@meyering.net>
104831         Sync from coreutils.
104832         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
104834 2005-08-24  Jim Meyering  <jim@meyering.net>
104836         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
104837         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
104839 2005-08-24  Jim Meyering  <jim@meyering.net>
104841         * modules/fcntl-safer: New module.
104842         * modules/fts (Depends-on): Add fcntl-safer.
104843         * MODULES.html.sh (File descriptor based Input/Output):
104844         Add fcntl-safer.
104846 2005-08-24  Bruno Haible  <bruno@clisp.org>
104848         Support for unit test modules.
104849         * modules/README: Mention tests modules.
104850         * modules/TEMPLATE-TESTS: New file.
104851         * gnulib-tool: New options --extract-tests-module, --with-tests and
104852         --tests-base (unused for the moment).
104853         (testsbase, inctests): New variables.
104854         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
104855         (func_verify_module): Exclude TEMPLATE-TESTS.
104856         (func_verify_nontests_module, func_verify_tests_module): New functions.
104857         (func_get_dependencies): Add implicit dependency for tests modules.
104858         (func_get_tests_module): New function.
104859         (func_modules_transitive_closure): When --with-tests was specified,
104860         include the unit tests as well, unless explicitly avoided.
104861         (func_emit_lib_Makefile_am): Ignore the tests modules here.
104862         (func_emit_tests_Makefile_am): New function.
104863         (func_create_testdir): When --with-tests was specified, emit a
104864         tests/ directory.
104865         * MODULES.html.sh (Future developments): Update.
104867 2005-08-24  Bruno Haible  <bruno@clisp.org>
104869         * modules/tls-tests: New file.
104870         * tests/test-tls.c: New file, from GNU gettext.
104872 2005-08-24  Bruno Haible  <bruno@clisp.org>
104874         * modules/lock-tests: New file.
104875         * tests/test-lock.c: New file, from GNU gettext.
104877 2005-08-24  Bruno Haible  <bruno@clisp.org>
104879         * lib/lock.h: Add multiple inclusion guard.
104880         * lib/tls.h: Add multiple inclusion guard.
104882 2005-08-24  Bruno Haible  <bruno@clisp.org>
104884         * gnulib-tool: Add support for the --aux-dir option to
104885         --create-testdir, --create-megatestdir, --test, --megatest.
104886         (func_create_testdir, func_create_megatestdir): Optionally emit a
104887         AC_CONFIG_AUX_DIR directive.
104888         (create-testdir, create-megatestdir, test, megatest): Provide a
104889         default value for $auxdir.
104891 2005-08-24  Bruno Haible  <bruno@clisp.org>
104893         * gnulib-tool (import): Use compound statement instead of subshell
104894         where possible.
104896 2005-08-24  Bruno Haible  <bruno@clisp.org>
104898         * gnulib-tool (import): Change --aux-dir default to "build-aux".
104900 2005-08-24  Bruno Haible  <bruno@clisp.org>
104902         * gnulib-tool (func_version): Update.
104904 2005-08-24  Bruno Haible  <bruno@clisp.org>
104906         * gnulib-tool (func_import, func_create_testdir,
104907         func_create_megatestdir): Quote all autoconf macro arguments.
104909 2005-08-24  Bruno Haible  <bruno@clisp.org>
104911         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
104912         option --force, because --force causes the aclocal.m4 of each
104913         subdirectory to be newer than the corresponding config.h.in.
104915 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
104917         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
104918         All contents moved to gl_REGEX.
104919         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
104920         assume that it does.
104922 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
104924         * lib/regex.h (REG_NOSYS)
104925         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
104926         Define, since POSIX requires it as of 2001.
104927         (_REG_ENOSYS)
104928         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
104929         New private symbol, used to keep the enum signed in all cases.
104930         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
104931         Youngman in
104932         <http://lists.gnu.org/r/bug-gnulib/2005-07/msg00132.html>.
104934         * lib/regex_internal.c (re_string_skip_chars, register_state):
104935         (calc_state_hash):
104936         Remove forward decls; no longer needed now that we use prototypes.
104937         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
104938         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
104939         (clean_state_log_if_needed): Likewise.
104941 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
104943         * config/srclist.txt: Add glibc bugs 1231-1233.
104945 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
104947         Fix problems reported by Sam Steingold in
104948         <http://lists.gnu.org/r/bug-gnulib/2005-08/msg00007.html>.
104949         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
104950         assumed that reg_errcode_t is a signed type, which is not
104951         necessarily true if _XOPEN_SOURCE is not defined.
104952         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
104953         since some compilers warn about it otherwise.
104955 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
104957         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
104958         (init_word_char, create_initial_state, duplicate_node_closure):
104959         (fetch_token, peek_token_bracket, build_range_exp):
104960         (build_collating_symbol): Remove forward decls; no longer needed
104961         now that we use prototypes.
104963         * lib/regcomp.c:
104964         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
104965         (re_compile_fastmap_iter, regcomp, regerror, regfree):
104966         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
104967         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
104968         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
104969         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
104970         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
104971         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
104972         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
104973         (build_range_exp, build_collating_symbol, parse_bracket_exp):
104974         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
104975         (build_charclass, build_charclass_op, fetch_number, create_tree):
104976         (create_token_tree, mark_opt_subexp, duplicate_tree):
104977         Use prototypes rather than old-style definitions.
104979         * lib/regex_internal.c:
104980         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
104981         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
104982         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
104983         (re_string_reconstruct, re_string_peek_byte_case):
104984         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
104985         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
104986         (re_node_set_init_copy, re_node_set_add_intersect):
104987         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
104988         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
104989         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
104990         (re_acquire_state, re_acquire_state_context, register_state):
104991         (create_ci_newstate, create_cd_newstate, free_state):
104992         Likewise.
104993         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
104994         re_search_2):
104995         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
104996         (re_search_internal, prune_impossible_nodes):
104997         (acquire_init_state_context, check_matching, static):
104998         (check_halt_node_context, check_halt_state_context, proceed_next_node):
104999         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
105000         (update_regs, sift_states_backward, build_sifted_states):
105001         (clean_state_log_if_needed, merge_state_array):
105002         (update_cur_sifted_state, add_epsilon_src_nodes):
105003         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
105004         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
105005         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
105006         (find_recover_state, check_subexp_matching_top, transit_state_mb):
105007         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
105008         (check_arrival, check_arrival_add_next_nodes):
105009         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
105010         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
105011         (check_node_accept_bytes, check_node_accept, extend_buffers):
105012         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
105013         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
105014         (sift_ctx_init):
105015         Likewise.
105017         * lib/regex_internal.h:
105018         (re_string_allocate, re_string_construct, re_string_reconstruct):
105019         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
105020         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
105021         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
105022         (re_string_context_at, re_string_peek_byte_case):
105023         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
105024         is defined, since we now use prototypes always.
105026         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
105027         C89 or better.  All uses removed.
105029 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
105031         * config/srclist.txt: Add glibc bugs 1220-1227.
105033 2005-08-20  Jim Meyering  <jim@meyering.net>
105035         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
105036         of unused local, dfa.
105038 2005-08-20  Bruno Haible  <bruno@clisp.org>
105040         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
105042 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
105044         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
105045         (re_node_set_insert_last, re_dfa_add_node):
105046         Rename local variables to avoid GCC shadowing warnings.
105048 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
105050         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
105051         [defined lint]: Suppress bogus uninitialized-variable warnings.
105053         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
105054         and let the caller return REG_ESPACE if out of space.  This
105055         removes an uninitialied-variable warning with GCC 4.0.1, and also
105056         avoids taking the address of a local variable.  All callers
105057         changed.
105059 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
105061         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
105062         $LIBCSRC/posix/regexec.c.
105063         Add glibc bug 1217 for regcomp.c.
105065 2005-08-19  Jim Meyering  <jim@meyering.net>
105067         * lib/regexec.c (proceed_next_node): Redo local variables to
105068         avoid GCC shadowing warnings.
105070 2005-08-18  Bruno Haible  <bruno@clisp.org>
105072         * lib/strstr.c (strstr): Fix return value in multibyte case.
105073         * lib/strcasestr.c (strcasestr): Likewise.
105075 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
105077         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
105079 2005-08-17  Jim Meyering  <jim@meyering.net>
105081         Make the %s format (seconds since the epoch) work for a negative
105082         number and when used with a zero-padded field width, e.g. %015s.
105084         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
105085         label so that it precedes the code to set `digits'.  Otherwise,
105086         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
105087         print `00-22'.  Now, it prints `-0022', as it should.
105089 2005-08-17  Bruno Haible  <bruno@clisp.org>
105091         * modules/strstr (Files): Add m4/mbrtowc.m4.
105092         (Depends-on): Add mbuiter.
105094 2005-08-17  Bruno Haible  <bruno@clisp.org>
105096         * modules/strcasestr: New file.
105097         * MODULES.html.sh (String handling, based on ANSI C 89): Add
105098         strcasestr.
105100 2005-08-17  Bruno Haible  <bruno@clisp.org>
105102         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
105104 2005-08-17  Bruno Haible  <bruno@clisp.org>
105106         * modules/mbuiter: New file.
105107         * MODULES.html.sh (Extended multibyte and wide character utilities):
105108         Add mbuiter.
105110 2005-08-17  Bruno Haible  <bruno@clisp.org>
105112         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
105113         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
105115 2005-08-17  Bruno Haible  <bruno@clisp.org>
105117         * m4/strcasestr.m4: New file.
105119 2005-08-17  Bruno Haible  <bruno@clisp.org>
105121         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
105122         * lib/strstr.c: Completely rewritten, with multibyte locale support.
105124 2005-08-17  Bruno Haible  <bruno@clisp.org>
105126         * lib/strcasestr.h: New file.
105127         * lib/strcasestr.c: New file.
105129 2005-08-17  Bruno Haible  <bruno@clisp.org>
105131         * lib/strcasecmp.c: Use mbuiter.h.
105133 2005-08-17  Bruno Haible  <bruno@clisp.org>
105135         * lib/mbuiter.h: New file.
105137 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
105139         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
105140         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
105141         and gl_GETOPT are both invoked via different paths (as happens
105142         with GNU tar CVS because it uses both argp and getopt), the former
105143         wins.
105145 2005-08-16  Bruno Haible  <bruno@clisp.org>
105147         * modules/tls: New file.
105148         * MODULES.html.sh (Multithreading): Add tls.
105150 2005-08-16  Bruno Haible  <bruno@clisp.org>
105152         * modules/strnlen1: New file.
105153         * MODULES.html.sh (String handling): Add strnlen1.
105155 2005-08-16  Bruno Haible  <bruno@clisp.org>
105157         * modules/strcase (Files): Add m4/mbrtowc.m4.
105158         (Depends-on): Add strnlen1, mbchar.
105160 2005-08-16  Bruno Haible  <bruno@clisp.org>
105162         * modules/mbiter: New file.
105163         * MODULES.html.sh (Extended multibyte and wide character utilities):
105164         Add mbiter.
105166 2005-08-16  Bruno Haible  <bruno@clisp.org>
105168         * modules/mbfile: New file.
105169         * MODULES.html.sh (Extended multibyte and wide character utilities):
105170         Add mbfile.
105172 2005-08-16  Bruno Haible  <bruno@clisp.org>
105174         * modules/mbchar: New file.
105175         * MODULES.html.sh (Extended multibyte and wide character utilities):
105176         New section.
105178 2005-08-16  Bruno Haible  <bruno@clisp.org>
105180         * m4/tls.m4: New file, from GNU gettext.
105182 2005-08-16  Bruno Haible  <bruno@clisp.org>
105184         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
105185         always.
105186         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
105188 2005-08-16  Bruno Haible  <bruno@clisp.org>
105190         * m4/mbiter.m4: New file.
105192 2005-08-16  Bruno Haible  <bruno@clisp.org>
105194         * m4/mbfile.m4: New file.
105196 2005-08-16  Bruno Haible  <bruno@clisp.org>
105198         * m4/mbchar.m4: New file.
105200 2005-08-16  Bruno Haible  <bruno@clisp.org>
105202         * lib/tls.h: New file, from GNU gettext.
105203         * lib/tls.c: New file, from GNU gettext.
105205 2005-08-16  Bruno Haible  <bruno@clisp.org>
105207         * lib/strnlen1.h: New file.
105208         * lib/strnlen1.c: New file.
105210 2005-08-16  Bruno Haible  <bruno@clisp.org>
105212         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
105213         (mbi_init): Update.
105214         (mbi_avail, mbi_advance): Let the iteration end before the terminating
105215         NUL byte, not after it.
105217 2005-08-16  Bruno Haible  <bruno@clisp.org>
105219         * lib/strcase.h (strcasecmp): Add note in comments.
105220         * lib/strncasecmp.c: Use code from strcasecmp.c.
105221         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
105222         (strcasecmp): Work correctly in multibyte locales.
105224 2005-08-16  Bruno Haible  <bruno@clisp.org>
105226         * lib/mbiter.h: New file.
105228 2005-08-16  Bruno Haible  <bruno@clisp.org>
105230         * lib/mbfile.h: New file.
105232 2005-08-16  Bruno Haible  <bruno@clisp.org>
105234         * lib/mbchar.h: New file.
105235         * lib/mbchar.c: New file.
105237 2005-08-16  Bruno Haible  <bruno@clisp.org>
105239         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
105240         the valid ones. Makes the comparison operations transitive:
105241         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
105242         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
105244 2005-08-15  Simon Josefsson  <jas@extundo.com>
105246         * modules/ssize_t (License): Change to 'unlimited'.
105248         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
105250 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
105252         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
105253         Add comments for each pending glibc patch.
105255 2005-08-15  Bruno Haible  <bruno@clisp.org>
105257         * lib/regex.h (__restrict_arr): Don't define to __restrict if
105258         __cplusplus is defined.
105260 2005-08-14  Jim Meyering  <jim@meyering.net>
105262         Sync from coreutils.
105264         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
105265         Use the hash-table-based cycle-detection code not just when
105266         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
105267         Reported by James Youngman in
105268         <http://lists.gnu.org/r/bug-gnulib/2005-08/msg00011.html>.
105269         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
105270         FTS_TIGHT_CYCLE_CHECK.
105271         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
105272         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
105273         once again.
105274         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
105275         * lib/fts.c (fd_safer): Remove decl.
105276         Include fcntl--.h rather than unistd-safer.h
105277         (fts_safe_changedir): Don't call fd_safer; no longer needed
105278         now that we include fcntl--.h.
105280 2005-08-12  Simon Josefsson  <jas@extundo.com>
105282         * modules/getndelim2: Use ssize_t module.
105283         * modules/getnline: Likewise.
105284         * modules/safe-read: Likewise.
105285         * modules/xreadlink: Likewise.
105287         * modules/ssize_t: New file.
105289 2005-08-12  Simon Josefsson  <jas@extundo.com>
105291         * m4/readline.m4: Look for termcap, curses or ncurses if required.
105293 2005-08-12  Simon Josefsson  <jas@extundo.com>
105295         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
105296         ssize_t.
105298 2005-08-12  Simon Josefsson  <jas@extundo.com>
105300         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
105301         readline, getdelim and check_version.
105302         (Support for systems lacking ISO C 99: Sizes of integer types):
105303         Add size_max.
105305 2005-08-12  Bruno Haible  <bruno@clisp.org>
105307         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
105309 2005-08-11  Simon Josefsson  <jas@extundo.com>
105311         * modules/readline: New file.
105313         * modules/strnlen (Files): Add strnlen.h.
105315 2005-08-11  Simon Josefsson  <jas@extundo.com>
105317         * m4/readline.m4: New file.
105319 2005-08-11  Simon Josefsson  <jas@extundo.com>
105321         * lib/readline.h, readline.c: New file.
105323 2005-08-11  Simon Josefsson  <jas@extundo.com>
105325         * doc/gnulib.texi (Initial import, Finishing touches): Mention
105326         gl_AVOID.
105328 2005-08-11  Bruno Haible  <bruno@clisp.org>
105330         * lib/strnlen.h (strnlen): Change parameter name to match comment.
105332 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
105334         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
105336 2005-08-10  Simon Josefsson  <jas@extundo.com>
105338         * tests/test-iconvme.c: New file.
105340 2005-08-10  Simon Josefsson  <jas@extundo.com>
105342         * m4/strnlen.m4: New file.
105344         * m4/strndup.m4: Don't check for strnlen declaration, done in
105345         strnlen.m4.
105347 2005-08-10  Simon Josefsson  <jas@extundo.com>
105349         * lib/strndup.c: Use strnlen.h.
105351         * lib/strnlen.h: New file.
105353 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
105355         * README: Typos.
105357 2005-08-02  Simon Josefsson  <jas@extundo.com>
105359         * modules/readline: New file.
105361 2005-08-02  Simon Josefsson  <jas@extundo.com>
105363         * modules/getdelim: New file.
105365         * modules/getline: Rewrite, don't use getndelim2.
105367 2005-08-02  Simon Josefsson  <jas@extundo.com>
105369         * m4/getline.m4: Separate out getdelim stuff into separate module.
105371         * m4/getdelim.m4: New file.
105373 2005-08-02  Simon Josefsson  <jas@extundo.com>
105375         * lib/getline.h, getline.c: Rewrite.
105377         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
105379 2005-07-31  Bruno Haible  <bruno@clisp.org>
105381         * lib/lock.h (gl_lock_initializer): New macro.
105382         (gl_lock_define_initialized): Use it.
105383         (gl_rwlock_initializer): New macro.
105384         (gl_rwlock_define_initialized): Use it.
105385         (gl_recursive_lock_initializer): New macro.
105386         (gl_recursive_lock_define_initialized): Use it.
105388 2005-07-30  Karl Berry  <karl@gnu.org>
105390         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
105391         Report from Ben Pfaff, regarding getopt.
105393 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
105395         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
105396         normal way.
105397         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
105398         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
105399         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
105400         (gl_GETOPT): Use the new macros.  Most of the implementation
105401         is moved to the new macros.  This is for programs like Emacs
105402         that don't want all the functionality of gl_GETOPT.
105404 2005-07-26  Bruno Haible  <bruno@clisp.org>
105406         * m4/lock.m4: Update from GNU gettext.
105408 2005-07-26  Bruno Haible  <bruno@clisp.org>
105410         * lib/lock.h: Update from GNU gettext.
105411         * lib/lock.c: Update from GNU gettext.
105413 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
105415         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
105416         obsolescent AC_TRY_RUN.  Include the default includes files, for
105417         'exit'.
105419 2005-07-24  Bruno Haible  <bruno@clisp.org>
105421         * modules/visibility: New file.
105422         * MODULES.html.sh (Misc): Add visibility.
105424 2005-07-24  Bruno Haible  <bruno@clisp.org>
105426         * m4/visibility.m4: New file.
105428 2005-07-24  Bruno Haible  <bruno@clisp.org>
105430         * doc/visibility.texi: New file.
105432 2005-07-22  Bruno Haible  <bruno@clisp.org>
105434         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
105435         $(ALLOCA_H), redundant through BUILT_SOURCES.
105436         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
105437         redundant through BUILT_SOURCES.
105438         * modules/byteswap (Makefile.am): Remove explicit dependency on
105439         $(BYTESWAP_H), redundant through BUILT_SOURCES.
105440         * modules/fnmatch (Makefile.am): Remove explicit dependency on
105441         $(FNMATCH_H), redundant through BUILT_SOURCES.
105442         * modules/getopt (Makefile.am): Remove explicit dependency on
105443         $(GETOPT_H), redundant through BUILT_SOURCES.
105444         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
105445         redundant through BUILT_SOURCES.
105446         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
105447         redundant through BUILT_SOURCES.
105448         * modules/stdbool (Makefile.am): Remove explicit dependency on
105449         $(STDBOOL_H), redundant through BUILT_SOURCES.
105450         * modules/stdint (Makefile.am): Remove explicit dependency on
105451         $(STDINT_H), redundant through BUILT_SOURCES.
105452         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
105453         Remove explicit dependency on $(SYSEXITS_H).
105454         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
105456 2005-07-18  Simon Josefsson  <jas@extundo.com>
105458         * lib/check-version.c (check_version): Accept identical versions too.
105460 2005-07-18  Bruno Haible  <bruno@clisp.org>
105462         * modules/lock: New file.
105463         * MODULES.html.sh (Multithreading): New section.
105465 2005-07-18  Bruno Haible  <bruno@clisp.org>
105467         * m4/lock.m4: New file, from GNU gettext.
105469 2005-07-18  Bruno Haible  <bruno@clisp.org>
105471         * lib/lock.h: New file, from GNU gettext.
105472         * lib/lock.c: New file, from GNU gettext.
105474 2005-07-18  Bruno Haible  <bruno@clisp.org>
105476         * lib/lock.h (gl_once_t): New type.
105477         (gl_once_define, gl_once): New macros.
105478         * lib/lock.c (fresh_once): New variable.
105479         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
105480         functions.
105482 2005-07-16  Simon Josefsson  <jas@extundo.com>
105484         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
105485         workaround, suggested by Bruno.
105487 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
105489         * modules/xalloc (Depends-on): Add xalloc-die.
105490         * modules/xvasprintf (Depends-on): Add xalloc-die.
105492 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
105494         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
105495         with a minor change.
105497 2005-07-15  Bruno Haible  <bruno@clisp.org>
105499         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
105500         When using lib/poll.c, define poll as rpl_poll.
105502 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
105504         * modules/argp (Depends-on): Remove unlocked-io.
105506 2005-07-14  Derek Price  <derek@ximbiot.com>
105508         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
105509         for glob symlink bug.
105511 2005-07-14  Bruno Haible  <bruno@clisp.org>
105513         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
105514         Instead, test for *_unlocked function declarations directly.
105516 2005-07-11  Simon Josefsson  <jas@extundo.com>
105518         * modules/size_max: New file.
105520         * modules/xsize: Depend on size_max module for size_max.m4.
105522 2005-07-11  Simon Josefsson  <jas@extundo.com>
105524         * lib/size_max.h: New file.
105526 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
105528         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
105529         copyright symbol and the year.
105530         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
105531         (version_etc_va): Use parameterized copyright notice.
105532         Reword to conform to the current GNU coding standards.
105534 2005-07-11  Karl Berry  <karl@gnu.org>
105536         * doc/gnulib.texi (Quoting): new node.
105537         (Initial import): more info, from Patrice.
105539 2005-07-11  Bruno Haible  <bruno@clisp.org>
105541         * gnulib-tool (func_usage): Document option --avoid.
105542         (Command line options): Handle --avoid.
105543         (func_acceptable): New function.
105544         (func_modules_transitive_closure): Use it.
105546 2005-07-11  Bruno Haible  <bruno@clisp.org>
105548         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
105549         Reported by Jim Meyering.
105551 2005-07-10  Bruno Haible  <bruno@clisp.org>
105553         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
105554         Needed when size_t is smaller than 'unsigned int'.
105555         Reported by Paul Eggert.
105557 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
105559         * modules/argp (Depends-on): Add unlocked-io
105561 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
105563         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
105564         block of defines.
105566 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
105568         * config/srclist.txt: Comment out regcomp.c, since we have a porting
105569         fix now.
105571 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
105572         and Paul Eggert  <eggert@cs.ucla.edu>
105574         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
105575         in wint_t, not wchar_t.  Remove now-unnecessary cast.
105577 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
105579         * modules/regex (Files): Add lib/regex_internal.c,
105580         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
105581         (Depends-on): Add extensions.
105582         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
105584 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
105586         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
105587         pathconf.
105588         * m4/same.m4 (gl_SAME): Likewise.
105589         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
105591         * m4/regex.m4: Adjust to new libc regex implementation.
105592         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
105593         all the .c and .h parts of (the new) regex.
105594         Quote the m4 stuff better.
105595         Check for RE_ICASE bug of old gnulib.
105596         Check for REG_STARTEND of recent libc.
105597         Rename local variables from jm_* to gl_*.
105598         Quote operand of "test -f".
105599         Say "recent enough" version of libc, not "version 2".
105600         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
105601         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
105602         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
105603         Remove check for btowc, isascii.
105604         Require AM_LANGINFO_CODESET.
105606 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
105608         * lib/regex.c, regex.h: Sync from libc.
105609         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
105610         * lib/regexec.c:
105611         New files, synced from libc, except that regex_internal.h
105612         currently has a small porting fix.
105614 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
105616         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
105617         regex_internal.c, regexec.c.
105618         Add regex_internal.h too, but as a comment, since the libc version
105619         is currently broken in gnulib mode.
105621 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
105623         Support programs like Emacs that use gnulib but not gettext.
105624         * MODULES.html.sh (Internationalization functions): Add gettext-h.
105625         * modules/gettext-h: New file.
105626         * modules/gettext (Files): Remove lib/gettext.h.
105627         (Depends-on): Add gettext-h.
105628         (Makefile.am): Remove lib_SOURCES.
105629         * modules/argmatch, modules/c-stack, modules/closeout:
105630         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
105631         * modules/execute, modules/file-type, modules/getaddrinfo:
105632         * modules/getopt, modules/human, modules/javacomp:
105633         * modules/javaexec, modules/mkdir-p, modules/obstack:
105634         * modules/openat, modules/pagealign_alloc, modules/pipe:
105635         * modules/quotearg, modules/regex, modules/rpmatch:
105636         * modules/unicodeio, modules/userspec, modules/version-etc:
105637         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
105638         * modules/xsetenv:
105639         Depend on gettext-h, not gettext.
105641 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
105643         * gnulib-tool (func_import): Add support for 'public domain' license.
105644         * modules/alloca, modules/atexit, modules/memmove:
105645         Now public domain, not GPL.
105646         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
105647         * modules/realloc, modules/strerror, modules/strtod:
105648         Now LGPL, not GPL.
105650 2005-07-05  Bruno Haible  <bruno@clisp.org>
105652         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
105653         autoconf CVS. Needed for mingw.
105655 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
105657         Remove the dependency of the strftime module on the tzset module.
105658         * modules/strftime (Depends-on): Remove dependency on tzset.
105660 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
105662         Remove the dependency of the strftime module on the tzset module.
105663         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
105664         gl_FUNC_TZSET_CLOBBER.
105666 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
105668         Remove the dependency of the strftime module on the tzset module.
105669         * lib/strftime.c (my_strftime)
105670         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
105671         Copy the input structure, to work around some of the bug with
105672         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
105673         Solaris releases, you should also use the tzset module, but we won't
105674         require it as a dependency any more since we don't want LGPLed code
105675         to depend on GPLed code.
105677 2005-07-02  Jim Meyering  <jim@meyering.net>
105679         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
105680         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
105681         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
105682         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
105684 2005-07-02  Jim Meyering  <jim@meyering.net>
105686         * lib/backupfile.c (backup_args): Change a `0' to NULL.
105688 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
105690         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
105691         declares only 'struct timespec;' (!).
105693 2005-07-01  Jim Meyering  <jim@meyering.net>
105695         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
105696         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
105697         * lib/save-cwd.c, tempname.c:
105698         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
105699         and don't include <sys/file.h>).
105701 2005-06-29  Jim Meyering  <jim@meyering.net>
105703         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
105704         type name.  Use the variable name instead.
105705         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
105706         Likewise.
105708 2005-06-28  Simon Josefsson  <jas@extundo.com>
105710         * modules/check-version (Files): Add check-version.m4.
105712 2005-06-28  Simon Josefsson  <jas@extundo.com>
105714         * m4/check-version.m4: New file, suggested by Jim Meyering
105715         <jim@meyering.net>.
105717 2005-06-28  Simon Josefsson  <jas@extundo.com>
105719         * lib/check-version.h, lib/check-version.c: New files.
105721 2005-06-28  Simon Josefsson  <jas@extundo.com>
105723         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
105724         collision with global variable.  Better indentation.  Don't
105725         increment buffer pointer beyond buffer end.  Based on comments
105726         from Paul Eggert <eggert@cs.ucla.edu>.
105728         * lib/base64.h: Indent.
105730 2005-06-28  Simon Josefsson  <jas@extundo.com>
105732         * doc/gnulib.texi (Library version handling): New section.
105734 2005-06-28  Jim Meyering  <jim@meyering.net>
105736         * check-module (find_included_lib_files): Hard-code another
105737         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
105738         but modules/fts-lgpl (correctly) does not list those files.
105740         * modules/canonicalize (Files): Add lib/pathmax.h.
105742 2005-06-25  Simon Josefsson  <jas@extundo.com>
105744         * modules/check-version: New file.
105746 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
105748         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
105749         initializer of struct addrinfo, as an indication that we don't
105750         care how many members the structure has.
105752 2005-06-24  Derek Price  <derek@ximbiot.com>
105753         and Bruno Haible  <bruno@clisp.org>
105755         Remove stat module & update lstat.
105756         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
105757         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
105758         * m4/stat.m4: Remove this file.
105760 2005-06-24  Derek Price  <derek@ximbiot.com>
105761         and Bruno Haible  <bruno@clisp.org>
105763         Remove stat module & update lstat.
105764         * lib/stat.c: Remove this file...
105765         (slash_aware_lstat): ...moving this content and its support...
105766         * lib/lstat.c (rpl_lstat): ...into here.
105767         * lib/lstat.h: New file.
105769 2005-06-24  Derek Price  <derek@ximbiot.com>
105770         and Bruno Haible  <bruno@clisp.org>
105772         Remove stat module & update lstat.
105773         * config/srclist.txt (libc sources): Remove stat.
105775 2005-06-24  Derek Price  <derek@ximbiot.com>
105776         and Bruno Haible  <bruno@clisp.org>
105778         Remove stat module & update lstat.
105779         * MODULES.html.sh (stat): Remove.
105780         * MODULES.html: Regenerated.
105781         * modules/lstat (Description): Correct function name.
105782         (Files): Add "lstat.h".
105783         (Depends-on): Remove stat, add xalloc, stat-macros.
105784         * modules/stat: Remove this file.
105785         (Include): Add "lstat.h", remove <sys/stat.h>.
105787 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
105789         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
105790         (ranged_convert): Don't save conversion in a temporary struct.
105791         This causes a warning with GCC 4.0.0, and anyway in the typical
105792         case it's not worth the extra 100 bytes or so of code.
105793         (ranged_convert, __mktime_internal): When calling a function via a
105794         pointer P, use P () rather than (*P) (), as we now assume C89 or
105795         better.
105797 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
105799         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
105800         "who -r" failed to give output.  Problem reported by Tim Waugh.
105802         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
105803         (xcalloc): Use it to avoid needless tests.
105804         Problem reported by Jim Meyering.
105806 2005-06-20  Derek Price  <derek@ximbiot.com>
105808         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
105809         unnecessary for Autoconfs > 2.59c.
105811 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
105813         * lib/argp.h (__option_is_short): Check upper limit of
105814         __key. Isprint() requires its argument to have the value
105815         of an unsigned char or EOF.
105817 2005-06-16  Jim Meyering  <jim@meyering.net>
105819         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
105820         when either N or S is zero.
105822 2005-06-16  Derek Price  <derek@ximbiot.com>
105824         * m4/bison.m4: Declare YACC & YFLAGS precious.
105826 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
105828         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
105829         multibyte string or pattern, fall back on unibyte matching.
105830         Problem reported by James Youngman.
105832 2005-06-08  Bruno Haible  <bruno@clisp.org>
105834         * modules/csharpcomp: New file.
105835         * MODULES.html.sh (C#): Add csharpcomp.
105837 2005-06-08  Bruno Haible  <bruno@clisp.org>
105839         * m4/csharpcomp.m4: New file, from GNU gettext.
105841 2005-06-08  Bruno Haible  <bruno@clisp.org>
105843         * lib/csharpcomp.h: New file, from GNU gettext.
105844         * lib/csharpcomp.c: New file, from GNU gettext.
105845         * lib/csharpcomp.sh.in: New file, from GNU gettext.
105847 2005-06-08  Bruno Haible  <bruno@clisp.org>
105849         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
105850         warning on mingw.
105852 2005-06-07  Derek Price  <derek@ximbiot.com>
105854         Sync from CVS.
105855         * lib/glob_.h: Indent nested #ifdef.
105857 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
105859         Sync from coreutils.
105860         Use "file name" when talking about file names, instead of "filename"
105861         or "path", as per the GNU coding standards.
105862         * lib/mkdir-p.c: Renamed from makepath.c.
105863         (make_dir_parents): Renamed from make_path.  All callers changed.
105864         * lib/mkdir-p.h: Likewise.  All includers changed.
105865         * lib/filenamecat.c: Renamed from path-concat.c.
105866         (file_name_concat): Renamed from path_concat.  All callers changed.
105867         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
105868         * lib/filenamecat.h: Likewise.  All includers changed.
105869         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
105870         in comments or local variable names.
105871         * lib/basename.c: Likewise.
105872         * lib/canonicalize.c, canonicalize.h: Likewise.
105873         * lib/dirname.c, dirname.h: Likewise.
105874         * lib/euidaccess.c: Likewise.
105875         * lib/exclude.c: Likewise
105876         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
105877         * lib/fsusage.c, fsuage.h: Likewise.
105878         * lib/fts.c, fts_.h: Likewise.
105879         * lib/getcwd.c: Likewise.
105880         * lib/getloadavg.c: Likewise.
105881         * lib/mkstemp.c: Likewise.
105882         * lib/mountlist.c, mountlist.h: Likewise.
105883         * lib/openat.c, openat.h: Likewise.
105884         * lib/readlink-stub.c: Likewise.
105885         * lib/readutmp.c, readutmp.h: Likewise.
105886         * lib/rename.c: Likewise.
105887         * lib/rmdir.c: Likewise.
105888         * lib/same.c: Likewise.
105889         * lib/savedir.c: Likewise.
105890         * lib/stripslash.c: Likewise.
105891         * lib/tempname.c: Likewise.
105892         * lib/xreadlink.c: Likewise.
105893         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
105894         All uses changed.
105895         * lib/exclude.h: Likewise.
105897         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
105898         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
105899         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
105900         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
105901         * lib/pathmax.h: Include <limits.h> unconditionally, since other
105902         files have been getting away with it for years (MORE/BSD 4.3
105903         is extinct now).
105904         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
105905         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
105907         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
105908         Define to 256, not 255, as per modern POSIX.
105910 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
105912         Sync from coreutils.
105913         Use "file name" when talking about file names, instead of "filename"
105914         or "path", as per the GNU coding standards.
105915         * MODULES.html.sh: mkdir-p renamed from makepath.
105916         filenamecat renamed from path-concat.
105917         * modules/filenamecat: Renamed from modules/path-concat.
105918         (Files): filenamecat.h and filenamecat.c renamed from
105919         path-concat.h and path-concat.c.
105920         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
105921         (Include): filenamecat.h, not path-concat.h.
105922         * modules/mkdir-p: Renamed from modules/makepath.
105923         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
105924         makepath.c.
105925         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
105926         (Include): mkdir-p.h, not makepath.h.
105928 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
105930         Sync from coreutils.
105931         * m4/mkdir-p.m4: Renamed from makepath.m4.
105932         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
105933         Rename files from makepath.c to mkdir-p.c, and from
105934         makepath.h to mkdir-p.h.
105935         * m4/filenamecat.m4: Renamed from path-concat.m4.
105936         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
105937         Rename files from path-concat.c to filenamecat.c,
105938         and from path-concat.h to filenamecat.h.
105939         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
105940         "file name" in local variables or comments.
105941         * m4/rename.m4: Likewise.
105943 2005-06-01  Bruno Haible  <bruno@clisp.org>
105945         * modules/csharpexec: New file.
105946         * MODULES.html.sh (C#): New section.
105948 2005-06-01  Bruno Haible  <bruno@clisp.org>
105950         * m4/csharp.m4: New file, from GNU gettext.
105951         * m4/csharpexec.m4: New file, from GNU gettext.
105953 2005-06-01  Bruno Haible  <bruno@clisp.org>
105955         * lib/csharpexec.h: New file, from GNU gettext.
105956         * lib/csharpexec.c: New file, from GNU gettext.
105957         * lib/csharpexec.sh.in: New file, from GNU gettext.
105959 2005-05-31  Derek Price  <derek@ximbiot.com>
105960             Paul Eggert  <eggert@cs.ucla.edu>
105962         Sync from cvs.
105963         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
105965 2005-05-31  Derek Price  <derek@ximbiot.com>
105966             Paul Eggert  <eggert@cs.ucla.edu>
105968         Sync from cvs.
105969         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
105971 2005-05-29  Derek Price  <derek@ximbiot.com>
105973         * config/srclist.txt (glob_.h, glob.c): Add these files.
105975 2005-05-29  Derek Price  <derek@ximbiot.com>
105977         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
105978         * modules/glob: New file.
105979         * modules/getlogin_r: Add link to POSIX spec in description.
105981 2005-05-29  Derek Price  <derek@ximbiot.com>
105982             Paul Eggert  <eggert@cs.ucla.edu>
105984         * m4/glob.m4: New file.
105986 2005-05-29  Derek Price  <derek@ximbiot.com>
105987             Paul Eggert  <eggert@cs.ucla.edu>
105989         * lib/glob_.h, lib/glob.c: New files.
105991 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
105993         * modules/fts (Files): Remove m4/inttypes-pri.m4.
105994         * modules/fts-lgpl (Depends-on): Remove gettext.
105996 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
105998         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
105999         and don't require gt_INTTYPES_PRI.
106001 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
106003         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
106005         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
106006         the configuration hassle isn't worth it.
106007         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
106008         (LONGEST_MODIFIER, PRIuMAX): Remove.
106010 2005-05-27  Bruno Haible  <bruno@clisp.org>
106012         * lib/getlogin_r.h: Remove second include of <stddef.h>.
106014 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
106016         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
106017         _POSIX_PTHREAD_SEMANTICS for Solaris.
106019 2005-05-25  Derek Price  <derek@ximbiot.com>
106021         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
106023 2005-05-25  Derek Price  <derek@ximbiot.com>
106024             Paul Eggert  <eggert@cs.ucla.edu>
106026         * modules/getlogin_r, m4/getlogin_r.m4: New files.
106027         * lib/getlogin_r.c, getlogin_r.h: New files.
106029 2005-05-25  Bruno Haible  <bruno@clisp.org>
106030             Derek Price  <derek@ximbiot.com>
106032         * lib/getlogin_r.h: Simplify API documentation.
106034 2005-05-23  Derek Price  <derek@ximbiot.com>
106036         * modules/minmax (Files): Add m4/minmax.m4.
106037         (configure.ac): Add gl_MINMAX.
106039 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
106041         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
106042         so that unistd-safer.h (GPL'ed code) need not be included.
106044 2005-05-22  Bruno Haible  <bruno@clisp.org>
106046         * m4/minmax.m4: New file.
106047         Based on a patch by Derek Price <derek@ximbiot.com>.
106049 2005-05-22  Bruno Haible  <bruno@clisp.org>
106051         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
106052         (INT64_MIN): Fix definition.
106053         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
106055         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
106056         NEED_SIGNED_INT_TYPES.
106058         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
106059         HAVE_SYSTEM_INTTYPES.
106061 2005-05-22  Bruno Haible  <bruno@clisp.org>
106063         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
106064         Also include <sys/param.h> if it defines MIN, MAX.
106065         Based on a patch by Derek Price <derek@ximbiot.com>.
106067 2005-05-21  Jim Meyering  <jim@meyering.net>
106069         * modules/fts (Files): Add m4/inttypes-pri.m4.
106070         (Depends-on): Add lstat and remove gettext.  Alphabetize.
106072 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
106074         New fts module.
106075         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
106076         (setup_dir, free_dir): New functions.
106077         (enter_dir, leave_dir): Define trivial
106078         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
106079         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
106080         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
106081         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
106082         Move to fts-cycle.c.
106083         (fts_open): Use setup_dir.
106084         (fts_close): Use free_dir.
106085         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
106086         This adds a label and some gotos, but the alternatives were messier.
106087         Check for memory allocation failure when entering a dir.
106088         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
106089         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
106090         (FTS): New member fts_cycle, that is a union that contains the
106091         old active_dir_ht and cycle_state.  All uses changed to mention
106092         fts_cycle.ht and fts_cycle.state.
106093         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
106094         fts.c, with the following changes:
106095         (setup_dir, free_dir): New functions.
106096         (enter_dir): Now returns bool.  Return true if successful, false
106097         if memory exhausted.  All callers changed.
106098         Do not bother partly cleaning up on
106099         memory allocation failure; that is free_dir's job.
106100         However, free ad if hash_insert fails, to avoid memory leak.
106101         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
106102         fts->fts_options to see which union member to use.
106104 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
106106         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
106107         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
106109 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
106111         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
106113 2005-05-20  Jim Meyering  <jim@meyering.net>
106115         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
106116         Now a macro, to pacify GCC.
106118 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
106120         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
106121         of -1.
106123 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
106125         * lib/chown.c (rpl_chown): Return -1 on failure.
106127 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
106129         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
106130         Don't check for stddef.h.
106131         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
106132         don't use its results.
106133         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
106134         since we include them unconditionally.  Don't require
106135         AM_STDBOOL_H, since stdbool is a prerequisite.
106136         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
106137         since we assume C89 or better.
106138         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
106139         as we don't use their results.
106140         Don't check for fchdir, memmove, memset, strrchr, as we use
106141         them unconditionally.
106142         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
106143         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
106145 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
106147         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
106148         Include <stddef.h> unconditionally, since we assume C89 now.
106149         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
106150         * lib/fts.c: Include fts_.h first, to check interface.
106151         Do not include intprops.h; no longer needed.
106152         Include cycle-check.h and hash.h, since fts_.h no longer does.
106153         Remove unnecessary casts of closedir to void.
106154         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
106155         decide whether to decrement nlinks.
106156         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
106157         (FTS): Use struct hash_table * instead of Hash_table, so that
106158         we no longer need to include hash.h here.
106160 2005-05-18  Jim Meyering  <jim@meyering.net>
106162         * modules/dirfd (License): Change to LGPL.  Most of the code
106163         is already in the public domain.
106165 2005-05-18  Jim Meyering  <jim@meyering.net>
106167         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
106168         Reported by Yoann Vandoorselaere.
106170 2005-05-17  Jim Meyering  <jim@meyering.net>
106172         * m4/fts.m4: New file, from coreutils.
106174 2005-05-17  Jim Meyering  <jim@meyering.net>
106176         * lib/fts.c, lib/fts_.h: New files, from coreutils.
106178 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
106180         Sync from coreutils.
106181         * m4/unlinkdir.m4: New file.
106183 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
106185         Sync from coreutils.
106186         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
106187         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
106188         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
106189         White space changes only.
106190         * lib/makepath.c (make_path): Port to hosts where leading "//" is
106191         special.
106192         * lib/yesno.c: Include getline.h, not ctype.h.
106193         (yesno): Don't remove leading white space; POSIX doesn't allow it.
106194         Use getline to remove arbitrary restriction on response length.
106196 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
106198         * config/srclist-update: Spell out "Street" in FSF postal
106199         mail address; this is the style the FSF seems to prefer.
106201         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
106202         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
106203         this updates FSF postal mail address.
106205         Sync from coreutils.
106206         * modules/unlinkdir: New file.
106207         * modules/yesno (Depends-on): Add getline.
106208         * MODULES.html.sh (File system functions): Add unlinkdir.
106210 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
106212         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
106213         lib/strsep.h:
106214         Change the initial comment to refer to GPL, not LGPL.
106215         gnulib-tool will change it to LGPL as needed.
106217         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
106218         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
106219         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
106220         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
106221         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
106222         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
106223         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
106224         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
106225         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
106226         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
106227         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
106228         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
106229         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
106230         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
106231         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
106232         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
106233         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
106234         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
106235         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
106236         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
106237         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
106238         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
106239         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
106240         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
106241         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
106242         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
106243         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
106244         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
106245         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
106246         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
106247         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
106248         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
106249         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
106250         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
106251         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
106252         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
106253         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
106254         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
106255         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
106256         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
106257         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
106258         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
106259         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
106260         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
106261         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
106262         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
106263         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
106264         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
106265         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
106266         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
106267         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
106268         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
106269         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
106270         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
106271         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
106272         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
106273         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
106274         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
106275         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
106276         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
106277         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
106278         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
106279         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
106280         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
106281         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
106282         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
106283         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
106284         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
106285         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
106286         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
106287         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
106288         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
106289         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
106290         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
106291         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
106292         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
106293         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
106294         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
106295         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
106296         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
106297         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
106298         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
106299         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
106300         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
106301         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
106302         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
106303         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
106304         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
106305         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
106306         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
106307         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
106308         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
106309         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
106310         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
106311         lib/yesno.c, lib/yesno.h:
106312         Update FSF postal mail address.
106314 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
106316         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
106317         tests/test-memmem.c, tests/test-stpncpy.c:
106318         Update FSF postal mail address.
106320 2005-05-13  Bruno Haible  <bruno@clisp.org>
106322         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
106323         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
106324         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
106325         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
106326         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
106327         Add support for 64-bit integers in the MSVC compiler.
106329 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
106331         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
106333 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
106335         * gnulib-tool (func_import): Sort and uniquify recommended includes.
106337 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
106339         * doc/getdate.texi (General date syntax): Don't say that date
106340         date --iso-8601=ns generates acceptable dates; it doesn't yet.
106341         Problem reported by Nic Ferrier.
106343 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
106345         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
106346         specified in ai_socktype. Fix invalid ai_protocol
106347         check. ai_protocol is usually set to 0 or depending on
106348         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
106349         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
106350         ai_socktype / ai_protocol in the returned addrinfo structure.
106352 2005-05-10  Simon Josefsson  <jas@extundo.com>
106354         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
106355         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
106357 2005-05-10  Karl Berry  <karl@gnu.org>
106359         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
106360         (from http://www.gnu.org/licenses).
106361         * doc/COPYING.LIB: also rename to COPYING.LESSER.
106362         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
106363         fdl.texi suffices.
106365 2005-05-10  Karl Berry  <karl@gnu.org>
106367         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
106368         (COPYING.DOC): remove.
106370         * config/srclist-update: new FSF address.
106372 2005-05-10  Derek Price  <derek@ximbiot.com>
106374         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
106375         possible.
106377 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
106378             Bruno Haible  <bruno@clisp.org>
106380         * modules/inet_ntop: New file.
106381         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
106382         inet_ntop.
106384 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
106385             Bruno Haible  <bruno@clisp.org>
106387         * m4/inet_ntop.m4: New file.
106389 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
106390             Bruno Haible  <bruno@clisp.org>
106392         * lib/inet_ntop.h: New file.
106393         * lib/inet_ntop.c: New file, from glibc with modifications.
106395 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
106397         * modules/time_r (License): Change to LGPL.
106398         * modules/extensions (License): Change to LGPL.  Actually,
106399         the license is more permissive than that, but currently gnulib-tool
106400         doesn't know how to handle more-permissive licenses.
106402         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
106403         Problem reported by Dave Love.
106405 2005-05-08  Jim Meyering  <jim@meyering.net>
106407         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
106408         blank.
106410 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
106412         * modules/argmatch (Depends-on): Add stdbool.
106413         * modules/backupfile (Depends-on): Likewise.
106414         * modules/chdir-long (Depends-on): Likewise.
106415         * modules/closeout (Depends-on): Likewise.
106416         * modules/cycle-check (Depends-on): Likewise.
106417         * modules/dirname (Depends-on): Likewise.
106418         * modules/fnmatch (Depends-on): Likewise.
106419         * modules/fsusage (Depends-on): Likewise.
106420         * modules/fwriteerror (Depends-on): Likewise.
106421         * modules/getcwd (Depends-on): Likewise.
106422         * modules/getloadavg (Depends-on): Likewise.
106423         * modules/hard-locale (Depends-on): Likewise.
106424         * modules/makepath (Depends-on): Likewise.
106425         * modules/mountlist (Depends-on): Likewise.
106426         * modules/nanosleep (Depends-on): Likewise.
106427         * modules/posixtm (Depends-on): Likewise.
106428         * modules/quotearg (Depends-on): Likewise.
106429         * modules/readtokens (Depends-on): Likewise.
106430         * modules/readtokens0 (Depends-on): Likewise.
106431         * modules/readutmp (Depends-on): Likewise.
106432         * modules/save-cwd (Depends-on): Likewise.
106433         * modules/strftime (Depends-on): Likewise.
106434         * modules/userspec (Depends-on): Likewise.
106435         * modules/utimecmp (Depends-on): Likewise.
106436         * modules/xgetcwd (Depends-on): Likewise.
106437         * modules/xnanosleep (Depends-on): Likewise.
106438         * modules/xstrtod (Depends-on): Likewise.
106439         * modules/yesno (Depends-on): Likewise.
106441 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
106443         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
106444         needless checks.
106446 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
106448         Merge from coreutils.  Among other things,
106449         add bulletproofing for cases where stdin, stdout, or stderr are closed.
106450         * lib/fd-safer.c: New file.
106451         * lib/fcntl-safer.h, open-safer.c: Remove.
106452         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
106453         * lib/dup-safer.c: Include unistd-safer.h first.
106454         Don't include errno.h.
106455         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
106456         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
106457         * lib/file-type.c: Rely on file-type.h change.
106458         * lib/getloadavg.c: Include unistd-safer.h.
106459         (getloadavg): Use safer open.
106460         * lib/getusershell.c: Include "stdio-safer.h".
106461         (getusershell): Use safer fopen.
106462         * lib/long-options.c (long_options): Use NULL rather than 0.
106463         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
106464         'free'.
106465         * lib/modechange.c: Likewise.
106466         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
106467         (MODE_DONE): New constant.
106468         (struct mode_change): Remove 'next' member.
106469         (make_node_op_equals): New function; like the old one of the
106470         same name, except it allocates an array.
106471         (mode_compile, mode_create_from_ref): Use it.
106472         (mode_compile): Allocate result as an array, not a linked list.
106473         Parse octal string ourself, so that we catch mistakes like "+0".
106474         (mode_adjust): Arg is an array, not a linked list.
106475         * lib/modechange.c: Include stat-macros.h, xalloc.h.
106476         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
106477         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
106478         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
106479         Remove.  This is now stat-macros.h's job.
106480         (talloc): Remove.  All callers replaced by xalloc, so that
106481         our invokers don't have to worry about reporting memory failures.
106482         (make_node_op_equals): Remove.
106483         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
106484         New constants.
106485         (struct mode_change): Moved here from modechange.h.
106486         (mode_append_entry): Remove.
106487         (mode_compile): Remove MASKED_OPS arg, since it encouraged
106488         apps to have incorrect behavior.  Use simpler algorithm for head
106489         and tail.  Don't futz with umask; that's now the job of mode_adjust.
106490         Detect more invalid usages rather than having somewhat-random behavior.
106491         Don't insert an "a=" action, as that leads to incorrect behavior.
106492         (mode_compile, mode_create_from_ref): Return NULL on error instead
106493         of an enum, since now there's only one way to have an error.  All
106494         callers changed.
106495         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
106496         at the correct time.  Simplify calculation of "+u" and its ilk.
106497         Don't mishandle "+X".
106498         (mode_free): Remove "register" and localize decls.
106499         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
106500         (struct mode_change): Move to modechange.c; callers don't
106501         need to see this stuff.
106502         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
106503         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
106504         (mode_change, mode_adjust): Reflect the new signatures noted above.
106505         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
106506         that might redefine system include files.
106507         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
106508         (my_usleep): Use NULL rather than (void *) 0.
106509         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
106510         Use siginterrupt to specify that system calls should be interrupted.
106511         (rpl_nanosleep): Move initialization of suspended closer to call of
106512         my_usleep.
106513         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
106514         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
106515         (desirable_utmp_entry): New function.
106516         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
106517         using x2nrealloc, to simplify logic.
106518         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
106519         size calculation.  Do not assume utmp file is a regular file.
106520         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
106521         (READ_UTMP_CHECK_PIDS): New constant.
106522         * lib/save-cwd.c: Include unistd-safer.h.
106523         (save_cwd): Use fd_safer.
106524         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
106525         [!_LIBC] Include "stat-macros.h" instead.
106526         * lib/unistd-safer.h (fd_safer): New decl.
106528 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
106530         * modules/getloadavg (Depends-on): Add unistd-safer.
106531         * modules/getusershell (Depends-on): Add stdio-safer.
106532         * modules/lstat (Depends-on): Remove xalloc.
106533         * modules/mkstemp (Depends-on): Add stat-macros.
106534         * modules/modechange (Depends-on): Remove xstrtol.
106535         Add stat-macros, xalloc.
106536         * modules/save-cwd (Depends-on): Add unistd-safer.
106537         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
106538         * modules/unistd-safer (Files): Add lib/fd-safer.c
106539         (Makefile.am): Remove lib_SOURCES.
106541         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
106542         Remove fcntl-safer; unistd-safer supersedes it.
106544 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
106546         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
106547         AC_HEADER_STAT.
106548         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
106549         (gl_PREREQ_CHOWN): Remove.
106550         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
106551         it.  Don't require AC_HEADER_STAT.
106552         (gl_PREREQ_LSTAT): Remove.
106553         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
106554         Don't require AC_HEADER_STAT.
106555         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
106556         (gl_PREREQ_RMDIR): Remove.
106557         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
106558         mention stat-macros.h or AC_HEADER_STAT, since we'll make
106559         the stat-macros module a prerequisite.
106560         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
106561         * m4/filemode.m4 (gl_FILEMODE): Likewise.
106562         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
106563         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
106564         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
106565         variable names.
106566         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
106567         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
106568         variable prefixes.
106569         * m4/fcntl-safer.m4: Remove.
106570         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
106571         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
106572         Invoke gl_PREREQ_FD_SAFER.
106573         (gl_PREREQ_FD_SAFER): New macro.
106574         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
106575         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
106576         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
106577         Remove duplicate call to AC_LIBOBJ(readutmp).
106578         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
106580         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
106581         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
106583 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
106585         * MODULES.html.sh (Misc): Add byteswap.
106587 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
106589         * modules/getcwd (Depends-on): Add extensions.
106590         * modules/openat (Depends-on): Likewise.
106592 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
106594         * modules/byteswap: New file.
106596 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
106598         * m4/byteswap.m4: New file.
106600 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
106602         * lib/byteswap_.h: New file.
106604 2005-04-25  Karl Berry  <karl@gnu.org>
106606         * m4/gettext.m4: Update from GNU gettext 0.14.4.
106608 2005-04-25  Albert Chin  <china@thewrittenword.com>
106610         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
106611         Toolkit C bug.
106613 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
106615         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
106616         (func_ln_if_changed): Remove forcibly for no error message
106617         in case file does not exist.
106619 2005-04-19  Simon Josefsson  <jas@extundo.com>
106621         * gnulib-tool (Options): Make --symlink mean --symbolic.
106623 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
106625         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
106627 2005-04-16  Simon Josefsson  <jas@extundo.com>
106629         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
106631 2005-04-15  Simon Josefsson  <jas@extundo.com>
106633         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
106635 2005-04-15  Simon Josefsson  <jas@extundo.com>
106637         * gnulib-tool: Rename --symlink to --symbolic.
106639 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
106641         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
106642         symbolic links to files instead of copying/moving.  Add --aux-dir,
106643         specifying directory relative --dir where auxiliary build tools
106644         are placed.
106646 2005-04-14  Bruno Haible  <bruno@clisp.org>
106648         * modules/allocsa (License): Change to LGPL.
106649         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
106651 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
106653         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
106654         that "UTC +1 second" continues to work.  Problem reported
106655         by Dmitry V. Levin.
106656         (relunit_snumber): New rule.
106657         (relunit): Use it.
106659 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
106661         * lib/getdate.y (universal_time_zone_table): New constant.
106662         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
106663         universal_time_zone_table.
106664         (lookup_zone): Prefer universal_time_zone_table to
106665         local_time_zone_table, so that "GMT" time stamps are allowed in
106666         London during the summer.  Problem reported by Ian Abbott.
106668 2005-04-12  Jim Meyering  <jim@meyering.net>
106670         * lib/human.c (humblock): Set *options even when returning due to
106671         xstrtoumax conversion failure.  Thanks to a used-uninitialized
106672         warning from gcc-4.
106674 2005-04-09  Jim Meyering  <jim@meyering.net>
106676         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
106677         -Wuninitialized: initialize tm0.tm_year.
106679 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
106681         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
106682         count, since there's no maximum.  All uses changed.
106683         Add member dsts_seen.
106684         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
106685         not being INT_MAX.
106686         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
106687         Use pc_rels_seen to decide whether a date is absolute.
106689         * lib/getdate.y (number): Don't overwrite year.
106690         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
106691         check.
106693 2005-04-02  Simon Josefsson  <jas@extundo.com>
106695         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
106696         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
106698 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
106700         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
106701         where no absolute path name can be longer than PATH_MAX.
106703 2005-03-27  Jim Meyering  <jim@meyering.net>
106705         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
106707 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
106709         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
106710         "one's complement" -> "ones' complement" in comment, as per Knuth.
106711         "value of type" -> "type or expression" in comment.
106712         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
106714 2005-03-26  Jim Meyering  <jim@meyering.net>
106716         Comment nits.
106717         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
106718         Correct typos: s/or/of/.
106720 2005-03-26  Jim Meyering  <jim@meyering.net>
106722         * modules/check-include-files: Move to ../ and rename to...
106723         * check-module: ...this.
106725 2005-03-25  Jim Meyering  <jim@meyering.net>
106727         * modules/xvasprintf (Files): Add xalloc.h.
106729 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
106731         * modules/gettext (Files): config/config.rpath ->
106732         build-aux/config.rpath
106733         * modules/iconv (Files): Likewise.
106734         Problem reported by Oskar Liljeblad.
106736 2005-03-23  Jim Meyering  <jim@meyering.net>
106738         * modules/check-include-files: New script to check for
106739         missing dependencies, multiple includes, etc.
106741         * modules/c-strtold (Depends-on): Add xalloc.
106742         * modules/c-strtod (Depends-on): Add xalloc.
106743         * modules/hash (Depends-on): Add xalloc.
106744         (Files): Remove lib/xalloc.h.
106746         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
106747         * modules/userspec (Files): Add lib/inttostr.h.
106749 2005-03-23  Jim Meyering  <jim@meyering.net>
106751         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
106753 2005-03-22  Jim Meyering  <jim@meyering.net>
106755         * modules/stat-macros: New module.
106756         * modules/canonicalize, modules/euidaccess, modules/file-type,
106757         * modules/filemode, modules/lchown, modules/makepath,
106758         * modules/rmdir, modules/stat: Depend on new stat-macros module
106759         rather than listing lib/stat-macros.h manually.
106760         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
106762 2005-03-22  Jim Meyering  <jim@meyering.net>
106764         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
106766 2005-03-22  Bruno Haible  <bruno@clisp.org>
106768         * config/srclist.txt: Replace target directory 'config' with
106769         'build-aux'.
106770         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
106771         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
106772         ../build-aux/.
106774 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
106776         * modules/chdir-long (Depends-on): Add mempcpy.
106778         * modules/acl, modules/backupfile, modules/c-strtod,
106779         modules/c-strtold, modules/canon-host, modules/canonicalize,
106780         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
106781         modules/exclude, modules/exitfail, modules/file-type,
106782         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
106783         modules/getdate, modules/getline, modules/getpagesize,
106784         modules/getpass, modules/getugroups, modules/group-member,
106785         modules/hard-locale, modules/hash, modules/human, modules/idcache,
106786         modules/inttostr, modules/long-options, modules/makepath,
106787         modules/md5, modules/memcasecmp, modules/memcoll,
106788         modules/modechange, modules/mountlist, modules/path-concat,
106789         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
106790         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
106791         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
106792         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
106793         modules/strftime, modules/strndup, modules/strverscmp,
106794         modules/timespec, modules/unlocked-io, modules/userspec,
106795         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
106796         modules/yesno:
106797         Remove lib_SOURCES line from Makefile.am section, as this is now
106798         done automatically by the corresponding Autoconf macro.
106800 2005-03-21  Jim Meyering  <jim@meyering.net>
106802         Changes imported from coreutils.
106804         * lib/cycle-check.c: Don't include xalloc.h.
106806         * lib/path-concat.c: Don't include assert.h.
106807         (path_concat): Remove assertion that would have triggered
106808         for ABASE starting with more than one slash.
106809         Reported by Andreas Schwab.
106811         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
106812         properly when ABASE is an absolute file name.
106813         Correct the description of this function.
106814         Include <assert.h>.
106815         Add an assertion and a test driver.
106816         This fixes a bug introduced on 2004-07-02.
106817         Andreas Schwab reported the resulting failure of cp --parents:
106818         http://lists.gnu.org/r/bug-coreutils/2005-01/msg00130.html
106820 2005-03-21  Jim Meyering  <jim@meyering.net>
106822         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
106823         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
106825 2005-03-21  Jim Meyering  <jim@meyering.net>
106826         and  Paul Eggert  <eggert@cs.ucla.edu>
106828         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
106829         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
106830         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
106831         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
106832         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
106833         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
106834         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
106835         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
106836         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
106837         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
106838         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
106839         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
106840         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
106841         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
106842         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
106843         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
106844         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
106845         for these modules.
106847 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
106849         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
106850         (which shouldn't happen), generate nothing instead of returning 0
106851         immediately, so that nstrftime (NULL, ...) doesn't return 0.
106853 2005-03-16  Bruno Haible  <bruno@clisp.org>
106855         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
106856         HAVE_LONGLONG_64BIT.
106858 2005-03-16  Bruno Haible  <bruno@clisp.org>
106860         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
106861         HAVE_LONGLONG_64BIT.
106863 2005-03-16  Bruno Haible  <bruno@clisp.org>
106865         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
106866         HAVE_LONGLONG_64BIT.
106868 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
106870         * lib/strftime.c (my_strftime): Prepend space to format so that we can
106871         reliably distinguish strftime failure from empty output on POSIX
106872         hosts.
106874 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
106876         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
106877         (iconv_string): Don't guess a size-zero buffer, as that might cause
106878         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
106879         result would be 'too large', where 'too large' is (heuristically)
106880         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
106881         overflow concerns.  This will prevent some unwanted malloc failures
106882         when the inputs are very large.
106884 2005-03-15  Karl Berry  <karl@gnu.org>
106886         * config/srclist.txt (config.rpath): from gettext.
106887         * config/config.rpath: update.
106889 2005-03-15  Bruno Haible  <bruno@clisp.org>
106891         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
106892         to 'negate'.
106894         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
106895         variable.
106897         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
106898         results.
106900 2005-03-14  Simon Josefsson  <jas@extundo.com>
106902         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
106903         <fx@gnu.org>.
106905 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
106907         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
106908         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
106909         intprops.h.
106910         * lib/strtol.c: Likewise.
106912 2005-03-14  Jim Meyering  <jim@meyering.net>
106914         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
106915         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
106916         to be nonzero so that we (and caller) can detect the difference
106917         between a valid zero-length expansion and an error return, even
106918         when the underlying strftime fails before writing anything into
106919         that location.
106921 2005-03-14  Bruno Haible  <bruno@clisp.org>
106923         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
106924         Update from GNU gettext 0.14.3.
106926 2005-03-10  Jim Meyering  <jim@meyering.net>
106928         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
106930 2005-03-10  Jim Meyering  <jim@meyering.net>
106932         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
106933         so that this module works on systems without fchdir.
106935 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
106937         Factor int-properties macros into a single file, except for
106938         glibc-related files.
106939         * lib/intprops.h: New file.
106940         * lib/getloadavg.c: Include it instead of limits.h.
106941         (INT_STRLEN_BOUND): Remove.
106942         * lib/human.c: Include intprops.h.
106943         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
106944         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
106945         302/1000.
106946         * lib/inttostr.h: Include intprops.h instead of limits.h.
106947         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
106948         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
106949         for consistency with intprops.h.
106950         (time_t_is_integer, twos_complement_arithmetic): Use them.
106951         * lib/sig2str.h: Include <signal.h>, intprops.h.
106952         (INT_STRLEN_BOUND): Remove.
106953         * lib/strftime.c (TYPE_SIGNED): Remove.
106954         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
106955         * lib/strtol.c: Adjust comments to match intprops.h.
106956         * lib/userspec.c: Include intprops.h.
106957         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
106958         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
106959         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
106960         instead of rolling our own expressions.
106961         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
106963         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
106964         instead of int.
106965         (my_strftime): Do not mishandle years close to INT_MAX, by doing
106966         the right thing even if adding 1900 would overflow.  Similarly
106967         for tm_mon + 1 and tm_yday + 1.
106968         Make %Y always equivalent to %C%y, and similarly for %G and %g.
106969         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
106970         (DO_SIGNED_NUMBER): New macro.
106971         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
106973 2005-03-07  Bruno Haible  <bruno@clisp.org>
106975         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
106977 2005-03-07  Bruno Haible  <bruno@clisp.org>
106979         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
106981 2005-03-04  Derek R. Price  <derek@ximbiot.com>
106983         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
106984         (func_import): Only replace files via --import when they have actually
106985         changed.
106987 2005-03-03  Derek R. Price  <derek@ximbiot.com>
106989         * m4/mmap-anon.m4: New file.
106990         * m4/pagealign_alloc.m4: New file.
106992 2005-03-03  Derek R. Price  <derek@ximbiot.com>
106993             Bruno Haible  <bruno@clisp.org>
106995         * modules/pagealign_alloc: New file.
106996         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
106998 2005-03-03  Derek R. Price  <derek@ximbiot.com>
106999             Bruno Haible  <bruno@clisp.org>
107001         * lib/pagealign_alloc.h: New file.
107002         * lib/pagealign_alloc.c: New file.
107004 2005-03-03  Bruno Haible  <bruno@clisp.org>
107006         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
107007         Use an all-permissive copyright notice, recommended by RMS.
107009 2005-03-02  Bruno Haible  <bruno@clisp.org>
107011         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
107012         of AIX, the replacement has to be done only after <string.h> is
107013         included, therefore not in config.h. stpncpy.h does the replacement,
107014         and stpncpy.c uses it.
107016 2005-03-02  Bruno Haible  <bruno@clisp.org>
107018         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
107019         stpncpy.c uses it.
107021 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
107023         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
107024         The workaround isn't strictly needed for POSIX conformance, and
107025         it's too much of a pain to configure and maintain.  We'll ask
107026         people to fix their kernels instead.
107027         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
107028         (NANOSLEEP_BUG_WORKAROUND): Remove.
107029         (xnanosleep): Remove the workaround.
107031 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
107033         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
107034         Reported by Derek Price.
107035         (Include): Add "timespec.h".
107037         * modules/xnanosleep (Depends-on): Remove gethrxtime.
107039 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
107041         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
107042         to detect nanosleep bug.
107044 2005-03-01  Bruno Haible  <bruno@clisp.org>
107046         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
107048 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
107050         * modules/gethrxtime: New file.
107051         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
107052         (Depends-on): Add gethrxtime.
107053         (configure.ac): Add gl_XNANOSLEEP.
107054         (Makefile.am): Remove lib_SOURCES line.
107056 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
107058         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
107059         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
107061 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
107063         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
107064         * lib/timespec.h (gettime): Return void, since it always
107065         succeeds now.  All uses changed.
107066         * lib/gettime.c (gettime): Likewise.
107067         [HAVE_NANOTIME]: Prefer nanotime.
107068         Assume gettimeofday succeeds, as POSIX requires.
107069         Assime time () succeeds, since other code already does.
107070         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
107071         (timespec_subtract): Remove.
107072         (NANOSLEEP_BUG_WORKAROUND): New constant.
107073         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
107074         things considerably.  Use it only on GNU/Linux hosts, since the
107075         workaround shouldn't be needed elsewhere.
107077 2005-02-24  Bruno Haible  <bruno@clisp.org>
107079         * modules/gettext (Files): Add m4/glibc2.m4.
107081 2005-02-24  Bruno Haible  <bruno@clisp.org>
107083         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
107084         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
107085         * m4/progtest.m4:
107086         Update from GNU gettext 0.14.2.
107087         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
107089 2005-02-24  Bruno Haible  <bruno@clisp.org>
107091         * lib/localcharset.c: Update from GNU gettext 0.14.2.
107092         * lib/config.charset: Update from GNU gettext 0.14.2.
107094 2005-02-24  Bruno Haible  <bruno@clisp.org>
107096         * lib/gettext.h: Update from GNU gettext 0.14.2.
107098 2005-02-23  Simon Josefsson  <jas@extundo.com>
107100         * m4/iconvme.m4: New file.
107102 2005-02-23  Jim Meyering  <jim@meyering.net>
107104         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
107105         change.
107106         Thanks to Bruno Haible for catching it.
107108 2005-02-22  Simon Josefsson  <jas@extundo.com>
107110         * modules/iconvme: New file.
107112         * MODULES.html.sh: Add iconvme.
107114 2005-02-22  Simon Josefsson  <jas@extundo.com>
107116         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
107118 2005-02-22  Simon Josefsson  <jas@extundo.com>
107120         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
107122 2005-02-22  Jim Meyering  <jim@meyering.net>
107124         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
107125         s/ifndef/ifdef/.
107127 2005-02-20  Neil Conway  <neilc@samurai.com>
107129         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
107130         returned by OSX/Darwin if the specified buffer is not large
107131         enough for the hostname.
107133 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
107135         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
107136         pass it to _help, otherwise the latter coredumps trying to
107137         dereference state.root_argp.
107139 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
107141         * modules/chdir-long (Depends-on): Add memrchr.
107142         * modules/memrchr (Files): Add lib/memrchr.h.
107143         (Include): "memrchr.h".
107145 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
107147         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
107149 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
107151         * lib/memrchr.h: New file.
107152         * lib/chdir-long.c: Include it.
107153         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
107154         Don't bother including stddef.h.
107156 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
107158         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
107159         inclusion.
107160         Include <sys/types.h>, for dev_t.
107161         (ME_DUMMY, ME_REMOTE): Move from here....
107162         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
107163         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
107164         Dmitry V. Levin.
107165         Include mountlist.h first, to test the interface.
107167 2005-01-29  Bruno Haible  <bruno@clisp.org>
107169         * lib/progname.c (program_name): Initialize.
107170         Needed when linking statically on MacOS X.
107172 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
107174         Sync from coreutils.
107175         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
107176         (Depends-on): Add c-strtod.
107177         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
107179 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
107181         Sync from coreutils.
107182         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
107184         Remove files that are specific to coreutils.
107185         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
107187 2005-01-28  Bruno Haible  <bruno@clisp.org>
107189         * modules/javacomp: New file.
107190         * MODULES.html.sh (Java): Add javacomp.
107192 2005-01-28  Bruno Haible  <bruno@clisp.org>
107194         * m4/javacomp.m4: New file, from GNU gettext.
107196 2005-01-28  Bruno Haible  <bruno@clisp.org>
107198         * lib/javacomp.sh.in: New file, from GNU gettext.
107199         * lib/javacomp.h: New file, from GNU gettext.
107200         * lib/javacomp.c: New file, from GNU gettext.
107202 2005-01-26  Simon Josefsson  <jas@extundo.com>
107204         * lib/gai_strerror.c: Use GPL in header.
107206 2005-01-26  Bruno Haible  <bruno@clisp.org>
107208         * modules/javaexec: New file.
107209         * MODULES.html.sh (Java): Add javaexec.
107211 2005-01-26  Bruno Haible  <bruno@clisp.org>
107213         * m4/javaexec.m4: New file, from GNU gettext.
107215 2005-01-26  Bruno Haible  <bruno@clisp.org>
107217         * lib/javaexec.sh.in: New file, from GNU gettext.
107218         * lib/javaexec.h: New file, from GNU gettext.
107219         * lib/javaexec.c: New file, from GNU gettext.
107221 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
107223         * modules/lchown (Depends-on): Remove lchown.h
107225 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
107227         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
107228         must be defined if the header file was not found, in order
107229         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
107231 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
107233         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
107234         initializers for struct pentry_state.
107235         (__argp_error): Check return value of __asprintf
107236         (__argp_failure): Translate error message
107238         * lib/argp-parse.c: Removed braces around the expansion of N_()
107240 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
107242         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
107243         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
107244         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
107245         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
107246         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
107247         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
107248         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
107249         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
107250         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
107251         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
107252         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
107253         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
107254         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
107255         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
107256         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
107257         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
107258         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
107259         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
107260         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
107261         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
107262         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
107263         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
107264         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
107265         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
107266         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
107267         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
107268         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
107269         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
107270         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
107271         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
107272         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
107273         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
107274         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
107275         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
107276         xstrtol.m4, xstrtoumax.m4, yesno.m4:
107277         Use an all-permissive copyright notice, recommended by RMS.
107279 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
107281         * modules/chdir-long (Depends-on): Remove mempcpy.
107283 2005-01-21  Jim Meyering  <jim@meyering.net>
107285         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
107286         same value as for Solaris 9.
107288         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
107289         component length.  This included changing the parameter to be
107290         of type `char *' rather than `char const *'.
107291         * lib/chdir-long.h (chdir_long): Update prototype.
107293         * lib/openat.c (fdopendir, fstatat): New functions.
107294         * lib/openat.h: Include headers required for use of DIR and struct
107295         stat.
107296         [AT_SYMLINK_NOFOLLOW]: Define.
107297         (fdopendir, fstatat): Add prototypes.
107299 2005-01-21  Bruno Haible  <bruno@clisp.org>
107301         * modules/classpath: New file.
107302         * MODULES.html.sh (Java): Add classpath.
107304 2005-01-21  Bruno Haible  <bruno@clisp.org>
107306         * lib/classpath.h: New file, from GNU gettext.
107307         * lib/classpath.c: New file, from GNU gettext.
107309 2005-01-20  Simon Josefsson  <jas@extundo.com>
107311         * modules/version-etc-fsf: New file.
107313 2005-01-20  Simon Josefsson  <jas@extundo.com>
107315         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
107316         * lib/version-etc.c: Remove version_etc_copyright.
107317         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
107318         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
107320 2005-01-20  Simon Josefsson  <jas@extundo.com>
107322         * lib/base64.h (isbase64): Add.
107324         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
107325         using a unsigned prototype, don't inline.
107326         (base64_decode): Use it.
107328 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
107330         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
107331         it.
107333 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
107335         * lib/save-cwd.c (save_cwd): Remove code to support the case
107336         where fchdir is missing or flaky.
107338 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
107340         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
107342 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
107344         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
107345         AC_LIBSOURCES now does this.
107346         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
107347         with new ullong_max module.
107349 2005-01-19  Bruno Haible  <bruno@clisp.org>
107351         * modules/sh-quote: New file.
107352         * MODULES.html.sh (Executing programs): Add sh-quote.
107354 2005-01-19  Bruno Haible  <bruno@clisp.org>
107356         * lib/sh-quote.h: New file, from GNU gettext.
107357         * lib/sh-quote.c: New file, from GNU gettext.
107359 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
107361         Merge from coreutils.
107362         * m4/ullong_max.m4: New file.
107363         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
107364         (gl_MACROS): Assume localeconv exists.
107366 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
107368         Merge changes from coreutils, as described below in several
107369         changelogs dated today.
107371         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
107372         (O_DIRECTORY): Remove; not needed here, since "." must be
107373         a directory.  All uses removed.
107374         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
107375         universal on Suns, and we also need to test for IRIX.
107376         Revamp code to use 'if' rather than '#if'.
107377         Avoid unnecessary comparison of cwd->desc to 0.
107379         * lib/utimens.c (futimens): Robustify the previous patch, by checking
107380         for known valid error numbers rather than observed invalid ones.
107382 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
107384         * modules/ullong_max: New file.
107386         * modules/chdir-long, modules/openat: New files.
107387         * modules/save-cwd (Depends-on): Depend on chdir-long.
107388         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
107390 2005-01-18  Jim Meyering  <jim@meyering.net>
107392         Merge from coreutils.
107393         * m4/chdir-long.m4, m4/openat.m4: New files.
107394         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
107395         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
107396         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
107397         is sane and DOES follow symlinks.  Besides, testing 20 different
107398         systems found no broken chown implementations.
107399         Prompted by a change in rsync's copy of this macro.
107400         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
107402         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
107404         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
107405         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
107406         NULL-means-set-to-current-time semantics.
107407         Remove temporary file immediately, rather than waiting
107408         for configure's at-exit trap code to do it.
107410 2005-01-18  Jim Meyering  <jim@meyering.net>
107412         * lib/version-etc.c (version_etc_copyright): Update copyright date.
107414         * lib/utimens.c (futimens): Account for the fact that futimes
107415         can also fail with errno == ENOSYS or errno == ENOENT.
107416         Patch from Dmitry V. Levin.
107418         Change the name of the robust chdir function from chdir to chdir_long.
107419         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
107420         (restore_cwd): Use chdir_long, not chdir.
107421         * lib/chdir-long.c: Renamed from chdir.c.
107422         * lib/chdir-long.h: Renamed from chdir.h.
107423         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
107424         Hurd.
107426 2005-01-18  Bruno Haible  <bruno@clisp.org>
107428         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
107429         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
107430         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
107431         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
107432         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
107433         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
107434         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
107435         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
107436         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
107437         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
107438         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
107439         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
107440         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
107441         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
107442         Use an all-permissive copyright notice, recommended by RMS.
107444 2005-01-18  Bob Proulx  <bob@proulx.com>
107446         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
107447         simplify offsetof() macro construct to avoid compile failure with
107448         native HP-UX 11.0 ANSI C compiler.
107450 2005-01-17  Bruno Haible  <bruno@clisp.org>
107452         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
107453         redundant because stpncpy.m4 takes care of it.
107455 2005-01-17  Bruno Haible  <bruno@clisp.org>
107457         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
107459 2005-01-17  Bruno Haible  <bruno@clisp.org>
107461         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
107462         used.
107464 2005-01-17  Bruno Haible  <bruno@clisp.org>
107466         * lib/fwriteerror.h (fwriteerror): Change specification to include
107467         fclose.
107468         * lib/fwriteerror.c: Include <stdbool.h>.
107469         (fwriteerror): At the end, close the file stream. Record whether
107470         stdout was already closed.
107472 2005-01-17  Bruno Haible  <bruno@clisp.org>
107474         * lib/execute.c (environ): Declare if needed.
107475         * lib/pipe.c (environ): Likewise.
107476         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
107478 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
107480         * modules/argp: Depend on vsnprintf
107482 2005-01-10  Jim Meyering  <jim@meyering.net>
107484         * modules/closeout (Depends-on): Add atexit.
107486 2005-01-06  Bruno Haible  <bruno@clisp.org>
107488         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
107490 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
107492         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
107493         definitions to be after all include files, to avoid collisions.
107494         Problem reported by Bob Proulx.
107496 2005-01-04  Jim Meyering  <jim@meyering.net>
107498         Changes imported from coreutils.
107499         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
107500         as the mkstemp template, use a temporary directory and an
107501         8.3-friendly template to avoid trouble on systems like DJGPP.
107502         Reported by Juan M. Guerrero via Stepan Kasal.
107503         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
107504         close. Remove the temporary directory right away, rather than waiting
107505         for configure's at-exit trap code to do it.
107506         Suggestion from Stepan Kasal.
107508 2005-01-01  Simon Josefsson  <jas@extundo.com>
107510         * gnulib-tool: Print #include directives when --import'ing.
107512 2004-12-28  Simon Josefsson  <jas@extundo.com>
107514         * tests/test-base64.c: Include required header files.  Remove
107515         unused variables.
107517 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
107519         * modules/error (Depends-on): Remove gettext.
107521 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
107523         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
107524         not needed.  This removes a dependency on the gettext module.
107525         [defined _LIBC]: Do not include <libintl.h>; not needed.
107527 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
107529         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
107530         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
107532 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
107534         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
107535         HAVE_DECL_STRTOLD.
107537 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
107539         * modules/getdate (Depends-on): Remove alloca-opt.
107541 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
107543         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
107545 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
107547         * lib/argp-parse.c: Include <stddef.h>.
107548         (alignof, alignto): New macros.
107549         (parser_init): Don't assume that void * is aligned sufficiently
107550         for struct option.
107552         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
107553         need to extend the stack.
107554         (YYINITDEPTH): New macro, so that the initial stack isn't overly
107555         large.
107557 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
107559         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
107561 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
107563         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
107564         (2004-10-24) change.  Apparently this was a false alarm.
107566         * modules/getdate: Depend on alloca-opt, not alloca.
107568 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
107570         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
107571         Remove now-obsolete comment about AIX.
107572         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
107573         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
107574         (YYMAXDEPTH): New macro.
107576 2004-12-18  Simon Josefsson  <jas@extundo.com>
107578         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
107580 2004-12-18  Bruno Haible  <bruno@clisp.org>
107582         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
107584 2004-12-18  Bruno Haible  <bruno@clisp.org>
107586         * lib/fatal-signal.c (fatal_signals): Make non-const.
107587         (init_fatal_signals): New function.
107588         (uninstall_handlers, install_handlers): Ignore signals that were set to
107589         SIG_IGN.
107590         (at_fatal_signal): Call init_fatal_signals.
107591         (init_fatal_signal_set): Likewise. Ignore signals that were set to
107592         SIG_IGN.
107593         Reported by Paul Eggert.
107595 2004-12-18  Bruno Haible  <bruno@clisp.org>
107597         * doc/alloca.texi: New file.
107598         * doc/alloca-opt.texi: New file.
107600 2004-12-17  Jim Meyering  <jim@meyering.net>
107602         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
107603         Otherwise, install-sh could exit with improper exit status when
107604         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
107606 2004-12-16  Simon Josefsson  <jas@extundo.com>
107608         * tests/test-base64.c: Add license.
107610 2004-12-15  Stepan Kasal  <address@hidden>
107612         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
107614 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
107616         * modules/getcwd (Files): Add m4/d-ino.m4.
107617         Suggested by Mark D. Baushke.
107619 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
107621         * lib/getdate.y (textint): New member "negative".
107622         (time_zone_hhmm): New function.
107623         Expect 14 shift-reduce conflicts, not 13.
107624         (o_colon_minutes): New rule.
107625         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
107626         (yylex): Set the "negative" member of signed numbers.
107628 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
107630         * doc/getdate.texi (Time of day items, Time zone items):
107631         Describe new formats +00:00, UTC+00:00.
107633 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
107635         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
107636         spurious "-l"s.  Problem reported by Stepan Kasal.
107638 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
107640         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
107641         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
107643 2004-12-04  Simon Josefsson  <jas@extundo.com>
107645         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
107646         Vandoorselaere <yoann@prelude-ids.org>.
107648 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
107650         Changes imported from coreutils.
107651         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
107652         exist.
107653         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
107655 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
107657         Changes imported from coreutils.
107658         * lib/hard-locale.c: Assume <locale.h> exists.
107659         Include "strdup.h".
107660         (GLIBC_VERSION): New macro.
107661         (hard_locale): Assume setlocale exists.
107662         Rewrite to avoid #ifdef.
107663         Use strdup rather than malloc + strcpy.
107664         * lib/human.c: Assume <locale.h> exists.
107665         (human_readable): Assume localeconv exists.
107667 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
107669         * modules/hard-locale (Depends-on): Add strdup.
107671 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
107673         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
107674         convert T2, not T.  (Imported from libc.)
107676 2004-11-30  Simon Josefsson  <jas@extundo.com>
107678         * modules/restrict (License): Change to LGPL.
107680 2004-11-30  Simon Josefsson  <jas@extundo.com>
107682         * m4/restrict.m4: Add copyright and copying conditions.
107684 2004-11-30  Simon Josefsson  <jas@extundo.com>
107686         * m4/base64.m4: New file.
107688 2004-11-30  Simon Josefsson  <jas@extundo.com>
107690         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
107691         base64.
107693         * tests/test-base64.c: New file.
107695         * modules/base64: New file.
107697 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
107699         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
107700         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
107702         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
107704 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
107706         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
107707         (__getcwd.c): Don't restore errno; glibc doesn't.
107708         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
107709         first, falling back to our code only if its results look suspicious.
107710         Ensure that the resulting buffer is only as large as necessary.
107712         * lib/readutmp.c: Include readutmp.h first.
107713         Include <errno.h>, since readutmp.h no longer does that.
107714         * lib/readutmp.h: Don't include <errno.h>,
107715         <sys/param.h>, <time.h>; not needed to establish interface.
107716         (errno): Remove decl.
107717         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
107718         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
107719         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
107721 2004-11-28  Simon Josefsson  <jas@extundo.com>
107723         * lib/base64.h, base64.c: New file.
107725 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
107727         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
107729 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
107731         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
107732         (Depends-on): Remove pathmax, same.  Add mempcpy.
107733         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
107734         (Makefile.am): Append getcwd.h to lib_SOURCES.
107735         (Include): Add getcwd.h.
107736         (Maintainer): Change from Jim Meyering to "all, glibc",
107737         since getdate now uses intended-for-glibc code.
107738         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
107739         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
107741 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
107743         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
107744         HP's ANSI C compiler.
107745         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
107746         Declaring int functions causes warnings on some modern systems and
107747         shouldn't be needed to compile on ancient ones.
107748         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
107749         defined.
107751         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
107752         with the following changes.
107753         (__set_errno): Parenthesize properly.
107754         Include <stdbool.h>.
107755         (MIN, MAX, MATCHING_INO): New macros.
107756         (__getcwd): Define with prototype, not K&R form.
107757         Use heuristics to allocate default buffer on stack if possible.
107758         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
107759         behavior, and to avoid the PATH_MAX limit when computing
107760         ../../../../...
107761         Use MATCHING_INO to compare inode number to file.
107762         Check for arithmetic overflow in size calculations.
107763         Fix bug in reallocation of dot array that caused getcwd to fail
107764         on directories nested deeper than 75.
107765         Be more careful about saving errno on error.
107766         Do not use realloc; use only free+malloc, as this is a bit
107767         more flexible and avoids a needless copy operation.
107768         Do not inspect st_dev and st_ino for symbolic links; POSIX
107769         doesn't specify the latter.
107770         Check for closedir errors.
107771         Avoid needless casts.
107772         Use "#ifdef weak_alias" around weak_alias, to be like other
107773         glibc code.
107774         The following changes to getcwd.c have effect only when used in
107775         gnulib; they have no effect inside glibc proper.
107776         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
107777         as alloca isn't used.
107778         (alloca, __alloca): Likewise.
107779         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
107780         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
107781         unconditionally, as gnulib assumes C89 or better.
107782         Do not include <sys/param.h>.
107783         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
107784         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
107785         better.
107786         (NULL) [!defined NULL]: Remove; we assume C89 or better.
107787         Include <dirent.h> in a way that is compatible with modern Autoconf.
107788         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
107789         New macros, if not already defined.
107790         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
107791         Use "_LIBC", not "defined _LIBC", for consistency.
107792         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
107793         a mempcpy module.
107794         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
107795         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
107796         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
107797         credit only to Jim Meyering and adjust the copyright dates.
107798         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
107799         <stdlib.h>, <unistd.h>, "pathmax.h".
107800         Instead, include "xgetcwd.h" (first) and "getcwd.h".
107801         (INITIAL_BUFFER_SIZE): Remove.
107802         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
107804 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
107806         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
107807         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
107808         Use the _ONCE methods, for efficiency.
107809         Check for fcntl.h.  In test program, include <errno.h>
107810         and <fcntl.h> if available.  Remove old K&R cruft from
107811         test program.  Check for common errors in GNU/Linux,
107812         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
107813         don't do AC_LIBOBJ, as that's getcwd.m4's job.
107814         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
107815         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
107816         name accordingly.
107817         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
107818         accommodate new getcwd.c.
107819         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
107820         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
107821         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
107822         that's all we need now.
107824 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
107826         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
107827         argp-parse.c depends on getopt internals, that means we should
107828         always use our getopt, to be on the safe side.
107829         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
107830         order not to spoil the result of an eventual previous invocation
107831         of gl_GETOPT_SUBSTITUTE.
107833 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
107835         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
107836         redefinition warnings. To avoid them, include the defines
107837         in `#if !defined __need_getopt ... #endif'. The only place
107838         where __getopt_argv_const is used is in definitions
107839         of getopt_long and getopt_long_only below, which are as well
107840         protected by `#ifndef __need_getopt'.
107841         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
107842         __need_getopt after including <stdio.h> and <unistd.h> These
107843         headers might have defined it.
107845 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
107847         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
107849 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
107851         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
107852         (futimens): New function, which uses futimes if available.
107853         (futimens, utimens): Support timespec==NULL, with same semantics
107854         as utime and utimens.
107855         * lib/utimens.h (futimens): New decl.
107857 2004-11-23  Jim Meyering  <jim@meyering.net>
107859         * lib/getopt_.h: Remove trailing blanks.
107861 2004-11-23  Jim Meyering  <jim@meyering.net>
107863         * lib/__fpending.c: Add comment.
107865 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
107867         * modules/canonicalize (Depends-on): Add xreadlink.
107868         Problem reported by James Youngman.
107870 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
107872         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
107873         New macros.
107874         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
107875         optopt): Use them instead of invoking ## directly; otherwise, the
107876         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
107878 2004-11-19  Bruno Haible  <bruno@clisp.org>
107880         * lib/strtok_r.c: Move comments from here...
107881         * lib/strtok_r.h: ... to here.
107883 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
107885         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
107886         implementations that mishandle size_t overflow.
107888 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
107890         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
107891         might fail.  Problem reported by Yoann Vandoorselaere.
107892         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
107893         implementations that mishandle size_t overflow.
107895 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
107897         * modules/canon-host (Depends-on): Add strdup.
107899 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
107901         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
107903 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
107905         * lib/canon-host.c: Include "strdup.h".
107906         (canon_host): Use getaddrinfo if available, so that IPv6 works.
107907         Use strdup instead of malloc/strcpy to duplicate strings.
107909         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
107910         (human_space_before_unit): New constant.
107911         * lib/human.c (human_readable): Support it.
107913         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
107914         (xgetcwd): Set errno correctly when failing.
107915         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
107916         the failure is actually due to a PATH_MAX problem.
107918         Further getopt changes to make it more likely that glibc will
107919         buy the changes back.
107920         * lib/getopt.c (POSIXLY_CORRECT): New constant.
107921         (getopt): Use it, so to preserve glibc semantic
107922         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
107923         when compiling for libc.
107924         * lib/getopt_.h (__getopt_argv_const): Bring it back.
107925         (getopt_long, getopt_long_only): Use it.
107927         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
107928         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
107929         (getopt): Argv is now char * const *, as per standard.
107930         (_getopt_internal_r, _getopt_internal): Argv is now char **,
107931         not char *__getopt_argv_const *.
107932         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
107933         _getopt_long_only_r): Likewise.
107934         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
107935         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
107936         _getopt_long_r, _getopt_long_only_r): Likewise.
107937         * lib/getopt_.h (__getopt_argv_const): Remove.
107938         (getopt): Argv is now char * const *, as per standard.
107940         * lib/getdate.y (tORDINAL): New token.
107941         (day, relunit): Allow it for relative times.
107942         (relative_time_table): Use tORDINAL for ordinals.
107944 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
107946         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
107947         Document that "second" isn't allowed as an ordinal number.
107949 2004-11-16  Jim Meyering  <jim@meyering.net>
107951         * modules/closeout (Depends-on): Add fpending.
107953 2004-11-15  Jim Meyering  <jim@meyering.net>
107955         * lib/closeout.c: Include "__fpending.h" once again.
107956         Include <stdbool.h>.
107957         (close_stdout): Don't fail just because stdout was closed initially,
107958         since some programs don't write to stdout in the normal course of
107959         operation (other than --version and --help), and we don't want this
107960         function to make e.g. `touch file >&-' fail.
107961         But do fail if it was closed and someone has tried to write to it.
107962         E.g., `printf foo >&-' must fail.
107964 2004-11-13  Jim Meyering  <jim@meyering.net>
107966         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
107968 2004-11-12  Simon Josefsson  <jas@extundo.com>
107970         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
107971         small doc fix is still pending.
107973 2004-11-11  Simon Josefsson  <jas@extundo.com>
107975         * modules/strtok_r: New file.
107977         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
107978         strtok_r.
107980 2004-11-11  Simon Josefsson  <jas@extundo.com>
107982         * m4/strtok_r.m4: New file.
107984         * m4/getopt.m4: Replace opterr.
107986 2004-11-11  Simon Josefsson  <jas@extundo.com>
107988         * lib/strtok_r.h, strtok_r.c: New file.
107990 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
107992         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
107993         of replacing opterr, getopt, etc.  This should handle the
107994         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
107996 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
107998         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
107999         we can stop lying to compilers about the constness of argv when we
108000         are compiled outside glibc.
108001         (getopt, getopt_long, getopt_long_only): Use it.
108002         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
108003         _getopt_internal, getopt): Likewise.
108004         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
108005         _getopt_long_only_r): Likewise.
108006         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
108007         _getopt_long_r, _getopt_long_only_r): Likewise.
108009         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
108010         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
108011         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
108012         the other external symbols.
108013         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
108014         declaration, since the above renaming now works around collisions.
108016 2004-11-11  Jim Meyering  <jim@meyering.net>
108018         * lib/linebreak.c: Remove trailing blanks.
108019         * lib/alloca_.h: Likewise.
108020         * lib/acosl.c: Likewise.
108021         * lib/euidaccess.c: Likewise.
108022         * lib/allocsa.h: Likewise.
108024 2004-11-10  Simon Josefsson  <jas@extundo.com>
108026         * m4/getaddrinfo.m4: New file.
108028 2004-11-10  Simon Josefsson  <jas@extundo.com>
108030         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
108032 2004-11-10  Simon Josefsson  <jas@extundo.com>
108034         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
108035         getaddrinfo.
108037         * modules/getaddrinfo: New file.
108039 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
108041         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
108043 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
108045         * lib/mktime.c (SHR): New macro, which is a portable
108046         substitute for >> that should work even on Crays.
108047         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
108048         Problem reported by Mark D. Baushke in
108049         <http://lists.gnu.org/r/bug-gnulib/2004-11/msg00071.html>.
108050         * lib/getdate.y (SHR): Likewise.
108051         (tm_diff): Use it.
108052         * lib/strftime.c (SHR): Likewise.
108053         (tm_diff): Use it.
108054         * lib/quotearg.c (struct quoting_options): Use unsigned int for
108055         quote_these_too, so that right shifts are well defined.  All uses
108056         changed.
108058 2004-11-10  Jim Meyering  <jim@meyering.net>
108060         Ensure that no close failure goes unreported.
108061         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
108062         return early when it seems there's nothing to flush.
108063         Don't include __fpending.h.
108065 2004-11-10  Jim Meyering  <jim@meyering.net>
108067         * modules/closeout (Depends-on): Remove fpending.
108069 2004-11-10  Jim Meyering  <jim@meyering.net>
108071         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
108073 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
108075         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
108076         gl_FUNC_STRFTIME.
108077         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
108078         and AC_REQUIRE when possible, to avoid duplicate checks.
108079         Check for <wchar.h>.
108081 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
108083         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
108085 2004-11-09  Bruno Haible  <bruno@clisp.org>
108087         * m4/sockpfaf.m4: New file.
108089 2004-11-05  Bruno Haible  <bruno@clisp.org>
108091         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
108092         Reported by Mark D. Baushke <mdb@cvshome.org>.
108094 2004-11-04  Bruno Haible  <bruno@clisp.org>
108096         2004-09-11  Bruno Haible  <bruno@clisp.org>
108097                 * allocsa.valgrind: New file.
108098         2004-02-06  Bruno Haible  <bruno@clisp.org>
108099                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
108100                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
108101                 Reported by Christopher Seip <chris.seip@hp.com>.
108103 2004-11-04  Bruno Haible  <bruno@clisp.org>
108105         * modules/allocsa (Files): Add lib/allocsa.valgrind.
108106         (Makefile.am): Distribute it.
108108 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
108110         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
108111         with errno == ERANGE if the buffer is too small.
108112         Problem reported by Mark D. Baushke.
108114 2004-11-03  Albert Chin  <china@thewrittenword.com>
108115             Paul Eggert  <eggert@cs.ucla.edu>
108117         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
108118         equivalent, substitute $ac_type for equivalent type rather than
108119         blindly using uint32_t *always* which won't work if uint32_t is not
108120         available.  Define _UINT32_T to work around typedef of uint32_t if
108121         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
108122         2.5.1.
108124 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
108126         * m4/jm-macros.m4: Sync from coreutils.
108127         (gl_MACROS): Check for mbrlen, for pathchk.
108128         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
108130 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
108132         * lib/xreadlink.c (MAXSIZE): New macro.
108133         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
108134         size does not exceed MAXSIZE.  Avoid cast.
108135         As suggested by Mark D. Baushke in
108136         <http://lists.gnu.org/r/bug-gnulib/2004-11/msg00009.html>,
108137         if readlink fails with buffer size just under MAXSIZE, try again
108138         with MAXSIZE.
108140 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
108142         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
108144 2004-11-02  Derek R. Price  <derek@ximbiot.com>
108145         and  Paul Eggert  <eggert@cs.ucla.edu>
108147         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
108148         (get_date): Overparenthesize to avoid GCC warning.
108150 2004-11-02  Bruno Haible  <bruno@clisp.org>
108152         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
108153         returns void.
108155 2004-11-02  Bruno Haible  <bruno@clisp.org>
108157         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
108158         function returns void.
108160 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
108162         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
108163         fflush_unlocked, flockfile, funlockfile, funlockfile,
108164         fputs_unlocked, putc_unlocked.
108166 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
108168         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
108169         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
108170         already declared.
108172 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
108174         * modules/getdate (Files): Add doc/getdate.texi.
108175         (Depends-on): Add setenv, xalloc.
108177 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
108179         * lib/getdate.y: Add support for TZ="foo" within a date string.
108180         Fix some bugs near time_t boundaries.  Reject dates with
108181         out-of-range components, e.g., "Sept 31".
108182         Include <stdlib.h>, "setenv.h", "xalloc.h".
108183         (ISDIGIT_LOCALE): Remove; unused.
108184         Note that the TZ and time functions used here are not reentrant.
108185         (mktime_ok, get_tz): New functions.
108186         (TZBUFSIZE): New constant.
108187         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
108188         This requires that we sometimes generate our own TZ="XXX..." setting.
108190 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
108192         * doc/getdate.texi: New file, from coreutils with modifications for
108193         the new TZ parsing.
108195 2004-10-27  Derek R. Price  <derek@ximbiot.com>
108197         * lib/mktime.c (not_equal_tm): Remove redundant check.
108199 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
108201         * modules/regex (lib_SOURCES): Add regex.c.
108202         Reported by James Youngman in
108203         <http://lists.gnu.org/r/bug-gnulib/2004-10/msg00199.html>.
108205 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
108207         * lib/getdate.y: Use Bison 1.875 features, and some minor
108208         code cleanups.  This change does not affect semantics.
108209         Don't include <stdlib.h>; no longer needed.
108210         Don't include unlocked-io.h; only the "#if TEST" code uses
108211         stdio, and performance isn't crucial there.
108212         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
108213         Bison 1.875 features as described below.
108214         All uses of "PC." replaced by "pc->".
108215         (YYSTYPE): Add a forward declaration.
108216         (yylex, yyerror): Use full prototypes in forward decls.
108217         Use "%pure-parser" rather than obsolescent "%pure_parser".
108218         Use %parse-param and %lex-param instead of obsolescent
108219         YYPARSE_PARAM and YYLEX_PARAM.
108220         (meridian_table, month_and_day_table, time_units_table,
108221         relative_time_table, time_zone_table, military_table,
108222         lookup_zone, lookup_word, get_date):
108223         Use NULL instead of 0 where appropriate.
108224         (to_hour): Avoid abort (), to avoid a dependency on
108225         stdlib.h.
108226         (yyerror, yylex): Now accepts parser_control * arg.
108227         (main) [TEST]: Use '\0' rather than 0 for char.
108229 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
108231         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
108233 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
108235         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
108236         It's now the caller's responsibility to handle the case where
108237         !HAVE_GETPAGESIZE && !defined getpagesize.
108239         * lib/mktime.c (leapyear): Arg is long int, not int.
108241 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
108243         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
108245 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
108247         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
108248         missing.  Problem reported by James Youngman.
108250 2004-10-16  Simon Josefsson  <jas@extundo.com>
108252         * gnulib-tool: Fix comments.  Fix parse problem.
108253         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
108255 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
108257         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
108258         implementation of getopt_long.  Problem reported by Alexander Taler in:
108259         http://lists.gnu.org/r/bug-gnulib/2004-10/msg00103.html
108261 2004-10-15  Bruno Haible  <bruno@clisp.org>
108263         * gnulib-tool: Untabify. Initialize supplied_libname.
108264         (func_usage): More homogenous output.
108265         (func_modules_transitive_closure, func_modules_to_filelist,
108266         func_emit_lib_Makefile_am): New functions.
108267         (func_import): New function, extracted from big case statement. Use
108268         func_get_license, func_modules_transitive_closure,
108269         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
108270         opt_lgpl. Don't use test -a, as it's not portable.
108271         (func_create_testdir): Use func_modules_transitive_closure,
108272         func_modules_to_filelist, func_emit_lib_Makefile_am.
108274 2004-10-15  Bruno Haible  <bruno@clisp.org>
108276         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
108278 2004-10-15  Bruno Haible  <bruno@clisp.org>
108280         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
108281         the portions belonging to each module.
108282         Suggested by Derek Robert Price <derek@ximbiot.com>.
108284 2004-10-12  Simon Josefsson  <jas@extundo.com>
108286         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
108287         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
108288         to real functions.
108290 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
108292         * modules/vsnprintf: New file.
108294 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
108296         * m4/vsnprintf.m4: New file.
108298 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
108300         * lib/vsnprintf.h: New file.
108301         * lib/vsnprintf.c: New file.
108303 2004-10-11  Bruno Haible  <bruno@clisp.org>
108305         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
108306         vsnprintf.
108308 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
108310         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
108312 2004-10-07  Bruno Haible  <bruno@clisp.org>
108314         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
108315         fits into the provided buffer.
108317 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
108319         * lib/diacrit.c, diacrit.h: Add GPL notice.
108321         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
108322         notice.
108323         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
108324         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
108325         This avoids a potential constant-folding bug.
108327 2004-10-05  Bruno Haible  <bruno@clisp.org>
108329         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
108330         for the declaration of strsep.
108332 2004-10-05  Bruno Haible  <bruno@clisp.org>
108334         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
108336 2004-10-04  Simon Josefsson  <jas@extundo.com>
108338         * modules/memmem: New file.
108339         * tests/test-memmem.c: New file.
108340         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
108342 2004-10-04  Simon Josefsson  <jas@extundo.com>
108344         * m4/memmem.m4: New file.
108346 2004-10-04  Simon Josefsson  <jas@extundo.com>
108348         * lib/memmem.h: New file.
108349         * lib/memmem.c: New file, taken from glibc.
108351 2004-10-04  Simon Josefsson  <jas@extundo.com>
108353         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
108354         '#ifdef USE_UNLOCKED_IO'.
108356 2004-10-04  Simon Josefsson  <jas@extundo.com>
108358         * config/srclist.txt: Add memmem from glibc.
108360 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
108362         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
108364         * modules/argmatch, modules/argp, modules/closeout, modules/error,
108365         modules/exclude, modules/getdate, modules/getline,
108366         modules/getndelim2, modules/getpass, modules/getpass-gnu,
108367         modules/getusershell, modules/linebuffer, modules/md5,
108368         modules/mountlist, modules/posixtm, modules/readtokens,
108369         modules/readutmp, modules/regex, modules/sha1,
108370         modules/version-etc, modules/yesno:
108371         Remove dependency on unlocked-io.
108373 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
108375         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
108377         * m4/unlocked-io.m4: Add copyright notice.
108378         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
108380 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
108382         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
108383         * lib/xmalloc.c (xmemdup): Likewise.
108384         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
108385         XFREE): Remove these long-obsolescent macros.
108386         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
108387         * lib/xstrdup.c: Remove.
108389         * lib/regex.c (re_comp): Cast gettext return value to char *,
108390         Problem reported by Martin Neitzel via Mark D. Baushke.
108392 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
108394         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
108395         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
108396         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
108397         regex.c, sha1.c, version-etc.c, yesno.c:
108398         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
108399         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
108400         the includer's responsibility.
108402         Sync from coreutils.
108404         * lib/modechange.c (mode_compile): Don't decrement a pointer that
108405         points to the start of a string, as the C Standard says the
108406         resulting behavior is undefined.
108408         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
108409         simple -> simple_backups, numbered_existing ->
108410         numbered_existing_backups, numbered -> numbered_backups
108411         to avoid shadowing problems.  All uses changed.
108412         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
108413         * lib/backupfile.c (check_extension, numbered_backup):
108414         Rename locals to avoid shadowing 'basename'.
108415         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
108416         once.
108418         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
108419         * lib/.cvsignore: Add getopt.h.
108421 2004-10-04  Bruno Haible  <bruno@clisp.org>
108423         * modules/README: New file.
108424         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
108425         not a module.
108427 2004-10-02  Jim Meyering  <jim@meyering.net>
108429         * lib/dirfd.h, getpagesize.h: Add copyright notice.
108431 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
108433         * modules/strsep: New file.
108435 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
108437         * m4/strsep.m4: New file.
108439 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
108441         * lib/strsep.h: New file.
108442         * lib/strsep.c: New file.
108444 2004-10-01  Simon Josefsson  <jas@extundo.com>
108446         * lib/snprintf.c (snprintf): Handle size==0.
108448 2004-10-01  Simon Josefsson  <jas@extundo.com>
108449             Bruno Haible  <bruno@clisp.org>
108451         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
108452         (snprintf): Declare 'args'.
108454 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
108456         * lib/snprintf.c: Remove comments as to why each header is needed.
108458 2004-10-01  Bruno Haible  <bruno@clisp.org>
108460         * MODULES.html.sh: Add strsep.
108462 2004-09-30  Simon Josefsson  <jas@extundo.com>
108464         * modules/snprintf: New file.
108466 2004-09-30  Simon Josefsson  <jas@extundo.com>
108468         * m4/snprintf.m4: New file.
108470 2004-09-30  Simon Josefsson  <jas@extundo.com>
108472         * lib/snprintf.h, lib/snprintf.c: New files.
108474 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
108476         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
108477         (hol_entry_help): Never translate an empty string.
108478         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
108479         * lib/argp.h (OPTION_NO_TRANS): New option.
108481 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
108483         * modules/argp (Maintainer): Replace Simon Josefsson
108484         by Sergey Poznyakoff.
108486 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
108488         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
108489         changes merged back into glibc.
108491 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
108493         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
108495 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
108497         * lib/xvasprintf.c: Include xalloc.h.
108498         (xvasprintf): Use xalloc_die, not xmalloc_die.
108500 2004-09-29  Bruno Haible  <bruno@clisp.org>
108502         * modules/alloca-opt: New file, derived from modules/alloca.
108503         * modules/allocsa: Depend on alloca-opt instead of alloca.
108504         * modules/setenv: Likewise.
108505         * modules/vasnprintf: Likewise.
108506         * MODULES.html.sh: Add alloca-opt.
108508 2004-09-28  Simon Josefsson  <jas@extundo.com>
108510         * gnulib-tool: New parameter --lgpl, to asseert that modules are
108511         LGPL, and to replace license template from GPL to LGPL.
108513 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
108515         * modules/dummy: Change license to LGPL.
108517 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
108519         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
108521 2004-09-24  Simon Josefsson  <jas@extundo.com>
108523         * modules/minmax (License): Change from GPL to LGPL.
108525 2004-09-23  Simon Josefsson  <jas@extundo.com>
108527         * gnulib-tool (--import): Typo.
108529 2004-09-23  Simon Josefsson  <jas@extundo.com>
108531         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
108533 2004-09-22  Bruno Haible  <bruno@clisp.org>
108535         * modules/*: Add 'License' field.
108536         * gnulib-tool: Accept --extract-license option.
108537         (func_get_license): New function.
108539 2004-09-21  Bruno Haible  <bruno@clisp.org>
108541         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
108542         Reported by Simon Josefsson.
108544 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
108546         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
108547         gl_AC_TYPE_LONG_LONG.
108549 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
108551         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
108553 2004-09-18  Simon Josefsson  <jas@extundo.com>
108554         and  Paul Eggert  <eggert@cs.ucla.edu>
108556         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
108557         calls with autoreconf.  Define GL_LIB.
108559 2004-09-14  Karl Berry  <karl@gnu.org>
108561         * config/srclist.txt: unsync setenv.c, sigh.
108563 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
108565         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
108566         Problem reported by Bruno Haible in:
108567         http://lists.gnu.org/r/bug-tar/2004-09/msg00023.html
108569 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
108571         * config/srclist.txt: Comment out argp-pvh.c.
108573 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
108575         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
108576         in case some system header has #define'd it.  Problem reported by
108577         Soeren D. Schulze in
108578         <http://lists.gnu.org/r/bug-gnulib/2004-09/msg00017.html>.
108580 2004-09-09  Karl Berry  <karl@gnu.org>
108582         * regex.[ch]: delete from the root.  These were supposed to be
108583                 synced with emacs cvs, but this has not happened for about
108584                 a year, and anyway nothing else uses emacs regex.[ch].
108585                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
108586                 lib/regex[.ch] is untouched.
108588 2004-09-09  Bruno Haible  <bruno@clisp.org>
108590         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
108592 2004-09-09  Bruno Haible  <bruno@clisp.org>
108594         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
108595         modifications.
108596         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
108598 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
108600         * modules/xvasprintf: New file.
108601         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
108603 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
108605         * lib/xvasprintf.h: New file.
108606         * lib/xvasprintf.c: New file.
108607         * lib/xasprintf.c: New file.
108609 2004-09-08  Bruno Haible  <bruno@clisp.org>
108611         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
108613 2004-09-08  Bruno Haible  <bruno@clisp.org>
108615         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
108616         length is > INT_MAX.
108617         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
108618         more.
108620 2004-09-08  Bruno Haible  <bruno@clisp.org>
108622         * lib/stdint_.h: New file, taken from GNU clisp.
108624 2004-09-08  Bruno Haible  <bruno@clisp.org>
108625             Oskar Liljeblad  <oskar@osk.mine.nu>
108627         * modules/stdint: New file.
108628         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
108630 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
108632         Import from coreutils.
108633         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
108634         strings on unbounded length.  alloca's performance benefits aren't
108635         that important here.
108636         (V_STRDUP): Remove.
108637         (parse_with_separator): New function, with most of the internals
108638         of the old parse_user_spec.  Allow user to omit both user and group,
108639         for compatibility with FreeBSD.
108640         Clone only the user name, not the entire spec.
108641         Do not set *uid, *gid unless entirely successful.
108642         Avoid memory leak in some failing cases.
108643         Fix regression for USER.GROUP reported by Dmitry V. Levin in
108644         <http://lists.gnu.org/r/bug-coreutils/2004-08/msg00102.html>
108645         (parse_user_spec): Rewrite to use parse_with_separator.
108647 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
108649         * modules/userspec: Don't depend on alloca.
108651 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
108653         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
108655 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
108657         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
108658         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
108659         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
108661 2004-08-16  Simon Josefsson  <jas@extundo.com>
108663         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
108664         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
108665         Add --dry-run for --import.
108666         Let user provided command line parameters override configure.ac
108667         settings.
108669 2004-08-12  Simon Josefsson  <jas@extundo.com>
108671         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
108672         as discussed with Paul Eggert in threads rooted at
108673         <http://lists.gnu.org/r/bug-gnulib/2004-06/msg00039.html>
108674         and
108675         <http://lists.gnu.org/r/bug-gnulib/2004-07/msg00001.html>.
108676         Before, the test was empty, and relied on ELIDE_CODE in source
108677         code.)
108678         (gl_PREREQ_GETOPT): New macro.
108679         (gl_GETOPT): Use them.
108681 2004-08-12  Simon Josefsson  <jas@extundo.com>
108683         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
108684         * lib/getopt_.h: Renamed from getopt.h.
108686 2004-08-12  Simon Josefsson  <jas@extundo.com>
108688         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
108689         Change default library name from libfoo to libgnu.
108690         Now, if you have a configure.ac that says:
108691                 gl_SOURCE_BASE(gl)
108692                 gl_M4_BASE(gl/m4)
108693                 gl_MODULES(error getopt etcetera)
108694                 gl_INIT
108695         you can import all you need by running:
108696                 ../gnulib/gnulib-tool --import
108698         * modules/getopt (Files): Rename getopt.h to getopt_.h.
108699         (Makefile.am): Rewrite, use logic from argz.
108700         (Include): Use <getopt.h> instead of "getopt.h".
108702 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
108704         * modules/argp (Files): Add m4/unlocked-io.m4.
108705         (Depends-on): Add extensions.
108707 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
108709         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
108710         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
108711         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
108712         Check for program_invocation_name, program_invocation_short_name,
108713         flockfile, funlockfile, features.h, _getopt_long_only_r.
108715 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
108717         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
108718         its complicated substitute.
108719         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
108720         and program_invocation_name.
108721         (__argp_basename) [!_LIBC]: Remove; the only use was
108722         replaced by its body.
108723         (__argp_short_program_name): Change condition from
108724         !defined __argp_short_program_name to
108725         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
108726         to match argp-namefrob.h.
108727         (__argp_failure): Don't assume strerror_r returns char *.
108728         * lib/argp-parse.c (N_): Define unconditionally.
108729         (argp_default_options): Fill out initializers with 0 to avoid
108730         gcc warnings.
108732 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
108734         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
108735         getopt1.c.
108737 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
108739         Merge from coreutils.
108741         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
108743         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
108744         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
108746 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
108748         Merge from coreutils.
108750         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
108751         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
108752         for Reliant Unix 5.43.
108754         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
108755         (union fooround): Use uintmax_t, not long int.
108756         The rest is a merge from libc:
108757         [defined _LIBC]: Include <shlib-compat.h>.
108758         (_obstack) [defined _LIBC]: Remove after 2.3.4.
108760         * lib/settime.c (settime): Recode to avoid warning with
108761         Sun Forte C 6U2.
108763         * lib/strverscmp.c: Convert to UTF-8.
108765 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
108767         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
108768         m4/uintmax_t.m4.
108770 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
108772         * modules/xalloc-die: New file.
108773         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
108775         * modules/md5 (Files): Add m4/uint32_t.m4.
108776         * modules/sha1: Renamed from modules/sha.
108777         (Files):
108778         Rename lib/sha.h to lib/sha1.h.
108779         Rename lib/sha.c to lib/sha1.c.
108780         Rename m4/sha.m4 to m4/sha1.m4.
108781         (lib_SOURCES): Likewise.
108782         (configure.ac): Rename gl_SHA to gl_SHA1.
108783         (Include): sha.h -> sha1.h.
108785 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
108787         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
108788         * m4/sha1.m4: Renamed from sha.m4.
108789         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
108791 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
108793         * lib/obstack.h (obstack_empty_p):
108794         Don't assume that chunk->contents is suitably aligned.
108795         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
108796         Likewise. Problem reported by Benno in
108797         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
108799         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
108800         readable.  This could be improved further but it'd take some work.
108802 2004-08-08  Simon Josefsson  <jas@extundo.com>
108804         * modules/xgethostname (Depends-on): Remove exit and error (not
108805         used).
108807         * modules/getpass-gnu: Add getpass.h.
108808         (Depends-on): Add stdbool.
108809         * modules/getpass: Add getpass.h.
108811 2004-08-08  Simon Josefsson  <jas@extundo.com>
108813         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
108814         Check getpass declaration.
108816 2004-08-08  Simon Josefsson  <jas@extundo.com>
108818         * lib/xgethostname.c: Don't include error.h (not used).
108820         * lib/getpass.h: Add.
108821         * lib/getpass.c: Include getpass.h first.
108823 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
108825         * lib/xalloc-die.c: New file.
108826         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
108827         All uses removed.
108828         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
108829         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
108830         xalloc-die.c.
108831         (_, N_, xalloc_die): Move to xalloc-die.c.
108832         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
108833         so that we needn't mess with xalloc_msg_memory_exhausted.
108835         * lib/sha1.h: Renamed from sha.h.
108836         (SHA1_H): Renamed from _SHA_H.
108837         (sha1_ctx): Renamed from sha_ctx.
108838         (sha1_init_ctx): Renamed from sha_init_ctx.
108839         (sha1_process_block): Renamed from sha_process_block.
108840         (sha1_process_bytes): Renamed from sha_process_bytes.
108841         (sha1_finish_ctx): Renamed from sha_finish_ctx.
108842         (sha1_read_ctx): Renamed from sha_read_ctx.
108843         (sha1_stream): Renamed from sha_stream.
108844         (sha1_buffer): Renamed from sha_buffer.
108845         * lib/sha1.c: Likewise; renamed from sha.c.
108846         Do not include <sys/types.h>.
108847         Include <stddef.h> rather than <stdlib.h>.
108849 2004-08-08  Bruno Haible  <bruno@clisp.org>
108851         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
108852         FILESYSTEM_PREFIX_LEN.
108853         * lib/progreloc.c: Likewise.
108854         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
108856 2004-08-06  Simon Josefsson  <jas@extundo.com>
108858         * modules/progname (Depends-on): Don't depend on stdbool.
108860 2004-08-06  Simon Josefsson  <jas@extundo.com>
108862         * modules/getsubopt: New file.
108863         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
108864         getsubopt.
108866 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
108868         More merge from coreutils.
108870         * m4/utimens.m4, m4/utimecmp.m4: New files.
108871         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
108872         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
108873         prereq.m4, sha.m4: Import changes from coreutils.
108875 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
108877         More merge from coreutils.
108878         * modules/raise, modules/readtokens0, modules/utimens:
108879         * modules/utimecmp, module/xnanosleep: New files.
108880         * modules/strftime: Add lib/strftime.h.
108881         Change include from <time.h> to "strftime.h".
108882         * modules/yesno: Add lib/yesno.h.
108883         * modules/backupfile: Remove lib/addext.c.
108884         * modules/euidaccess: Add stat-macros.h.
108885         * modules/canonicalize, modules/euidaccess,
108886         modules/filemode, modules/lchown, modules/makepath,
108887         modules/rmdir, modules/stat: Likewise.
108889 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
108891         Merge from tar.
108892         * lib/argp-help.c (make_hol, hol_append): Don't assume that
108893         SIZE_MAX is a valid preprocessor constant.
108894         (__argp_basename): Change from "#ifndef _LIBC"
108895         to "#ifndef __argp_short_program_name", so that
108896         we don't compile these functions for tar.
108898         More merges from coreutils.
108899         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
108900         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
108901         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
108902         * lib/addext.c: Remove; no longer needed.
108903         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
108904         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
108905         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
108906         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
108907         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
108908         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
108909         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
108910         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
108911         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
108912         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
108913         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
108914         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
108915         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
108916         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
108917         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
108918         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
108919         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
108920         Import changes from coreutils.
108922 2004-08-05  Simon Josefsson  <jas@extundo.com>
108924         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
108926 2004-08-05  Simon Josefsson  <jas@extundo.com>
108928         * m4/getsubopt.m4: New file.
108930 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
108932         Merge from coreutils.
108934         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
108935         * m4/getcwd-path-max.m4: New files.
108937         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
108938         FILESYSTEM_PREFIX_LEN ->
108939         FILE_SYSTEM_PREFIX_LEN.
108940         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
108941         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
108942         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
108943         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
108945         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
108946         prerequisite modules now handle the DOS stuff.
108947         Don't check for unistd.h.
108949 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
108951         Merge from coreutils.
108953         * lib/.gdb-history: Remove; this doesn't belong here.
108955         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
108956         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
108957         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
108958         * lib/getcwd.c: New files.
108960         * lib/dirname.h: Include <stdbool.h>.
108961         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
108962         for consistency with POSIX terminology.  All uses changed.
108963         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
108964         (strip_trailing_slashes): Use bool for booleans.
108965         * lib/stripslash.c (strip_trailing_slashes): Likewise.
108967         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
108968         sometimes returns a positive errno value even when it succeeds.
108969         (print_errno_message) [!LIBC]: Fall back on strerror if
108970         __strerror_r fails.
108972         * lib/path-concat.c (mempcpy): Don't define if a system header defines
108973         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
108974         (longest_relative_suffix): New function.
108975         (path_concat): Use it.  Assume first argument is not NULL.
108976         Port to DOS.  Omit redundant separators.
108977         Report an error instead of returning NULL.
108978         Use mempcpy instead of memcpy.
108979         (xpath_concat): Remove: not declared or used.
108981         * lib/same.h: Include <stdbool.h>
108982         (same_name): Return bool, not int.
108983         * lib/same.c (same_name): Likewise.
108984         (errno): Don't declare; we assume C89 or better now.
108986         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
108987         if not already defined.
108989         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
108990         * lib/dup-safer.c (errno): Likewise.
108992 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
108994         Merge from coreutils.
108995         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
108996         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
108997         * modules/path-concat: Don't depend on strdup.
108999 2004-08-03  Simon Josefsson  <jas@extundo.com>
109001         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
109002         * lib/progname.h: Don't include stdbool.h.
109004 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
109006         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
109007         * MODULES.html.sh (func_all_modules): Remove fatal.
109009 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
109011         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
109013 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
109015         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
109016         working.
109018 2004-08-02  Simon Josefsson  <jas@extundo.com>
109020         * lib/getsubopt.h: New file, with comments from Bruno Haible.
109021         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
109022         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
109024 2004-08-01  Simon Josefsson  <jas@extundo.com>
109026         * lib/xgetdomainname.c: Include stdlib.h, for free().
109028 2004-07-19  Bruno Haible  <bruno@clisp.org>
109030         * MODULES.html.sh (func_all_modules): Add dummy.
109032 2004-07-16  Simon Josefsson  <jas@extundo.com>
109034         * modules/dummy: New file.
109036 2004-07-16  Simon Josefsson  <jas@extundo.com>
109038         * lib/dummy.c: New file.
109040 2004-07-16  Bruno Haible  <bruno@clisp.org>
109042         * lib/backupfile.h: Add extern "C" for C++.
109043         * lib/closeout.h: Likewise.
109044         * lib/copy-file.h: Likewise.
109045         * lib/findprog.h: Likewise.
109046         * lib/full-write.h: Likewise.
109047         * lib/pathname.h: Likewise.
109048         * lib/progname.h: Likewise.
109049         * lib/stpcpy.h: Likewise.
109050         * lib/stpncpy.h: Likewise.
109051         * lib/strcase.h: Likewise.
109052         * lib/strstr.h: Likewise.
109053         * lib/xalloc.h: Likewise.
109055         * lib/mbswidth.h: Add extern "C" for C++.
109056         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
109058 2004-07-13  Robert Millan  <robertmh@gnu.org>
109060         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
109062 2004-07-09  Simon Josefsson  <jas@extundo.com>
109064         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
109065         failed without this.)
109067 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
109069         * modules/chown (Files): Add lib/fchown-stub.c, since
109070         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
109072 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
109074         * lib/fchown-stub.c: New file.
109076 2004-06-24  Jim Meyering  <jim@meyering.net>
109078         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
109080 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
109082         * modules/argz: Omit "#include".
109084         * MODULES.html.sh (func_all_modules): Add calloc, to match
109085         2004-06-01 addition of calloc module.
109087 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
109089         * m4/argz.m4: New file, which is autoupdated from libtool.
109091 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
109093         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
109094         libtool.
109096 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
109098         * config/srclist-update: Don't insist on "USA." before the
109099         close-comment, as libtool omits the period and puts the */ on a
109100         separate line.
109101         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
109102         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
109104 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
109106         * modules/argz: New file.
109107         * MODULES.html.sh (func_all_modules): Add argz.
109109 2004-06-12  Jim Meyering  <jim@meyering.net>
109110         and  Paul Eggert  <eggert@cs.ucla.edu>
109112         * modules/hash (Files): Add lib/xalloc.h.
109113         * modules/pipe (Depends-on): Add wait-process.
109114         * modules/stat (Depends-on): Add xalloc.
109115         * modules/userspec (Files): Add lib/userspec.h.
109116         * modules/xstrto
109118         Upgrade from gettext-0.13.
109119         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
109120         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
109121         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
109123 2004-06-10  Jim Meyering  <jim@meyering.net>
109125         * lib/calloc.c: New file.
109127 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
109129         * lib/getdate.y (yylex): Allow space between sign and number.
109130         Problem reported by Dan Jacobson.
109132 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
109134         Merge from coreutils CVS.
109136         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
109137         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
109138         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
109139         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
109140         xstrtol.m4: Fix copyright date and/or serial number.
109142         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
109143         See if we need an fchown replacement.
109144         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
109145         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
109146         and use the replacement function if we detect either defect.
109148         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
109149         gl_UTIMECMP.
109151 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
109152         and  Jim Meyering  <jim@meyering.net>
109154         Merge from coreutils CVS.
109156         * lib/stat-macros.h: New file, with contents from file-type.h
109157         and coreutils' system.h.
109158         * lib/file-type.c: Include "stat-macros.h".
109159         * lib/file-type.h (file_type): Move all macro definitions to new file,
109160         stat-macros.h.
109162         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
109163         Wrap old code with this conditional.
109164         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
109165         function that does not dereference symlinks.
109166         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
109168         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
109169         dependency problems.
109170         (xreadlink): Accept new arg SIZE, for efficiency.
109171         All decls and uses changed.
109172         * lib/xreadlink.h: Include <stddef.h>, for size_t.
109174         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
109175         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
109177         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
109178         sysexits.h.
109180 2004-06-01  Jim Meyering  <jim@meyering.net>
109182         * m4/calloc.m4: New file.
109184 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
109186         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
109187         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
109188         Also, fix a typo in a diagnostic.
109190 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
109192         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
109193         or AC_FUNC_REALLOC.
109195 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
109197         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
109198         macros to be defined.
109199         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
109200         the allocator returns NULL because the requested size is zero.
109202 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
109204         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
109205         var.  Add comment explaining why libc still defines it.  This
109206         merges the following patch from glibc:
109207         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
109209 2004-05-20  Andreas Schwab  <schwab@suse.de>
109211         * m4/free.m4: Replace free if it not known to work, not the other
109212         way round.
109214 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
109216         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
109217         present in glibc since revision 1.1 of this file.
109218         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
109219         obstack_alignment_mask, obstack_alloc, obstack_base,
109220         obstack_blank, obstack_blank_fast, obstack_chunk_size,
109221         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
109222         obstack_grow0, obstack_init, obstack_int_grow,
109223         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
109224         obstack_next_free, obstack_object_size, obstack_ptr_grow,
109225         obstack_ptr_grow_fast, obstack_room): Remove declarations of
109226         nonexistent functions.
109228 2004-05-18  Karl Berry  <karl@gnu.org>
109230         * config/srclist.txt: break link for vasnprintf.c.
109232 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
109234         Port obstack to the AS/400, where pointers are 16 bytes wide and
109235         you cannot cast an integer to a valid pointer.  This patch is
109236         currently waiting to be integrated into glibc; see
109237         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
109239         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
109240         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
109241         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
109242         (struct obstack): temp member is now a union of a pointer and
109243         an integer, instead of an integer.  All integer uses changed.
109244         This does not affect the physical layout of struct obstack,
109245         except on hosts (like the AS/400) where the size or alignment of
109246         void * is greater than that of ptrdiff_t.
109247         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
109248         __STDC__)]: Store temporary in pointer member of union, not
109249         integer member.
109250         * lib/obstack.c: Include <stddef.h>, for offsetof.
109251         (struct fooalign): Remove; it doesn't need a name.
109252         (union fooround): Change double to long double, and add void *.
109253         (DEFAULT_ALIGNMENT): Use offsetof to compute.
109254         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
109255         not a macro.  Hence the values are always int; so remove all
109256         casts-to-int in uses.
109258 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
109260         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
109261         we can get this patch merged into glibc.
109263 2004-05-17  Derek R. Price  <derek@ximbiot.com>
109264             Paul Eggert  <eggert@cs.ucla.edu>
109266         * m4/argp: Depend on alloca.
109268 2004-05-17  Derek R. Price  <derek@ximbiot.com>
109269             Paul Eggert  <eggert@cs.ucla.edu>
109271         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
109272         freecoding.
109274 2004-05-17  Bruno Haible  <bruno@clisp.org>
109276         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
109277         precision that consists of a '.' followed by an empty digit string.
109278         Patch by Tor Lillqvist <tml@iki.fi>.
109280 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
109282         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
109283         for backward compatibility with older code.  We need our own
109284         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
109285         it under some other name, and our alloca.h will define it.
109287 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
109288             Derek Price  <derek@ximbiot.com>
109290         * lib/alloca.c: Include <alloca.h>, to get our interface.
109291         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
109292         include <alloca.h> first.  Use C89 prototype for alloca; this
109293         requires including <stddef.h> for size_t.  Use extern "C" if C++.
109294         Use #elif for simplicity, since we can assume C89 now.
109295         Don't try to source the system alloca.h since it will not be found
109296         and to prevent recursively including its replacement.
109297         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
109298         * lib/regex.c: Likewise.
109300 2004-05-16  Derek Price  <derek@ximbiot.com>
109301             Paul Eggert  <eggert@cs.ucla.edu>
109303         getline cleanup.  This changes the getndelim2 API: both order of
109304         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
109305         no delimiter).
109307         * lib/getline.c: Don't include stddef.h or stdio.h, since our
109308         interface does that.
109309         (getline): Always use getdelim, so that we don't have two
109310         copies of this code.
109311         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
109312         if available.
109313         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
109314         (GETNDELIM2_MAXIMUM): New macro.
109315         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
109316         instead of the old practice of delim2==0.  All callers changed.
109317         Return -1 on overflow, instead of returning junk.
109318         Do not set *linesize unless allocation succeeds.
109319         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
109320         that we include sys/types.h.
109321         * lib/getnline.h: Likewise.
109322         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
109323         (getndelim2): Reorder arguments.
109324         * lib/getnline.c (getnline, getndelim):
109325         Don't discard the NMAX argument.
109326         (getnline): Invoke getndelim, to avoid code duplication.
109327         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
109328         of (size_t) -1 by callers of the getnline family.
109330 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
109332         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
109333         Check for gettimeofday.
109334         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
109335         Check for settimeofday, stime.
109337 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
109339         * lib/nanosleep.c (suspended): Change its type from int to
109340         sig_atomic_t volatile.
109341         (first_call): Make it private to rpl_nanosleep, and have it
109342         be zero initially as that's a bit faster.
109343         (my_usleep): Round up fractional times instead of truncating them,
109344         as this is the usual meaning for 'sleep'.
109346         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
109347         doesn't work.
109348         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
109349         (ENOSYS): Define if not defined.
109350         (settime): Fall back on stime if it exists and settimeofday fails.
109351         But don't bother with fallbacks if a method fails with errno == EPERM.
109353 2004-05-11  Jim Meyering  <jim@meyering.net>
109355         Prior to this change, the save_cwd caller required read access to the
109356         current directory on most systems (ones with the fchdir function).
109358         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
109359         fails, try write-only, and finally, resort to using xgetcwd.
109361 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
109363         * lib/obstack.c, obstack.h: Import changes from libc.
109365 2004-04-28  Bruno Haible  <bruno@clisp.org>
109367         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
109368         also implicitly appends .exe to executables.
109369         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
109370         accepts Windows pathnames.
109371         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
109372         Treat Cygwin like Windows, since it now accepts Windows pathnames.
109373         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
109374         Treat Cygwin like Windows, since it now accepts Windows pathnames.
109375         Reported by Derek Robert Price <derek@ximbiot.com>.
109377 2004-04-21  Karl Berry  <karl@gnu.org>
109379         * config/srclist.txt (localcharset.c): break sync.
109381 2004-04-20  Paul Eggert  <eggert@twinsun.com>
109383         * m4/host-os.m4: Add a copyright notice.
109385 2004-04-20  Jim Meyering  <jim@meyering.net>
109387         Change UTILS_ to gl_ in AC_DEFINE'd names.
109388         Change utils_- and jm_-prefixed variables, too.
109389         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
109390         UTILS_FUNC_MKDIR_TRAILING_SLASH.
109391         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
109393         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
109394         Don't emit trailing blanks.
109395         Also rename jm_-prefixed variables to have gl_ prefix.
109397         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
109398         Also rename jm_-prefixed variables to have gl_ prefix.
109400         * m4/jm-macros.m4: Reflect the renamings.
109401         * m4/prereq.m4: Likewise.
109403 2004-04-20  Jim Meyering  <jim@meyering.net>
109405         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
109406         memory.
109408 2004-04-20  Jim Meyering  <jim@meyering.net>
109409             Bruno Haible  <bruno@clisp.org>
109411         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
109412         memory when realloc fails.
109414 2004-04-19  Jim Meyering  <jim@meyering.net>
109416         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
109417         now that readutmp.c may call `free (0)'.
109419 2004-04-19  Bruno Haible  <bruno@clisp.org>
109421         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
109422         * m4/inttypes_h.m4: Likewise.
109423         * m4/stdint_h.m4: Likewise.
109424         * m4/intmax_t.m4: Likewise.
109425         * m4/uintmax_t.m4: Likewise.
109427 2004-04-18  Jim Meyering  <jim@meyering.net>
109429         * m4/prereq.m4: Don't forbid jm_ prefix.
109431         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
109432         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
109433         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
109434         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
109435         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
109436         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
109437         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
109438         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
109439         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
109440         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
109441         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
109442         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
109443         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
109444         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
109445         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
109446         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
109447         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
109448         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
109449         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
109451 2004-04-18  Jim Meyering  <jim@meyering.net>
109453         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
109454         failure, don't leak memory and do call END_UTMP_ENT.
109456 2004-04-16  Jim Meyering  <jim@meyering.net>
109458         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
109459         coreutils' stat program.
109460         (gl_PREREQ): Don't require jm_PREREQ_STAT.
109462 2004-04-11  Paul Eggert  <eggert@twinsun.com>
109464         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
109465         C89.
109466         (CHAR_BIT): Remove, since we assume C89.
109467         Include <stdint.h> if available, as per current Autoconf CVS advice.
109469 2004-03-31  Jim Meyering  <jim@meyering.net>
109471         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
109472         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
109473         * m4/xalloc.m4: Likewise.
109475 2004-03-30  Paul Eggert  <eggert@twinsun.com>
109477         Merge from coreutils.
109479         * m4/inttostr.m4: New file.
109480         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
109481         Require AM_STDBOOL_H and gl_TIMESPEC instead.
109482         Require gl_CLOCK_TIME.
109483         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
109485 2004-03-30  Paul Eggert  <eggert@twinsun.com>
109487         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
109488         not bool, to be more consistent with Unix conventions.
109489         Suggested by Bruno Haible.
109491         Merge from coreutils.
109493         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
109494         * lib/umaxtostr.c: New files.
109496         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
109497         the usual <time.h> dance.
109498         (get_date): Change signature to support fractional time stamps.
109499         All callers changed.
109500         * lib/getdate.y: Include "getdate.h" first, as we can now
109501         assume C89 and don't need to worry about 'const'.
109502         Similarly, include "unlocked-io.h" near start, not in middle.
109503         Include <limits.h>.
109504         (textint.value): Use long int rather than int.
109505         (textint.digits): Use size_t rather than int.
109506         (BILLION, LOG10_BILLION): New constants.
109507         (parser_control): New member rel_ns.  Members day_ordinal,
109508         time_zone, month, day, hour, minutes, rel_year, rel_month,
109509         rel_day, rel_hour, rel_minutes, rel_seconds
109510         are now long int, not int.  Member seconds is now struct timespec,
109511         not int.  New member timespec_seen.  Members dates_seen, days_seen,
109512         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
109513         not int.
109514         (%union.intval): Now long int, not int.
109515         New member timespec.
109516         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
109517         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
109518         (spec): Now is a timespec or an item list.
109519         (timespec, items): New nonterminals.
109520         (time, rel, relunit, number, get_date):
109521         Add support for fractional seconds.
109522         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
109523         (gmtime, localtime, mktime): Remove decls; not needed with C89.
109524         (to_hour): First arg is now long int, not int.
109525         (to_year): Returns long int, not int.
109526         Don't treat year -70 like 70.
109527         (tm_diff): Returns long int, not int.
109528         (lookup_word): Use bool instead of int when appropriate.
109529         (yylex): Use size_t for count, not int.
109530         Detect overflow when parsing large integer constants.
109531         Add support for fractions.
109532         (get_date): Make pointers 'const' if possible.
109533         Use more-portable code to detect integer overflow.
109534         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
109535         Don't use ctime; it's not reliable if the year has >4 digits.
109537         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
109538         This is for compatibility with BSD.
109540         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
109541         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
109542         From coreutils' system.h.
109544         * lib/userspec.c: Don't include "posixver.h".
109545         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
109546         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
109547         compatible extension.  Simplify code by removing a boolean int
109548         that was always nonzero if a string was nonnull.
109550 2004-03-30  Jim Meyering  <jim@meyering.net>
109552         Merge from coreutils.
109554         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
109555         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
109556         on some systems one must include <grp.h> before it.
109557         Reported by Christian Krackowizer.
109559 2004-03-30  Jim Meyering  <jim@meyering.net>
109561         Merge from coreutils.
109563         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
109565         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
109566         an empty input stream.
109568         * lib/readtokens.c: Include <stdbool.h>.
109569         (readtoken): Use `size_t' rather than int/long.
109570         All callers adjusted.
109571         Use `bool' rather than `int' where appropriate.
109572         Use memset rather than an explicit loop.
109573         Use x2nrealloc rather than xrealloc.
109574         Allow the use of `\0' as a delimiter.
109575         (readtokens): Likewise.
109576         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
109578 2004-03-30  Jim Meyering  <jim@meyering.net>
109580         * m4/realloc.m4: Remove file, since now it does no more than
109581         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
109582         the `configure.ac' section of module/realloc.
109583         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
109585 2004-03-30  Bruno Haible  <bruno@clisp.org>
109587         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
109588         nonnull.
109590 2004-03-29  Paul Eggert  <eggert@twinsun.com>
109592         Merge changes to getloadavg.c from coreutils and Emacs.
109594         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
109595         Define to an expression, not to the empty string.
109596         Include cloexec.h and xalloc.h.
109597         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
109598         Use set_cloexec_flag rather than rolling our own.
109599         * lib/cloexec.c, lib/cloexec.h: New files.
109601 2004-03-29  Paul Eggert  <eggert@twinsun.com>
109603         * m4/cloexec.m4: New file.
109605 2004-03-18  Paul Eggert  <eggert@twinsun.com>
109607         * lib/getopt.h: Sync with libc CVS.
109609 2004-03-18  Paul Eggert  <eggert@twinsun.com>
109610             Bruno Haible  <bruno@clisp.org>
109612         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
109613         mbswidth.
109615 2004-03-18  Paul Eggert  <eggert@twinsun.com>
109616             Bruno Haible  <bruno@clisp.org>
109618         * lib/mbswidth.h: Include <wchar.h> only if
109619         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
109620         <wchar.h>.
109621         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
109623 2004-03-09  Paul Eggert  <eggert@twinsun.com>
109625         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
109626         Sync with libc CVS.
109627         * lib/getopt_int.h: New file, also synced from libc.
109629 2004-03-09  Paul Eggert  <eggert@twinsun.com>
109631         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
109632         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
109633         Bring back getopt.c, getopt.h, getopt1.c.
109635 2004-03-07  Paul Eggert  <eggert@twinsun.com>
109637         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
109638         All uses changed.  Check for sa_sigaction member; this fixes
109639         a bug first reported by Jason Andrade in
109640         <http://mail.gnu.org/r/bug-textutils/2003-03/msg00027.html>.
109642 2004-03-07  Paul Eggert  <eggert@twinsun.com>
109644         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
109645         '#if' expressions.  Unlike the code it replaces, it does not
109646         depend on (defined _SC_PAGESIZE).  However, it does depend on
109647         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
109648         first reported by Jason Andrade in
109649         <http://mail.gnu.org/r/bug-textutils/2003-03/msg00027.html>.
109651 2004-02-25  Simon Josefsson  <jas@extundo.com>
109653         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
109655 2004-02-25  Simon Josefsson  <jas@extundo.com>
109657         * lib/strdup.h: New file.
109658         * lib/strdup.c: Include it.
109659         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
109660         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
109662 2004-02-23  Karl Berry  <karl@gnu.org>
109664         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
109665         (from fencepost.gnu.org:/gd/gnuorg).
109667 2004-02-23  Karl Berry  <karl@gnu.org>
109669         * config/srclistvars.sh (GNUORG) [karl]: redefine.
109670         * config/srclist.txt: add maintain/standards documents.
109672 2004-02-18  Bruno Haible  <bruno@clisp.org>
109674         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
109675         Reported by Derek Robert Price <derek@ximbiot.com>.
109677 2004-02-16  Karl Berry  <karl@gnu.org>
109679         * config/mkinstalldirs, install-sh: update from automake.
109681 2004-02-06  Karl Berry  <karl@gnu.org>
109683         * m4/po.m4: update from gettext 0.14.1.
109685 2004-02-06  Karl Berry  <karl@gnu.org>
109687         * lib/config.charset: update from gettext 0.14.1.
109689 2004-02-05  Paul Eggert  <eggert@twinsun.com>
109691         Add comments and code, prompted by suggestions from Bruno Haible
109692         for sh-quote.
109693         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
109694         describing the enum quoting_style values.
109695         * lib/quotearg.c (quotearg_alloc): New function.
109696         (quotearg_buffer_restyled): Treat lone { and } as special.
109697         Treat = as special.  Work around bug with older shells
109698         that "see" a '\' that is really the 2nd byte of a multibyte char.
109699         Quote empty string with shell_quoting_style.
109701 2004-02-03  Bruno Haible  <bruno@clisp.org>
109703         * m4/pipe.m4: New file, from GNU gettext.
109705 2004-02-03  Bruno Haible  <bruno@clisp.org>
109707         * lib/pipe.h: New file, from GNU gettext.
109708         * lib/pipe.c: New file, from GNU gettext.
109710 2004-01-27  Bruno Haible  <bruno@clisp.org>
109712         * m4/execute.m4: New file, from GNU gettext.
109714 2004-01-27  Bruno Haible  <bruno@clisp.org>
109716         * lib/execute.h: New file, from GNU gettext.
109717         * lib/execute.c: New file, from GNU gettext.
109718         * lib/w32spawn.h: New file, from GNU gettext.
109720 2004-01-24  Paul Eggert  <eggert@twinsun.com>
109722         Merge from diffutils.
109724         * lib/file-type.c (file_type): Add typed memory objects.
109725         * lib/file-type.h (S_TYPEISTMO): New macro.
109727         * lib/c-stack.h (c_stack_action): Remove argv argument.
109728         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
109729         (die): Don't calculate message unless segv_action returns.
109730         (get_stack_location, min_address_from_argv, max_address_from_argv,
109731         volatile stack_base, volatile_stack_size): Remove.
109732         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
109733         that every segmentation violation is a stack overflow.  (Ouch!)
109734         See Debian bug 136249 (still outstanding) for more info about why
109735         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
109737 2004-01-24  Paul Eggert  <eggert@twinsun.com>
109739         Exit-status fix from coreutils.
109741         Use exit_failure consistently in place of EXIT_FAILURE,
109742         so that program exit statuses are consistent on failure.
109744         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
109745         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
109746         * lib/argmatch.h: Comment fix to match the above.
109747         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
109748         Now a macro referring to exit_failure, instead of a separate
109749         variable.  Include "exitfail.h" to get it.
109750         * lib/xstrtol.h: Include "exitfail.h".
109751         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
109753         * lib/long-options.c (parse_long_options): Use prototype
109754         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
109755         for clarity.
109757 2004-01-21  Jim Meyering  <jim@meyering.net>
109759         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
109760         so as not to conflict with a different-sized __mktime_internal
109761         function in GNU libc.
109762         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
109763         Problem building statically-linked `ls' reported by Michael Brunnbauer.
109765 2004-01-20  Karl Berry  <karl@gnu.org>
109767         * config/config.guess: update from config.
109769         * config/srclistvars.sh: GNUWWWLICENSES for karl.
109771 2004-01-20  Bruno Haible  <bruno@clisp.org>
109773         Safer stack allocation.
109774         * lib/setenv.c: Include allocsa.h.
109775         (alloca): Remove fallback definition.
109776         (freea): Remove macro.
109777         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
109778         instead of freea.
109780 2004-01-20  Bruno Haible  <bruno@clisp.org>
109782         * m4/eealloc.m4: New file, from GNU gettext.
109784 2004-01-20  Bruno Haible  <bruno@clisp.org>
109786         * m4/allocsa.m4: New file, from GNU gettext.
109788 2004-01-20  Bruno Haible  <bruno@clisp.org>
109790         * lib/xallocsa.h: New file, from GNU gettext.
109791         * lib/xallocsa.c: New file, from GNU gettext.
109793 2004-01-20  Bruno Haible  <bruno@clisp.org>
109795         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
109797 2004-01-20  Bruno Haible  <bruno@clisp.org>
109799         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
109800         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
109801         specially.
109803 2004-01-20  Bruno Haible  <bruno@clisp.org>
109805         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
109806         patch.
109808 2004-01-20  Bruno Haible  <bruno@clisp.org>
109810         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
109812 2004-01-20  Bruno Haible  <bruno@clisp.org>
109814         * lib/eealloc.h: New file.
109816 2004-01-20  Bruno Haible  <bruno@clisp.org>
109818         * lib/binary-io.h: Avoid warnings on Cygwin.
109820 2004-01-20  Bruno Haible  <bruno@clisp.org>
109822         * lib/allocsa.h: New file, from GNU gettext.
109823         * lib/allocsa.c: New file, from GNU gettext.
109825 2004-01-18  Karl Berry  <karl@gnu.org>
109827         * doc/gpl.texi, doc/lgpl.texi: new files.
109829 2004-01-18  Karl Berry  <karl@gnu.org>
109831         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
109832         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
109834 2004-01-15  Paul Eggert  <eggert@twinsun.com>
109836         Merge from coreutils.
109838         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
109839         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
109840         (gl_DEFAULT_POSIX2_VERSION): Move
109841         the documentation from 'configure' into 'config.hin',
109842         so that 'configure --help' isn't burdened by it and
109843         we don't have to worry about its formatting there.
109844         Reword the documentation so that it's more succinct
109845         and can be run together into a single paragraph.
109846         * m4/same.m4 (gl_SAME): Check for pathconf.
109848 2004-01-15  Paul Eggert  <eggert@twinsun.com>
109850         Merge from coreutils.
109852         * lib/posixver.c: Include posixver.h.
109854         * lib/same.c: Include <stdbool.h>, <limits.h>.
109855         (_POSIX_NAME_MAX): Define if not defined.
109856         (MIN): New macro.
109857         (same_name): If file names are silently truncated, report
109858         that the file names are the same if they are the same after
109859         the silent truncation.
109861         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
109862         conversion function.
109863         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
109864         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
109865         longer needed.
109867 2004-01-15  Jim Meyering  <jim@meyering.net>
109869         Merge from coreutils.
109871         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
109872         if no library is required.
109873         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
109874         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
109875         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
109876         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
109877         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
109878         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
109879         value, $ac_cv_search_crypt, if it's "none required".
109880         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
109881         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
109882         not gl_FUNC_GETLOADAVG.
109883         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
109884         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
109886 2004-01-15  Jim Meyering  <jim@meyering.net>
109888         Merge from coreutils.
109890         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
109891         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
109892         http://mail.gnu.org/r/bug-coreutils/2003-11/msg00144.html
109894         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
109895         optional configure-time default.
109897         * lib/version-etc.c (version_etc_copyright): Update copyright date.
109899         * lib/xreadlink.c (xreadlink): Correct outdated comment.
109901 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
109903         Merge from coreutils.
109905         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
109906         value, $ac_cv_search_nanosleep, if it's "none required".
109908 2004-01-14  Paul Eggert  <eggert@twinsun.com>
109910         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
109911         with like-named macro in fnmatch.c.
109912         (EXT): Use an internal constant instead.
109914         Merge fnmatch patches from glibc.
109915         * lib/fnmatch.c (mbsinit): Remove define.
109916         Add libc_hidden_ver (__fnmatch, fnmatch).
109917         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
109918         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
109920 2004-01-14  Karl Berry  <karl@gnu.org>
109922         * config/install-sh: update from automake.
109924 2004-01-13  Karl Berry  <karl@gnu.org>
109926         * config/install-sh: update from automake.
109928 2004-01-09  Karl Berry  <karl@gnu.org>
109930         * config/install-sh: update from automake.
109932 2004-01-05  Karl Berry  <karl@gnu.org>
109934         * config/config.{sub,guess}: update from config.
109936 2003-12-31  Karl Berry  <karl@gnu.org>
109938         * config/depcomp: update from automake.
109940 2003-12-14  Karl Berry  <karl@gnu.org>
109942         * lib/config.charset: update from gettext-runtime.
109944 2003-12-03  Paul Eggert  <eggert@twinsun.com>
109946         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
109947         Bug reported by Alfred M. Szmidt.
109949 2003-12-03  Bruno Haible  <bruno@clisp.org>
109951         * m4/gettext.m4: Upgrade from gettext-0.13.
109952         * m4/po.m4: Upgrade from gettext-0.13.
109953         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
109954         * m4/intmax.m4: New file, from gettext-0.13.
109955         * m4/printf-posix.m4: New file, from gettext-0.13.
109957 2003-11-29  Karl Berry  <karl@gnu.org>
109959         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
109961 2003-11-25  Paul Eggert  <eggert@twinsun.com>
109962             Bruno Haible  <bruno@clisp.org>
109964         * lib/printf-parse.h: Don't include sys/types.h.
109965         (ARG_NONE): New macro.
109966         (char_directive): Change type of *arg_index fields to size_t.
109967         * lib/printf-parse.c: Don't include sys/types.h.
109968         (SSIZE_MAX): Remove macro.
109969         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
109970         Remove unnecessary overflow check.
109971         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
109972         fields.
109974 2003-11-25  Bruno Haible  <bruno@clisp.org>
109976         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
109978 2003-11-25  Bruno Haible  <bruno@clisp.org>
109980         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
109981         gt_TYPE_SSIZE_T.
109983 2003-11-24  Paul Eggert  <eggert@twinsun.com>
109985         * modules/alloca: Remove dependency on xalloc.
109987 2003-11-24  Paul Eggert  <eggert@twinsun.com>
109989         * lib/alloca.c: Remove dependency on xalloc module.
109990         (xalloc_die): Remove.
109991         (memory_full) [!defined emacs]: New macro.
109992         [!defined emacs]: Don't include xalloc.h.
109993         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
109994         address arithmetic overflows.  Change datatypes a bit to avoid
109995         unnecessary casts.
109997 2003-11-22  Jim Meyering  <jim@meyering.net>
109999         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
110000         s/size/size_t/.
110002 2003-11-21  Karl Berry  <karl@gnu.org>
110004         * config/config.{sub,guess}: update from config.
110006 2003-11-18  Karl Berry  <karl@gnu.org>
110008         * config/config.{sub,guess}: update from config.
110010         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
110012 2003-11-17  Paul Eggert  <eggert@twinsun.com>
110014         * README: Mention that S+T cannot overflow if S is the size of
110015         an existing object and T is sufficiently small.
110017 2003-11-17  Jim Meyering  <jim@meyering.net>
110019         On systems without utime and without a utimes function capable of
110020         dealing with a NULL struct utimbuf* argument, this utime replacement
110021         could -- in unusual circumstances -- leak a file descriptor.
110022         * lib/utime.c: Include <unistd.h> and <errno.h>.
110023         (utime_null): Be sure to close `fd' and to preserve errno.
110024         Reported by Geoff Collyer via Arnold Robbins.
110026 2003-11-17  Bruno Haible  <bruno@clisp.org>
110028         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
110029         (Depends-on): Add xsize.
110031 2003-11-17  Bruno Haible  <bruno@clisp.org>
110033         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
110035 2003-11-17  Bruno Haible  <bruno@clisp.org>
110037         * lib/vasnprintf.c (alloca): Remove fallback definition.
110038         (freea): Remove definition.
110039         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
110040         Reported by Paul Eggert.
110042 2003-11-16  Paul Eggert  <eggert@twinsun.com>
110043             Bruno Haible  <bruno@clisp.org>
110045         Protect against address arithmetic overflow.
110046         * lib/printf-args.h: Include stddef.h.
110047         (arguments): Change type of field 'count' to size_t.
110048         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
110049         'unsigned int' where appropriate.
110050         * lib/printf-parse.h: Include sys/types.h.
110051         (char_directive): Change type of *arg_index fields to ssize_t.
110052         (char_directives): Change type of fields 'count', max_*_length to
110053         size_t.
110054         * lib/printf-parse.c: Include sys/types.h and xsize.h.
110055         (SSIZE_MAX): Define fallback value.
110056         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
110057         instead of 'int' where appropriate. Check a_allocated, d_allocated
110058         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
110059         * lib/vasnprintf.c: Include xsize.h.
110060         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
110061         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
110062         overflow. Avoid wraparound when converting a width or precision from
110063         decimal to binary.
110065 2003-11-16  Bruno Haible  <bruno@clisp.org>
110067         Update from GNU gettext.
110068         * lib/printf-parse.c: Generalize to it can be compiled for wide
110069         strings.
110070         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
110071         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
110072         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
110073         SNPRINTF): New macros.
110074         Don't include <alloca.h> if the file is used inside libintl.
110075         (local_wcslen): New function, for Solaris 2.5.1.
110076         (VASNPRINTF): Use it instead of wcslen.
110078 2003-11-16  Bruno Haible  <bruno@clisp.org>
110080         * lib/xsize.h (xmax): New function.
110081         (xsum, xsum3, xsum4): Declare as "pure" functions.
110083 2003-11-12  Paul Eggert  <eggert@twinsun.com>
110085         * modules/xalloc (Files): Undo latest change, since xalloc.h
110086         no longer needs SIZE_MAX or PTRDIFF_MAX.
110088 2003-11-12  Paul Eggert  <eggert@twinsun.com>
110090         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
110091         gl_PTRDIFF_MAX.
110093 2003-11-12  Paul Eggert  <eggert@twinsun.com>
110095         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
110096         "return", to pacify some unknown compiler.  Problem reported
110097         by Joerg Schilling.
110099 2003-11-12  Paul Eggert  <eggert@twinsun.com>
110101         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
110102         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
110103         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
110104         heuristic is just as accurate as far as we know, and it removes a
110105         dependency on size_max.m4 and ptrdiff_max.m4.
110107 2003-11-11  Bruno Haible  <bruno@clisp.org>
110109         * modules/xsize (Files): Add m4/size_max.m4.
110110         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
110112 2003-11-11  Bruno Haible  <bruno@clisp.org>
110114         * m4/size_max.m4: New file.
110115         * m4/ptrdiff_max.m4: New file.
110116         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
110117         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
110118         (gl_XALLOC): Invoke it.
110120 2003-11-11  Bruno Haible  <bruno@clisp.org>
110122         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
110123         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
110124         defined.
110126 2003-11-10  Paul Eggert  <eggert@twinsun.com>
110128         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
110129         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
110130         rejected some allocations of exactly SIZE_MAX - 2 bytes.
110131         From Bruno Haible.
110132         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
110133         not (size_t) -1, since it's defined here.
110135 2003-11-09  Karl Berry  <karl@gnu.org>
110137         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
110139 2003-11-06  Paul Eggert  <eggert@twinsun.com>
110141         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
110142         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
110143         Reject sizes of exactly SIZE_MAX bytes.
110144         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
110145         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
110147 2003-11-05  Bruno Haible  <bruno@clisp.org>
110149         * lib/xsize.h: Include limits.h, to avoid a possible collision with
110150         SIZE_MAX defined in <limits.h> on Solaris.
110152 2003-11-04  Jim Meyering  <jim@meyering.net>
110154         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
110155         variable names, rather than @VAR@.
110156         * modules/poll: Likewise.
110158 2003-11-04  Bruno Haible  <bruno@clisp.org>
110160         * modules/xsize: New file.
110161         * modules/linebreak: Depend on xsize.
110162         * MODULES.html.sh (func_all_modules): Add xsize.
110164 2003-11-04  Bruno Haible  <bruno@clisp.org>
110166         * m4/xsize.m4: New file.
110168 2003-11-04  Bruno Haible  <bruno@clisp.org>
110170         * lib/xsize.h: New file.
110171         * lib/linebreak.c: Include xsize.h.
110172         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
110173         argument for overflow.
110174         Suggested by Paul Eggert.
110176 2003-11-03  Karl Berry  <karl@gnu.org>
110178         * config/config.{guess,sub}: update from config.
110180 2003-11-03  Jim Meyering  <jim@meyering.net>
110182         * modules/userspec (lib_SOURCES): Add userspec.h.
110183         (Include): Add "userspec.h".
110184         Improve description.
110186 2003-11-03  Jim Meyering  <jim@meyering.net>
110188         * lib/userspec.c: Include "userspec.h".
110189         * lib/userspec.h: New file.
110191 2003-11-03  Bruno Haible  <bruno@clisp.org>
110193         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
110195 2003-11-03  Bruno Haible  <bruno@clisp.org>
110197         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
110198         available, to avoid (extremely rare) race condition.
110199         Suggested by Paul Eggert.
110201 2003-11-02  Karl Berry  <karl@gnu.org>
110203         * config/srclist.txt (vasprintf.c): sync broken, sigh.
110205 2003-10-31  Paul Eggert  <eggert@twinsun.com>
110207         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
110208         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
110209         (read_filesystem_list): Set and use me_type_malloced.
110210         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
110211         whatever the type happens to be), for brevity and consistency.
110212         Check for size calculation overflow on Alphas running OSF/1.
110214 2003-10-31  Jim Meyering  <jim@meyering.net>
110216         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
110218         * lib/linebuffer.c: Include <string.h> for declaration of memset.
110220 2003-10-30  Paul Eggert  <eggert@twinsun.com>
110221             Bruno Haible  <bruno@clisp.org>
110223         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
110224         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
110226 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
110228         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
110229         netbsd*-gnu*.  Suggested by Robert Millan.
110231 2003-10-29  Paul Eggert  <eggert@twinsun.com>
110233         * modules/group-member: Depend on stdbool.
110235 2003-10-29  Paul Eggert  <eggert@twinsun.com>
110237         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
110239 2003-10-29  Paul Eggert  <eggert@twinsun.com>
110241         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
110242         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
110243         after the 'gnu' in these cases.  This fixes some bugs in the
110244         previous change, and is based on suggestions by Robert Millan.
110246 2003-10-29  Paul Eggert  <eggert@twinsun.com>
110248         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
110249         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
110250         no longer needed.
110251         * lib/quotearg.c (quotearg_n_options): Use it.
110252         * lib/group-member.c: Include <stdbool.h>.
110253         (free_group_info): Arg is now const *; don't free arg.
110254         (get_group_info): Now returns bool and accepts struct group_info *,
110255         rather than returning a malloc'ed struct group_info *.
110256         All uses changed.  Check for overflow in internal size calculation.
110258         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
110259         rather than xmalloc/xrealloc.
110260         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
110261         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
110262         conformance bug: the old code used a pointer after freeing the
110263         storage that it addressed.
110264         * lib/hash.c (hash_initialize): Simplify the code by using
110265         xalloc_oversized rather than doing it by hand.
110266         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
110267         the buffer preserved.  Use free and xmalloc instead.
110268         * lib/quotearg.c (quotearg_n_options): Likewise.
110269         Use a simpler test for size overflow.  Don't use xalloc_oversized
110270         because unsigned int might be wider than size_t (!); this suggests
110271         that we should switch from unsigned int to size_t for slot numbers.
110273 2003-10-28  Paul Eggert  <eggert@twinsun.com>
110275         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
110276         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
110277         NetBSD kernels.  Requested by Richard Stallman.
110279 2003-10-27  Paul Eggert  <eggert@twinsun.com>
110281         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
110282         to allocate the returned structure.  Do not allocate a subarray,
110283         as x2nrealloc will do that.
110284         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
110285         instead of xnrealloc.
110286         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
110288 2003-10-27  Bruno Haible  <bruno@clisp.org>
110290         * lib/stdbool_.h: Better support for BeOS.
110292 2003-10-26  Paul Eggert  <eggert@twinsun.com>
110294         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
110295         now uses inline.
110297 2003-10-26  Paul Eggert  <eggert@twinsun.com>
110299         * lib/xalloc.h (xalloc_oversized): New static inline function, for
110300         callers that want to do their own size-overflow checking.  Include
110301         <stdbool.h>, since xalloc_oversized returns bool.
110302         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
110303         to use xalloc_oversized.
110305         Add two functions x2realloc, x2nrealloc, for programs that grow
110306         arrays dynamically by doubling their sizes.
110307         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
110308         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
110309         New functions.
110311         Port to C99 semantics for 'inline' of external functions.
110312         Bug reported by Bruno Haible.
110313         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
110314         with the old contents of xnmalloc.
110315         (xnmalloc, xmalloc): Use it.
110316         (xnrealloc_inline): New static inline function,
110317         with the old contents of xnrealloc.
110318         (xnrealloc, xrealloc): Use it.
110320         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
110321         that.
110323 2003-10-26  Karl Berry  <karl@gnu.org>
110325         * config/srclist.txt (COPYING.DOC): no longer available from
110326         /gd/gnuorg; don't know where the ultimate source is.
110328 2003-10-25  Paul Eggert  <eggert@twinsun.com>
110330         Fix several address-calculation bugs in the hash modules,
110331         plus some minor code cleanup.
110333         * lib/hash.h: Include <stdbool.h>, for bool.
110334         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
110335         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
110336         hash_get_n_entries, hash_get_max_bucket_length,
110337         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
110338         hash_rehash): Use size_t rather than unsigned.
110339         * lib/hash.c (struct hash_table, hash_get_n_buckets,
110340         hash_get_n_buckets_used, hash_get_n_entries,
110341         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
110342         hash_get_entries, hash_do_for_each, hash_string, is_prime,
110343         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
110344         Likewise.
110345         (SIZE_MAX): Define if not defined.
110346         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
110347         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
110348         hash_print):
110349         Use const * when possible.
110350         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
110351         (check_tuning): Fix bug: if tuning parameters were very close to
110352         0 or 1, rounding errors could have caused subscript violations.
110353         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
110354         (hash_initialize): Add 'fail:' label
110355         to free table and return NULL, and use it to simplify code.
110356         Use calloc rather than clearing the storage ourself.
110357         (hash_initialize, hash_rehash): Check for arithmetic overflow in
110358         buffer size calculations.
110359         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
110360         Include <stddef.h>, for size_t.
110361         * lib/hash-pjw.c (hash_pjw): Likewise.
110362         Switch to method described by Bruno Haible.
110363         Include <limits.h>, for CHAR_BIT.
110364         (SIZE_BITS): New macro.
110366 2003-10-23  Paul Eggert  <eggert@twinsun.com>
110368         * m4/getline.m4 (AM_FUNC_GETLINE):
110369         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
110370         hosts.  Problem reported by Derek Robert Price in
110371         <http://mail.gnu.org/r/bug-gnulib/2003-10/msg00092.html>.
110372         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
110373         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
110375 2003-10-21  Paul Eggert  <eggert@twinsun.com>
110377         * lib/getndelim2.c (getndelim2): When size calculation overflows,
110378         ceiling the allocation at NMAX bytes rather than silently
110379         discarding input bytes before NMAX is reached.  This makes
110380         a difference only if NMAX exceeds SIZE_MAX / 2.
110382         * lib/obstack.c: Merge from glibc.
110383         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
110384         Add libc_hidden_def (_obstack_newchunk).
110385         (_obstack_free) [! defined _LIBC]: Remove.
110386         [defined _LIBC]: Make a strong alias from obstack_free, rather than
110387         a clone of the function body.
110388         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
110389         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
110391         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
110392         glibc.
110393         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
110394         arg to memcpy.
110396         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
110397         (obstack_ptr_grow_fast, obstack_int_grow_fast):
110398         Don't use lvalue casts, as GCC plans to remove support for them
110399         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
110400         was also present in the non-GCC version, indicating that this
110401         code had always been buggy and had never been widely used.
110402         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
110403         Use the fast variant of each macro, rather than copying the
110404         definiens of the fast variant; that way, we'll be more likely to
110405         catch future bugs in the fast variants.
110407 2003-10-20  Bruno Haible  <bruno@clisp.org>
110409         * modules/wait-process: New file.
110410         * MODULES.html.sh (func_all_modules): Add wait-process.
110412 2003-10-20  Bruno Haible  <bruno@clisp.org>
110414         * m4/wait-process.m4: New file.
110416 2003-10-20  Bruno Haible  <bruno@clisp.org>
110418         * lib/wait-process.h: New file, from GNU gettext.
110419         * lib/wait-process.c: New file, from GNU gettext.
110421 2003-10-19  Jim Meyering  <jim@meyering.net>
110423         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
110424         HPUX 10.20.
110426 2003-10-18  Karl Berry  <karl@gnu.org>
110428         * config/config.guess: update from config.
110430 2003-10-16  Paul Eggert  <eggert@twinsun.com>
110432         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
110433         (getgroups): First arg is int, not size_t.
110434         Don't let 'free' mangle errno.
110436 2003-10-16  Paul Eggert  <eggert@twinsun.com>
110438         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
110440 2003-10-16  Karl Berry  <karl@gnu.org>
110442         * config/config.{guess,sub}: update from config.
110444 2003-10-16  Jim Meyering  <jim@meyering.net>
110446         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
110447         memcpy.
110449 2003-10-15  Paul Eggert  <eggert@twinsun.com>
110451         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
110452         (SIZE_MAX): Remove.
110453         (new_exclude, add_exclude_file): Initial size no longer needs to
110454         be a power of 2.
110455         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
110456         our own address arithmetic overflow checking.
110458         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
110459         (fnmatch): Do not alloca more than 2000 wide characters;
110460         instead, use malloc for large buffers.
110461         Check for address arithmetic overflow, and return -1
110462         with errno set to ENOMEM in that case.
110463         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
110464         (NEW_PATTERN): Do not alloca more than 8000 bytes;
110465         instead, return -1.  Check for address arithmetic overflow.
110467 2003-10-14  Paul Eggert  <eggert@twinsun.com>
110469         Handle invalid suffixes and overflow independently, so that
110470         callers can treat them independently as needed.  Fix some bugs in
110471         suffix handling, e.g., "100k@" was not diagnosed as an invalid
110472         suffix for a human-readable blocksize.  The major caller-visible
110473         change is the addition of a new
110474         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
110475         that both overflow and suffix chars were found.
110477         * lib/human.c (humblock): Don't check separately for invalid suffix
110478         char; that is xstrtoumax's job (now that its bug is fixed).
110479         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
110480         INTMAX_MAX]: New macros.
110481         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
110482         TYPE_MAXIMUM): New macros.
110483         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
110484         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
110485         if overflow occurs, as it's what __strtol does and it's more useful
110486         in practice.
110487         (__xstrtol): If __strtol reports some error other than ERANGE,
110488         reflect it to the caller as LONGINT_INVALID.  If it reports
110489         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
110490         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
110491         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
110492         value.
110493         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
110494         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
110495         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
110496         [defined UINTMAX_MAX]: New macros.
110498 2003-10-14  Bruno Haible  <bruno@clisp.org>
110500         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
110502 2003-10-14  Bruno Haible  <bruno@clisp.org>
110504         * m4/sig_atomic_t: New file, from GNU gettext.
110505         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
110507 2003-10-14  Bruno Haible  <bruno@clisp.org>
110509         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
110510         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
110511         Also use volatile where needed.
110513 2003-10-12  Paul Eggert  <eggert@twinsun.com>
110515         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
110516         Change maintainer from Bruno Haible to 'all'.
110518 2003-10-12  Paul Eggert  <eggert@twinsun.com>
110520         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
110522 2003-10-12  Paul Eggert  <eggert@twinsun.com>
110524         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
110525         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
110526         and define in terms of the other primitives.
110527         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
110528         (SIZE_MAX): Define if not already defined.
110529         (array_size_overflow): New function.
110530         (xalloc_die): Abort instead of exiting if 'error' returns.
110531         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
110532         (xmalloc, xrealloc): Use them.
110533         (xcalloc): Check for address arithmetic overflow.
110534         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
110535         a bit faster than strcpy.
110537 2003-10-10  Simon Josefsson  <jas@extundo.com>
110539         * modules/argp (Depends-on): Add restrict and strcase.
110541 2003-10-10  Simon Josefsson  <jas@extundo.com>
110543         * m4/argp.m4: Add AC_C_INLINE.
110545 2003-10-08  Paul Eggert  <eggert@twinsun.com>
110547         Merge getpass from libc, plus a few fixes.
110549         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
110550         Include <stdbool.h>.
110551         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
110552         __fsetlocking to empty.
110553         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
110554         do include <bits/libc-lock.h>.
110555         Do not include <fcntl.h>; not needed.
110556         [_LIBC]: Include <wchar.h>.
110557         (NOTCANCEL_MODE): New macro.
110558         (flockfile, funlockfile) [_LIBC]: New macros.
110559         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
110560         [!_LIBC]: New macros.
110561         (call_fclose): New function.
110562         (getpass): Use it.  Save tty stream separately; this simplifies the
110563         code and makes it more reliable if stdin happens to equal stdout.
110564         Invoke __fsetlocking on tty.
110565         Handle thread cancellation if needed.
110566         Namespace cleanup (use __tcgetattr, __getline).
110567         Use bool for Booleans.
110568         [USE_IN_LIBIO]: Handle wide streams.
110569         [!_LIBC]: Unconditionally do the fseek, since we don't know what
110570         stream might go where.
110572         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
110573         doesn't have to include <stdio.h> before us.
110574         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
110575         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
110576         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
110577         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
110578         if not declared, so that we can use getpass.c code from libc without
110579         rewriting it.
110580         (flockfile, ftrylockfile, funlockfile): New macros.
110582 2003-10-08  Paul Eggert  <eggert@twinsun.com>
110584         * modules/getpass: Depend on stdbool.
110586 2003-10-08  Paul Eggert  <eggert@twinsun.com>
110588         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
110590 2003-10-07  Karl Berry  <karl@gnu.org>
110592         * config/config.{guess,sub}: update from config.
110594 2003-10-06  Jim Meyering  <jim@meyering.net>
110595             Bruno Haible  <bruno@clisp.org>
110597         This lets translators provide better translations for the
110598         "Written by ..." part of --version output.
110599         * lib/version-etc.h: Include stdarg.h.
110600         (version_etc_copyright): Declare as readonly.
110601         (version_etc): Make this function variadic with a NULL-terminated list
110602         of author name strings.
110603         (version_etc_va): New declaration.
110604         * lib/version-etc.c: Include stdarg.h, stdlib.h.
110605         (version_etc_copyright): Declare as readonly.
110606         (version_etc_va): New function. Provide a different translatable string
110607         for each possible number of authors < 10. Abbreviate when there are 10
110608         authors or more.
110609         (version_etc): Make this function variadic. Call version_etc_va.
110610         Suggestion from Gary V. Vaughan.
110612         * lib/long-options.h (parse_long_options): Change prototype: the
110613         authors string is moved to the end and becomes variadic.
110614         * lib/long-options.c: Include stdarg.h.
110615         (parse_long_options): Make this function variadic, too.
110616         Call version_etc_va, not version_etc.
110618 2003-10-06  Bruno Haible  <bruno@clisp.org>
110620         * modules/version-etc-2: Remove file.
110621         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
110623 2003-10-06  Bruno Haible  <bruno@clisp.org>
110625         * modules/fatal-signal: New file.
110626         * MODULES.html.sh (func_all_modules): Add fatal-signal.
110628 2003-10-06  Bruno Haible  <bruno@clisp.org>
110630         * m4/fatal-signal.m4: New file.
110631         * m4/signalblocking.m4: New file, from GNU gettext.
110633 2003-10-06  Bruno Haible  <bruno@clisp.org>
110635         * lib/version-etc-2.h: Remove file.
110636         * lib/version-etc-2.c: Remove file.
110638 2003-10-06  Bruno Haible  <bruno@clisp.org>
110640         * lib/fatal-signal.h: New file, from GNU gettext.
110641         * lib/fatal-signal.c: New file, from GNU gettext.
110643 2003-10-05  Paul Eggert  <eggert@twinsun.com>
110645         * README: Rework advice for preventing empty .o files.
110646         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
110647         not <sys/types.h>.
110649 2003-10-04  Karl Berry  <karl@gnu.org>
110651         * lib/argp*: update from libc.
110653 2003-10-04  Karl Berry  <karl@gnu.org>
110655         * config/config.{guess,sub}: update from config.
110657 2003-10-02  Bruno Haible  <bruno@clisp.org>
110659         * modules/lchown (Include): Add lchown.h.
110660         * modules/time_r (Include): Use "..." syntax.
110661         * modules/xgetdomainname (Include): Add xgetdomainname.h.
110663 2003-10-01  Simon Josefsson  <jas@extundo.com>
110665         * MODULES.html.sh (func_all_modules): Move gethostname from section
110666         'based on' to section 'lacking' POSIX:2001.
110668 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
110670         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
110671         to output mode on the same stream.
110673 2003-09-29  Paul Eggert  <eggert@twinsun.com>
110675         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
110676         Fix arg typo in previous patch.
110678 2003-09-28  Jim Meyering  <jim@meyering.net>
110680         * lib/error.c: Correct cpp indentation.
110682 2003-09-27  Paul Eggert  <eggert@twinsun.com>
110684         * modules/free: New file.
110686 2003-09-27  Paul Eggert  <eggert@twinsun.com>
110688         * m4/free.m4: New file.
110690 2003-09-27  Paul Eggert  <eggert@twinsun.com>
110692         * lib/minmax.h (MIN, MAX)
110693         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
110694         Omit the special code that used __typeof__, since we worry that
110695         it could be more trouble than it's worth.  See:
110696         http://mail.gnu.org/r/bug-gnulib/2003-01/msg00090.html
110697         http://mail.gnu.org/r/bug-gnulib/2003-01/msg00095.html
110699         * lib/free.c: New file.
110701 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
110703         Trivial fixes to Makefile.am parts of module listings.
110704         * modules/strstr: Append strstr.h to lib_SOURCES.
110705         * modules/strcase: Likewise, for strcase.h.
110707 2003-09-27  Karl Berry  <karl@gnu.org>
110709         * config/mkinstalldirs: update from automake.
110711 2003-09-26  Paul Eggert  <eggert@twinsun.com>
110713         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
110714         (error_tail): Do not loop, reallocating temporary buffer, since
110715         the output cannot contain more wide characters than the input
110716         contains bytes, the size must be big enough already.  This avoids
110717         one potential size overflow calculation.  Check for size overflow
110718         when calculating temporary buffer size.  Free temporary buffer
110719         when done, if it was allocated with malloc; this plugs a memory
110720         leak.  Remove casts from void * to pointers, that are no longer
110721         needed now that we're assuming C89 or better.
110723         Merge error changes from glibc.
110725         * lib/error.c, error.h: Update copyright notice header to match glibc.
110726         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
110727         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
110728         Disable cancellation while printing error.
110729         * lib/error.h: Prepend __ to parameter names.
110731 2003-09-26  Jim Meyering  <jim@meyering.net>
110733         * lib/error.c (error_tail): Move some declarations
110734         into inner scope where the local variables are used.
110736 2003-09-26  Bruno Haible  <bruno@clisp.org>
110738         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
110739         stpncpy().
110740         Don't define stpncpy through config.h; it's now done through stpncpy.h.
110742 2003-09-26  Bruno Haible  <bruno@clisp.org>
110744         * lib/stpncpy.h (gnu_stpncpy): New declaration.
110745         (stpncpy): Define as alias for gnu_stpncpy.
110746         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
110748 2003-09-25  Simon Josefsson  <jas@extundo.com>
110750         * lib/xgetdomainname.h: New file.
110751         * lib/xgetdomainname.c: New file.
110753 2003-09-25  Simon Josefsson  <jas@extundo.com>
110754             Bruno Haible  <bruno@clisp.org>
110756         * modules/getdomainname: New file.
110757         * modules/xgetdomainname: New file.
110758         * MODULES.html.sh (func_all_modules): Add getdomainname,
110759         xgetdomainname.
110761 2003-09-25  Simon Josefsson  <jas@extundo.com>
110762             Bruno Haible  <bruno@clisp.org>
110764         * m4/getdomainname.m4: New file.
110766 2003-09-25  Simon Josefsson  <jas@extundo.com>
110767             Bruno Haible  <bruno@clisp.org>
110769         * lib/getdomainname.h: New file.
110770         * lib/getdomainname.c: New file.
110772 2003-09-25  Karl Berry  <karl@gnu.org>
110774         * lib/argp-fmtstream.c, argp-help.c: update from libc.
110776 2003-09-25  Karl Berry  <karl@gnu.org>
110778         * config/install-sh: update from automake.
110780 2003-09-25  Bruno Haible  <bruno@clisp.org>
110782         * modules/version-etc-2: New file, from modules/version-etc with
110783         modifications.
110784         * MODULES.html.sh (func_all_modules): Add version-etc-2.
110786 2003-09-25  Bruno Haible  <bruno@clisp.org>
110788         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
110789         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
110791 2003-09-24  Simon Josefsson  <jas@extundo.com>
110793         * modules/xgethostname: Add xgethostname.h.
110795 2003-09-24  Paul Eggert  <eggert@twinsun.com>
110797         * lib/linebuffer.c (freebuffer): Don't free the argument, just
110798         the buffer associated with the argument.  Bug reported by
110799         Simon Josefsson.
110801 2003-09-24  Paul Eggert  <eggert@twinsun.com>
110803         * README: Document assumptions that 'int' is at least 32 bits
110804         wide, that integer arithmetic is 2's complement without overflow,
110805         that there are no holes in integer values, that adding sizes of
110806         two nonoverlapping objects can't overflow, and that all-bits-zero
110807         yields scalar zero.  Fix spelling and capitalization typos.
110809 2003-09-19  Karl Berry  <karl@gnu.org>
110811         * lib/argp.h: update from libc.
110813 2003-09-17  Paul Eggert  <eggert@twinsun.com>
110815         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
110816         to avoid spurious warnings like "AC_RUN_IFELSE was called before
110817         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
110819 2003-09-17  Paul Eggert  <eggert@twinsun.com>
110821         * gnulib-tool: Use "test -h", not "test -L", for portability
110822         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
110823         (tags_regexp): Remove, since \| doesn't conform to POSIX.
110824         (sed_extract_prog): Issue s commands one-by-one, rather than
110825         using \| in one s command.
110827 2003-09-16  Paul Eggert  <eggert@twinsun.com>
110829         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
110830         input error, instead of returning NULL the next time we are called
110831         (and therefore losing track of errno).
110833 2003-09-16  Bruno Haible  <bruno@clisp.org>
110835         * gnulib-tool (func_create_testdir): Warn about duplicated
110836         dependencies.
110838 2003-09-15  Paul Eggert  <eggert@twinsun.com>
110840         * modules/argmatch, modules/fatal, modules/obstack,
110841         modules/xalloc, modules/xgethostname: Sort dependencies by
110842         importance, not alphabetically.
110844 2003-09-15  Paul Eggert  <eggert@twinsun.com>
110846         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
110847         fails, so that the caller gets the proper errno.
110849         * lib/readutmp.c (read_utmp): Likewise.
110850         Check for fstat error.  Close stream and free storage
110851         when failing.
110853 2003-09-14  Karl Berry  <karl@gnu.org>
110855         * config/srclist.txt (strdup.c): disable for c89 changes.
110857 2003-09-14  Jim Meyering  <jim@meyering.net>
110859         * lib/getloadavg.c: Correct cpp indentation.
110860         * lib/strdup.c: Likewise.
110861         * lib/vasnprintf.c: Likewise.
110863 2003-09-14  Bruno Haible  <bruno@clisp.org>
110865         * modules/fwriteerror: New file.
110866         * MODULES.html.sh (func_all_modules): Add fwriteerror.
110868 2003-09-14  Bruno Haible  <bruno@clisp.org>
110870         * lib/fwriteerror.h: New file.
110871         * lib/fwriteerror.c: New file.
110873 2003-09-12  Paul Eggert  <eggert@twinsun.com>
110875         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
110876         modules/xgethostname, modules/xalloc: Depend on exit.
110878 2003-09-12  Paul Eggert  <eggert@twinsun.com>
110880         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
110882         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
110883         and AC_MINIX, too, so that their extensions are available.
110885         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
110886         This macro has been superseded by gl_BACKUPFILE.
110888         More patches to assume C89 or better.
110890         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
110892         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
110893         unconditionally.
110894         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
110895         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
110896         Include <string.h>, <stdlib.h> unconditionally.
110897         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
110898         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
110899         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
110900         headers or for string.h.
110901         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
110902         or strtoul.
110904         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
110905         headers.
110906         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
110907         * m4/userspec.m4 (gl_USERSPEC): Likewise.
110908         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
110909         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
110910         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
110911         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
110912         memcpy, memset.
110913         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
110914         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
110915         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
110916         strtol.
110917         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
110918         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
110919         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
110920         strtoul.
110922 2003-09-12  Paul Eggert  <eggert@twinsun.com>
110924         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
110925         * lib/obstack.c [!defined _LIBC]: Likewise.
110926         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
110927         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
110928         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
110930         More changes to assume C89 or better.
110932         * lib/error.c (error_tail): Assume vprintf.
110934         * lib/argmatch.c (getenv): Remove decl.
110935         * lib/progreloc.c (get_full_program_name): Define via prototype.
110936         * lib/setenv.c (clearenv): Likewise.
110937         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
110938         needed.
110939         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
110940         (malloc, memcpy): Remove decls.
110941         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
110942         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
110943         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
110944         (memcpy): Remove macro.
110945         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
110946         (__P): Remove.  All uses removed.
110947         (PTR): Remove.  All uses changed to void *.
110948         (CHAR_BIT, NULL): Remove.
110949         (spaces, zeros, memset_space, memset_zero)
110950         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
110951         Remove.
110952         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
110953         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
110954         Define with prototype.
110955         Remove now-unnecessary prototype decl.
110956         (extra_args_spec): Assume ANSI C.  All uses changed.
110957         (extra_args_spec_iso): Remove.
110958         (my_strftime, emacs_strftimeu): Define via prototype.
110959         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
110960         unconditionally.
110961         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
110962         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
110963         (strtoul, strtol): Remove decls.
110964         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
110965         LONG_MAX): Remove.
110966         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
110967         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
110968         (LOCALE_PARAM_PROTO): New macro.
110969         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
110970         (INTERNAL (strtol), strtol): Define with a prototype.
110971         (PARAMS): Remove.  All uses removed.
110972         * lib/tempname.c: Include <string.h> unconditionally.
110973         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
110974         * lib/xgethostname.c (main): Define with a prototype.
110975         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
110976         Include <stdlib.h> unconditionally.
110977         (calloc, malloc, realloc, free): Remove decls.
110978         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
110979         Include <stdlib.h> unconditionally.  Sort include file names.
110980         (strtod): Remove.
110981         (xstrtod): Define with a prototype.
110982         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
110983         (strtol, strtoul): Remove decls.
110985 2003-09-11  Paul Eggert  <eggert@twinsun.com>
110987         More patches to assume C89 or better.
110988         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
110989         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
110990         string.h, memchr, STDC_HEADERS.
110992 2003-09-11  Paul Eggert  <eggert@twinsun.com>
110994         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
110995         Include <stdlib.h>, <string.h> unconditionally.
110996         Remove now-unnecessary cast to char *.
110997         * lib/strnlen.c: Include <string.h> unconditionally.
110998         * lib/yesno.c (yesno): Define with a prototype.
111000 2003-09-11  Bruno Haible  <bruno@clisp.org>
111002         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
111004 2003-09-10  Jim Meyering  <jim@meyering.net>
111006         * lib/error.c: Correct indentation of cpp directives.
111008 2003-09-10  Bruno Haible  <bruno@clisp.org>
111010         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
111011         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
111012         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
111013         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
111014         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
111015         <stdlib.h> and <string.h> checks.
111016         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
111017         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
111019 2003-09-10  Bruno Haible  <bruno@clisp.org>
111021         * lib/strcspn.c: Include <string.h> unconditionally.
111022         * lib/strpbrk.c: Include <string.h> unconditionally.
111023         * lib/strstr.c: Include <string.h> unconditionally.
111024         * lib/unicodeio.c: Include <string.h> unconditionally.
111025         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
111026         * lib/unsetenv.c: Likewise.
111027         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
111028         * lib/yesno.c: Include <stdlib.h> unconditionally.
111029         (rpmatch): Add prototype.
111031 2003-09-09  Paul Eggert  <eggert@twinsun.com>
111033         More patches to assume C89 or better.
111034         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
111035         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
111036         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
111037         or for string.h.
111038         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
111039         stdlib.h.
111040         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
111041         C headers.
111042         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
111043         string.h.
111044         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
111045         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
111046         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
111047         or for string.h.
111048         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
111049         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
111050         C headers.
111051         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
111052         memcpy.
111053         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
111054         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
111055         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
111056         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
111057         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
111058         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
111059         string.h, free.
111060         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
111061         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
111062         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
111063         C headers, or for string.h.
111064         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
111065         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
111066         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
111067         headers, memory.h, stdlib.h, string.h, strings.h.
111068         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
111069         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
111070         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
111071         strchr.
111072         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
111073         headers, memory.h, string.h.
111074         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
111075         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
111076         free.
111077         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
111078         headers.
111079         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
111080         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
111081         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
111082         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
111083         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
111085 2003-09-09  Paul Eggert  <eggert@twinsun.com>
111087         More K&R removal.
111089         * lib/acosl.c (main): Use a prototype.
111090         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
111091         tanl.c: Likewise.
111093         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
111095         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
111096         (getopt, etopt_long, getopt_long_only, _getopt_internal)
111097         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
111098         with a prototype.
111099         * lib/getopt.c (const): Remove macro.
111100         Include <string.h> unconditionally.
111101         (my_index): Remove; all uses changed to strchr.
111102         (strlen): Remove decl.
111103         (exchange): Remove forward decl; no longer needed.
111104         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
111105         Define with prototype.
111106         * lib/getopt1.c (const): Remove macro.
111107         (getopt_long, getopt_long_only, main): Define with prototype.
111109         * lib/getugroups.c: Include <string.h> unconditionally.
111111         * lib/getusershell.c: Include <stdlib.h> unconditionally.
111112         (getusershell, setusershell, endusershell, readname, main):
111113         Define with prototypes.
111115         * lib/group-member.c: Include group-member.h first.
111116         Include <stdlib.h> unconditionally.
111118         * lib/hard-locale.c: Include hard-locale.h first.
111119         Include <stdlib.h>, <string.h> unconditionally.
111121         * lib/hash.c (free, malloc): Remove decls.
111122         Include <stdlib.h> unconditionally.
111124         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
111125         (getenv): Do not declare.
111127         * lib/idcache.c: Include <string.h> unconditionally.
111129         * lib/long-options.c: Include long-options.h first, to test interface.
111130         Include <stdlib.h> unconditionally.
111132         * lib/makepath.c: Include makepath.h first, to test interface.
111133         Include <stdlib.h> and <string.h> unconditionally.
111135         * lib/linebuffer.c: Include <stdlib.h>.
111136         (free): Remove decl.
111138         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
111139         stddef.h. rpl_malloc returns void *, not char *.
111140         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
111141         prototype.
111143         * lib/md5.h: Include <limits.h> unconditionally.
111144         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
111145         (__P): Remove; all uses removed.
111146         * lib/md5.c: Include "md5.h" first.
111147         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
111148         md5_buffer, md5_process_bytes, md5_process_block):
111149         Define with prototypes.
111150         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
111151         * lib/sha.c: Include "sha.h" first.
111152         Include <stdlib.h>, <string.h> unconditionally.
111154         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
111155         * lib/memcmp.c (__ptr_t): Likewise.
111156         * lib/memrchr.c (__ptr_t): Likewise.
111157         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
111158         Include <string.h> unconditionally.
111159         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
111160         * lib/memchr.c: Include <stdlib.h> unconditionally.
111161         * lib/memchr.c (LONG_MAX): Remove.
111162         * lib/memrchr.c (LONG_MAX): Likewise.
111163         * lib/memchr.c (__memchr): Define via a prototype.
111164         * lib/memrchr.c (__memrchr): Likewise.
111165         * lib/memcmp.c (__P): Remove, and remove all uses.
111166         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
111167         Remove forward decls; no longer needed.
111168         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
111169         Use types required by C89 in prototype.
111171         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
111172         * lib/savedir.c: Likewise.
111173         * lib/mkdir.c (free): Remove decl.
111174         * lib/rmdir.c (rmdir): Define with a prototype.
111175         * lib/savedir.c: Include savedir.h first, to test interface.
111177         * lib/mktime.c (STDC_HEADERS): Remove.
111178         Include <stdlib.h>, <string.h> unconditionally.
111180         * lib/modechange.c: Include <stdlib.h> unconditionally.
111181         (malloc): Remove decl.
111183         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
111184         (free): Remove decl.
111186         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
111187         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
111188         (This type really should be intptr_t, but that's a C99ism.)
111189         (_obstack_memcpy): Remove: all uses changed to memcpy.
111190         Include <string.h> unconditionally.
111191         (struct obstack): Assume __STDC__ for types of members
111192         chunkfun, freefun, extra_arg.
111193         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
111194         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
111195         obstack_begin, obstack_specify_allocation,
111196         obstack_specify_allocation_with_arg, obstack_chunkfun,
111197         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
111198         Remove unprototyped decls and the macros that use them.
111199         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
111200         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
111201         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
111202         (defined __STDC__ && __STDC__)]:
111203         Remove nonprototyped code.
111204         Include <stdlib.h> unconditionally.
111205         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
111206         _obstack_allocated_p, _obstack_free, obstack_free,
111207         _obstack_memory_used, print_and_abort):
111208         Define using prototypes.
111209         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
111210         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
111211         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
111212         obstack_next_free, obstack_object_size, obstack_room) [0]:
111213         Remove unused, unprototyped code.
111215         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
111217         * lib/physmem.c (physmem_total, physmem_available, main): Define
111218         with prototypes.
111220         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
111221         (main): Define with a prototype.
111223         * lib/posixver.c (getenv): Remove decl.
111225         * lib/putenv.c (malloc): Returns void *, not char *.
111226         Include <string.h> unconditionally.
111227         (strchr, memcpy, NULL): Do not define.
111229         * lib/readtokens.c: Include readtokens.h first, to test interface.
111230         Include <stdlib.h>, <string.h> unconditionally.
111231         (init_tokenbuffer): Define with a prototype.
111233         * lib/regex.c (PARAMS): Remove.  All uses removed.
111234         All uses of _RE_ARGS removed, too.
111235         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
111236         unconditionally.
111237         (bzero): Assume memset exists.
111238         (memcmp, memcpy, NULL): Remove.
111239         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
111240         char, or assignments to local vars of type signed char.
111241         (init_syntax_once, PREFIX(extract_number_and_incr),
111242         PREFIX(print_partial_compiled_pattern),
111243         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
111244         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
111245         PREFIX(regex_grow_registers), PREFIX(regex_compile),
111246         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
111247         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
111248         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
111249         wcs_compile_range, byte_compile_range, truncate_wchar,
111250         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
111251         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
111252         count_mbs_length, wcs_re_match_2_internal,
111253         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
111254         PREFIX(alt_match_null_string_p),
111255         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
111256         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
111257         regfree, PREFIX(extract_number)): Define with prototype.  Remove
111258         now-unnecessary declaration, if any.
111259         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
111260         regcomp, regexec):
111261         Remove now-unnecessary casts among pointer types.
111262         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
111264         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
111265         (free): Remove decl.
111267         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
111269         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
111270         (free): Remove decl.
111272         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
111273         * lib/xgetcwd.c: Likewise.
111275         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
111276         (free): Remove decl.
111278         * lib/strchrnul.c (strchrnul): Define with a prototype.
111279         Fix bug: c_in was not converted to char before searching.
111281         The following changes are not K&R related:
111283         * lib/group-member.h: Include <sys/types.h>, so that this file is
111284         self-contained.
111285         * lib/makepath.h: Likewise.
111287         * lib/getusershell.c (readname, default_index, line_size, readname):
111288         Use size_t, not int, for sizes.
111289         (readname): If the size overflows, report an error instead of
111290         looping forever.
111292 2003-09-09  Paul Eggert  <eggert@twinsun.com>
111294         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
111295         libc.
111297 2003-09-09  Paul Eggert  <eggert@twinsun.com>
111299         * README: New section: portability guidelines.
111301 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
111303         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
111304         C89 spec.
111306 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
111308         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
111310 2003-09-08  Paul Eggert  <eggert@twinsun.com>
111312         Assume C89 or better; remove K&R cruft.
111313         A few of these changes were first proposed by Derek Robert Price
111314         in <http://mail.gnu.org/r/bug-gnulib/2003-07/msg00105.html>.
111316         * lib/addext.c: Include <string.h> unconditionally.
111317         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
111318         Don't declare getenv or malloc.
111320         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
111321         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
111322         (NULL): Remove.
111323         (find_stack_direction, alloca): Use prototypes.
111325         * lib/atexit.c (atexit): Define using a prototype.
111327         * lib/basename.c, dirname.c, stripslash.c:
111328         Include <string.h> unconditionally.
111330         * lib/bcopy.c: Include <stddef.h>.
111331         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
111333         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
111335         * lib/error.h (error, error_at_line, error_print_progname)
111336         [! (defined (__STDC__) && __STDC__)]: Remove decls.
111337         * lib/error.c: Include error.h first, to check interface.
111338         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
111339         (VA_START): Remove; all uses changeed to va_start.
111340         (exit, strerror): Remove decls.
111341         (error_print_progname): Prototype uncondionally.
111342         Don't include <errno.h>; no longer needed.
111343         (private_strerror): Remove.
111344         (error_tail): Always define.
111345         (error, error_at_line): Assume C89 or better; always use prototypes.
111346         * lib/fatal.c: Include "fatal.h" first, to test interface.
111347         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
111348         (VA_START): Remove; all uses changed to va_start.
111349         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
111350         this case.
111351         (exit): Remove decl.
111352         (fatal): Prototype unconditionally.  Assume va_start works.
111353         Abort at end, to pacify gcc.
111355         * lib/euidaccess.c (main): Define with a prototype.
111357         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
111359         * lib/exitfail.c: Include <stdlib.h> unconditionally.
111361         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
111362         prototypes.
111363         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
111364         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
111365         (getenv): Remove decl.
111366         (fnmatch): Define using a prototype.
111367         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
111368         (FCT): Define using a prototype.
111370         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
111372         * lib/gethostname.c: Include <stddef.h>.
111373         (gethostname): Define with prototype.  Length is size_t, not int.
111375 2003-09-08  Paul Eggert  <eggert@twinsun.com>
111377         Assume C89 or better; remove K&R cruft.
111378         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
111379         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
111380         string.h, getenv, malloc.
111381         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
111382         headers.
111383         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
111384         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
111385         do not check for strerror.
111386         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
111387         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
111388         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
111389         do not check for doprnt or vprintf.
111390         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
111391         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
111393 2003-09-08  Paul Eggert  <eggert@twinsun.com>
111395         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
111396         getversion.c should have been removed then, but was accidentally
111397         preserved.
111399         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
111400         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
111402 2003-09-08  Karl Berry  <karl@gnu.org>
111404         * config/config.sub, config.guess, srclistvars.sh: update from savannah
111405                 config, forget about prep.
111407         * config/depcomp, missing: update from automake.
111409 2003-09-07  Paul Eggert  <eggert@twinsun.com>
111411         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
111412         <http://mail.gnu.org/r/bug-gnulib/2003-09/msg00028.html>.
111414 2003-09-07  Paul Eggert  <eggert@twinsun.com>
111416         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
111417         copy_tm_result.  Bug reported by Simon Josefsson in
111418         <http://mail.gnu.org/r/bug-gnulib/2003-09/msg00028.html>.
111420 2003-09-06  Paul Eggert  <eggert@twinsun.com>
111422         * m4/time_r.m4: New file.
111423         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
111424         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
111425         is. Check for timegm declaration.
111426         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
111427         Do not check for gmtime_r.
111428         Replace mktime if __mktime_internal does not exist and if mktime
111429         hasn't been replaced already.
111431 2003-09-06  Paul Eggert  <eggert@twinsun.com>
111433         * lib/time_r.c, lib/time_r.h: New files.
111435         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
111436         __localtime_r.
111437         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
111438         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
111440         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
111441         __gmtime_r.
111442         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
111443         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
111444         Include <time_r.h>.
111446         * lib/timegm.c: Switch to glibc implementation, with the following
111447         changes:
111448         [defined HAVE_CONFIG_H]: Include <config.h>.
111449         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
111450         (__mktime_internal) [!defined _LIBC]: New decl.
111451         (__gmtime_r) [!defined _LIBC]: New macro and function.
111452         (timegm): Use a prototype, since gnulib assumes C89.
111453         Do not bother declaring tmp to be const, as it's not really usefu.
111454         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
111455         (timegm): Declare only if HAVE_DECL_TIMEGM.
111457 2003-09-06  Paul Eggert  <eggert@twinsun.com>
111459         * MODULES.html.sh (func_all_modules): Add time_r.
111460         * modules/time_r: New file.
111461         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
111462         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
111464 2003-09-03  Paul Eggert  <eggert@twinsun.com>
111466         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
111467         Bug reported by Lute Kamstra in
111468         <http://mail.gnu.org/r/bug-gnulib/2003-09/msg00003.html>.
111470         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
111471         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
111472         course with correspondingly smaller numbers for tomorrow and
111473         yesterday.  From Tadayoshi Funaba.  Originally installed into
111474         sh-utils on 1999-08-07, but the patch got lost (I guess during the
111475         coreutils merge?).
111477 2003-08-31  Simon Josefsson  <jas@extundo.com>
111479         * modules/timegm: New file.
111480         * MODULES.html.sh (func_all_modules): Add timegm.
111482 2003-08-31  Simon Josefsson  <jas@extundo.com>
111484         * m4/timegm.m4: New file.
111486 2003-08-31  Simon Josefsson  <jas@extundo.com>
111488         * lib/timegm.h: New file.
111489         * lib/timegm.c: New file.  Based on
111490         wget-1.8.2/src/http.c:mktime_from_utc.
111492 2003-08-31  Karl Berry  <karl@gnu.org>
111494         * lib/argp.h: update from libc.
111496 2003-08-28  Bruno Haible  <bruno@clisp.org>
111498         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
111499         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
111500         followed by '#define fnmatch fnmatch_posix' gives an error.
111502 2003-08-28  Bruno Haible  <bruno@clisp.org>
111504         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
111505         warning on QNX, which defines O_BINARY to 000000.
111507 2003-08-27  Jim Meyering  <jim@meyering.net>
111509         * m4/mkstemp.m4: Require that the system mkstemp be able to create
111510         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
111511         would fail after 32.  Reported by Danny Levinson.  Details here:
111512         http://mail.gnu.org/r/bug-coreutils/2003-08/msg00124.html
111514 2003-08-24  Bruno Haible  <bruno@clisp.org>
111516         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
111517         MSVC7 <stdio.h> is included later.
111519 2003-08-22  Simon Josefsson  <jas@extundo.com>
111521         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
111523 2003-08-20  Karl Berry  <karl@gnu.org>
111525         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
111527 2003-08-20  Bruno Haible  <bruno@clisp.org>
111529         * modules/progname: New file.
111530         * MODULES.html.sh (func_all_modules): Add progname.
111532 2003-08-20  Bruno Haible  <bruno@clisp.org>
111534         * lib/progname.h: New file, from GNU gettext.
111535         * lib/progname.c: New file, from GNU gettext.
111536         * lib/progreloc.c: New file, from GNU gettext.
111538 2003-08-19  Jim Meyering  <jim@meyering.net>
111540         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
111541         http://mail.gnu.org/r/bug-gnulib/2003-08/msg00155.html
111543 2003-08-19  Bruno Haible  <bruno@clisp.org>
111545         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
111546         more.
111548 2003-08-19  Bruno Haible  <bruno@clisp.org>
111550         * lib/xstrdup.c: Assume <string.h> exists.
111552 2003-08-18  Paul Eggert  <eggert@twinsun.com>
111554         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
111555         in makefile rules.
111557 2003-08-18  Jim Meyering  <jim@meyering.net>
111559         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
111560         * m4/lib-ld.m4: Likewise.
111562 2003-08-18  Jim Meyering  <jim@meyering.net>
111564         * lib/setenv.h: Indent nested cpp directive.
111565         * lib/vasnprintf.c: Remove trailing blanks.
111567 2003-08-17  Simon Josefsson  <jas@extundo.com>
111569         * modules/xstrndup: New file.
111570         * MODULES.html.sh (func_all_modules): Add xstrndup.
111572 2003-08-17  Simon Josefsson  <jas@extundo.com>
111574         * modules/argp: Fix autoconf macro name. Add more dependencies.
111576 2003-08-17  Simon Josefsson  <jas@extundo.com>
111578         * m4/xstrndup.m4: New file.
111580 2003-08-17  Simon Josefsson  <jas@extundo.com>
111582         * m4/argp.m4: New file.
111584 2003-08-17  Simon Josefsson  <jas@extundo.com>
111585             Bruno Haible  <bruno@clisp.org>
111587         * lib/xstrndup.h: New file.
111588         * lib/xstrndup.c: New file.
111590 2003-08-17  Bruno Haible  <bruno@clisp.org>
111592         * modules/strndup (Files, Include): Add lib/strndup.h.
111594 2003-08-17  Bruno Haible  <bruno@clisp.org>
111596         * modules/euidaccess (Files): Add lib/euidaccess.h.
111598 2003-08-17  Bruno Haible  <bruno@clisp.org>
111600         * lib/strndup.h: New file.
111602 2003-08-17  Bruno Haible  <bruno@clisp.org>
111604         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
111605         like AC_GNU_SOURCE.
111606         * modules/extensions (configure.ac): Comment out the invocation of
111607         gl_USE_SYSTEM_EXTENSIONS.
111609 2003-08-16  Paul Eggert  <eggert@twinsun.com>
111611         Merges from coreutils, etc.
111612         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
111613         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
111614         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
111615         fixing a typo.
111616         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
111617         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
111619 2003-08-16  Paul Eggert  <eggert@twinsun.com>
111621         Document merge from coreutils.
111622         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
111623         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
111624         * modules/utime: Add m4/utimes-null.m4.
111626 2003-08-16  Paul Eggert  <eggert@twinsun.com>
111628         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
111629         space, undoing this 2003-08-12 change:
111630         <http://mail.gnu.org/r/bug-gnulib/2003-08/msg00080.html>
111632 2003-08-16  Paul Eggert  <eggert@twinsun.com>
111634         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
111635         strtoul.c from libc, undoing this 2003-08-12 change:
111636         <http://mail.gnu.org/r/bug-gnulib/2003-08/msg00080.html>
111638 2003-08-16  Jim Meyering  <jim@meyering.net>
111640         Merges from coreutils.
111641         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
111642         prefix.  Adjust cache variables similarly.  Create 500 rather than
111643         just 300 files, to exercise bug on Darwin6.5, too.
111644         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
111645         $missing_dir.
111646         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
111647         AM_SYS_POSIX_TERMIOS.
111648         Reported by mkc@mathdogs.com.
111649         Also change use of $am_cv_sys_posix_termios
111650         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
111651         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
111652         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
111653         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
111654         in /proc/mounts until it finds one with matching device number.  This
111655         is unnecessary when the FILE argument *is* a mount point.  No stat call
111656         is necessary in that case.  So, disable the statvfs-testing code on
111657         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
111658         as RedHat bug# 84846.
111659         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
111660         to 1MB, so as not to render systems with no stack size limit (e.g.,
111661         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
111662         Include <unistd.h>.  On some systems,
111663         it is required for the definition of _SC_PAGESIZE.
111665 2003-08-16  Jim Meyering  <jim@meyering.net>
111667         Merge from coreutils.
111668         * lib/xstrtoimax.c: #else #if -> #elif.
111669         * lib/xstrtoumax.c: Likewise.
111671 2003-08-16  Jim Meyering  <jim@meyering.net>
111673         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
111674         * m4/utimes.m4: Removed.
111675         * m4/utimes-null.m4: Renamed from utimes.m4.
111677         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
111678         to 1MB, so as not to render systems with no stack size limit (e.g.,
111679         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
111680         Include <unistd.h>.  On some systems,
111681         it is required for the definition of _SC_PAGESIZE.
111683 2003-08-16  Jim Meyering  <jim@meyering.net>
111684         and Paul Eggert  <eggert@cs.ucla.edu>
111686         Merges from coreutils, etc.
111688         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
111689         using the latest version from cvs.  This avoids problems with #line
111690         directives using a vendor (Sun) compiler.
111691         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
111692         Don't set GETGROUPS_LIB here; now it's
111693         done via getgroups.m4's wrapper function.
111694         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
111695         rather than just in sh-util/configure.in, so that the
111696         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
111697         same.
111698         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
111699         AC_FUNC_GETLOADAVG where to find getloadavg.c.
111700         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
111701         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
111702         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
111703         Remove code that is now done by the newly-required macros.
111704         Append $(EXEEXT) to DF_PROG.
111705         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
111706         Do not invoke or require the following here,
111707         since prereq.m4 or some gnulib .m4 now does this for us:
111708         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
111709         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
111710         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
111711         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
111712         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
111713         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
111714         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
111715         AC_FUNC_OBSTACK.
111716         Do not replace the following functions, as this is now the job
111717         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
111718         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
111719         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
111720         atexit getpass, strdup, getpagesize.
111721         Replace 'raise'.
111722         Do not check for the following functions, as this is now the job
111723         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
111724         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
111725         setregid.
111726         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
111727         Check for sys/sysctl.h.
111728         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
111729         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
111730         of checking for ssize_t ourselves.
111732         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
111733         Require every macro that gnulib/modules/* suggests for us.
111734         (jm_PREREQ_ADDEXT): New macro.
111735         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
111736         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
111738         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
111739         (gl_PHYSMEM): Use it.
111740         Also check for `table' function.
111741         Check for new headers and functions.
111742         Add check for sys/sysmp.h.
111743         With suggestions from Kaveh Ghazi.
111744         Ignore headers that are present but cannot be compiled.  This
111745         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
111746         C 5.4.
111748 2003-08-15  Paul Eggert  <eggert@twinsun.com>
111750         Document merge from coreutils.
111751         * modules/userspec: Depend on posixver.
111752         * modules/strftime: Depend on tzset.
111754 2003-08-15  Paul Eggert  <eggert@twinsun.com>
111756         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
111757         rather than tab, after '#' in shell-script copyright notices.
111758         Suggested by Bruno Haible.
111760 2003-08-15  Paul Eggert  <eggert@twinsun.com>
111762         * config/srclist-update: Use three spaces, rather than tab, after '#'
111763         in shell-script copyright notices.  Suggested by Bruno Haible.
111764         Remove unnecessary parenthesization in regular expression.
111766 2003-08-15  Jim Meyering  <jim@meyering.net>
111768         Merge from coreutils.
111769         * lib/xgethostname.c: Include <stdlib.h>.
111770         (xghostname): Don't exit for anything other than memory-related
111771         failure; just return NULL.
111772         * lib/userspec.c: Include "posixver.h".
111773         (parse_user_spec): Accept `.' as a separator only
111774         in pre-POSIX-200112 mode.
111775         * lib/strtoimax.c: Use #elif rather than #else #if.
111776         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
111777         Remove function, now that we can rely on a working tzset function.
111778         [!_LIBC]: Ensure that the required autoconf test has been run.
111779         [!defined _NL_CURRENT && HAVE_STRFTIME]:
111780         Use underlying_strftime for %r.
111781         * lib/sha.c: Merge in some clean-up and optimization changes from
111782         glibc.
111783         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
111784         Ensure that it is a multiple of 64.
111785         Rearrange loop exit tests so as to avoid performing an
111786         additional fread after encountering an error or EOF.
111787         * lib/realloc.c: Update copyright date.
111789 2003-08-15  Jim Meyering  <jim@meyering.net>
111790         and Paul Eggert  <eggert@twinsun.com>
111792         Merge from coreutils.
111793         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
111794         member but strut utmpx does not.  Needed for AIX 4.3.3.
111795         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
111797 2003-08-15  Jim Meyering  <jim@meyering.net>
111798         and Paul Eggert  <eggert@cs.ucla.edu>
111800         Merges from coreutils, etc.
111801         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
111802         Require gl_FUNC_TZSET_CLOBBER.
111803         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
111804         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
111805         members.
111807 2003-08-14  Paul Eggert  <eggert@twinsun.com>
111809         Help the merge from coreutils.
111810         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
111811         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
111812         * m4/tzset.m4: Use it too.
111814 2003-08-14  Paul Eggert  <eggert@twinsun.com>
111816         * modules/tzset: New file.
111818 2003-08-14  Jim Meyering  <jim@meyering.net>
111820         Merges from coreutils.
111821         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
111822         variable names, rather than @FNMATCH_H@.
111823         * modules/alloca: Likewise for $(ALLOCA_H).
111825         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
111826         the three copies of the literal target, `fnmatch.h'.
111827         * modules/alloca (alloca.h): Likewise.
111829 2003-08-14  Jim Meyering  <jim@meyering.net>
111831         Merge from coreutils.
111832         * m4/tzset.m4: New file.
111833         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
111834         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
111835         otherwise, AIX 5.1 systems would end up using the latter.
111836         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
111837         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
111838         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
111839         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
111841 2003-08-14  Jim Meyering  <jim@meyering.net>
111843         Merge from coreutils.
111844         * lib/obstack.h: Whitespace changes.
111845         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
111846         and xcalloc return values.
111847         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
111848         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
111849         hang on OSF/1 5.1 for DIR on both local and remote file systems.
111850         Reported by (and fix confirmed by) Nelson H. F. Beebe.
111851         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
111852         error from mntctl.
111853         Use mntctl's return value to drive the entry-processing loop, since
111854         we can't rely on the value of the vmt_length member in the last
111855         entry.  On some systems doing so could result in exhausting
111856         virtual memory.  Based in part on a patch from Mike Jetzer.
111858 2003-08-14  Jim Meyering  <jim@meyering.net>
111859         and Paul Eggert  <eggert@twinsun.com>
111861         Merges from coreutils, plus other fixes.
111862         * lib/physmem.c: Merge in portability changes from gcc/libiberty
111863         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
111864         for credits and details.  Thanks to Kaveh Ghazi for helping
111865         to keep these files in sync.
111866         (ARRAY_SIZE): Define it.
111867         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
111868         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
111869         (memcasecmp): Don't assume size_t fits in unsigned int.
111870         Remove casts and duplicate code.
111871         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
111872         (memcpy): Remove definition.
111873         Merge in some clean-up and optimization changes from glibc.
111874         [BLOCKSIZE]: Move definition to top of file.
111875         Ensure that it is a multiple of 64.
111876         Rearrange loop exit tests so as to avoid performing an
111877         additional fread after encountering an error or EOF.
111878         * lib/md5.h (md5_uintptr): Define.
111879         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
111880         return to the initial working directory.  Preserve errno
111881         for caller.
111882         * lib/idcache.c: Include "xalloc.h".
111883         (xmalloc, xrealloc): Remove decls.
111884         (getuser): Remove casts no longer required in C89.
111885         * lib/human.c: Include stdio.h, for sprintf.
111886         * lib/group-member.c: Include "xalloc.h".
111887         (xmalloc, xrealloc): Remove decls.
111888         (get_group_info): Remove casts no longer required in C89.
111889         * lib/getusershell.c (readname): Remove casts no longer required in
111890         C89.
111891         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
111892         * lib/getline.c: Whitespace fix, from coreutils.
111894 2003-08-13  Paul Eggert  <eggert@twinsun.com>
111896         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
111897         Check for isascii.
111899         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
111900         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
111901         Undo previous (whitespace-only) change.
111903 2003-08-13  Paul Eggert  <eggert@twinsun.com>
111905         * lib/exclude.c: Include <ctype.h>
111906         (IN_CTYPE_DOMAIN): New macro.
111907         (is_space): New fn.
111908         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
111909         and empty lines.
111911         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
111912         Undo previous (whitespace-only) change.
111914 2003-08-13  Paul Eggert  <eggert@twinsun.com>
111916         * config/srclist-update: Change update back to the old behavior,
111917         leaving whitespace alone.  Use one 'sed' command rather than a
111918         pipeline.
111919         (fixlicense): Now a variable, not a function.
111920         (remove_trailing_blanks): Remove.
111921         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
111922         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
111923         Undo previous (whitespace-only) change.
111925 2003-08-12  Paul Eggert  <eggert@twinsun.com>
111927         Merge from coreutils.
111928         * modules/euidaccess: Add lib_SOURCES, include for new
111929         file euidaccess.h
111931 2003-08-12  Paul Eggert  <eggert@twinsun.com>
111933         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
111934         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
111935         Normalize leading white space and remove trailing white space.
111937         Merge from coreutils
111938         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
111940         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
111941         0.12.1.  These files are now being upgraded automatically by
111942         ../config/srclist-update.
111944 2003-08-12  Paul Eggert  <eggert@twinsun.com>
111946         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
111947         Normalize leading white space and remove trailing white space.
111948         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
111949         notice, as per ../config/srclist-update.
111951         Merge from coreutils.
111952         * lib/euidaccess.h: New file.
111953         * lib/euidaccess.c: Include it.
111954         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
111955         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
111956         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
111958 2003-08-12  Paul Eggert  <eggert@twinsun.com>
111960         * config/srclist-update: Add copyright notice.
111961         (remove_id_lines, remove_trailing_blanks): New constants.
111962         (fixfile): Use them to normalize spacing a bit in copied files.
111963         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
111964         Normalize leading white space and remove trailing white space.
111966         * config/texinfo.tex: Sync with texinfo.
111968         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
111969         strtoul.c from libc, to merge coreutils whitespace changes.
111971         * config/srclist.txt: Get the following m4 files from gettext:
111972         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
111973         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
111974         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
111975         wint_t.m4.
111977 2003-08-12  Karl Berry  <karl@gnu.org>
111979         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
111980         been made.
111982 2003-08-11  Paul Eggert  <eggert@twinsun.com>
111984         * modules/gnu-source, m4/gnu-source.m4:
111985         Remove; we're assuming Autoconf 2.54 or later now.
111986         Suggested by Bruno Haible.
111987         * MODULES.html.sh (func_all_modules): Remove gnu-source.
111989 2003-08-11  Bruno Haible  <bruno@clisp.org>
111991         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
111993 2003-08-11  Bruno Haible  <bruno@clisp.org>
111995         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
111996         (vasnprintf): Use it instead of wcslen.
111998 2003-08-11  Bruno Haible  <bruno@clisp.org>
112000         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
112001         value to ensure that _Bool promotes to int. Use #define for _Bool when
112002         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
112004 2003-08-10  Karl Berry  <karl@gnu.org>
112006         * lib/regex.h: update from libc (whitespace fix).
112008 2003-08-09  Paul Eggert  <eggert@twinsun.com>
112010         Merge some files from coreutils.  These changes were
112011         originally made by Jim Meyering.
112012         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
112013         many older Unixes require this.
112014         * lib/alloca.c (alloca): Remove cast to argument of free;
112015         no longer needed in C89.
112016         * lib/alloca_.h, regex.h: Fix white space to match
112017         what GNU indent does.
112019 2003-08-09  Paul Eggert  <eggert@twinsun.com>
112021         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
112022         apparently Emacs's Unicode mode got confused before my 2003-08-05
112023         checkin.
112025 2003-08-08  Paul Eggert  <eggert@twinsun.com>
112027         * m4/extensions.m4: New file.
112028         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
112029         Require gl_USE_SYSTEM_EXTENSIONS.
112030         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
112031         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
112033 2003-08-08  Paul Eggert  <eggert@twinsun.com>
112035         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
112036         * modules/extensions, modules/gnu-source: New files.
112037         * modules/timespec, modules/unlocked-io: Depend on extensions.
112039 2003-08-07  Paul Eggert  <eggert@twinsun.com>
112041         * modules/restrict: New file.
112042         * MODULES.html.sh (func_all_modules): Add restrict.
112043         * modules/regex: Depend on restrict.
112045 2003-08-07  Paul Eggert  <eggert@twinsun.com>
112047         * m4/restrict.m4: New file.
112048         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
112050 2003-08-07  Bruno Haible  <bruno@clisp.org>
112052         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
112053         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
112055 2003-08-07  Bruno Haible  <bruno@clisp.org>
112057         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
112058         makes the module 'getndelim2' compatible with the module 'getline'.
112060 2003-08-05  Paul Eggert  <eggert@twinsun.com>
112062         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
112063         byte with "\201" to avoid glitches when editing that source file
112064         with multi-gnome-terminal.
112066 2003-08-05  Paul Eggert  <eggert@twinsun.com>
112068         * lib/bumpalloc.h: Remove.
112070 2003-08-05  Paul Eggert  <eggert@twinsun.com>
112072         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
112073         * modules/bumpalloc: Remove.
112075 2003-08-04  Paul Eggert  <eggert@twinsun.com>
112077         * lib/getloadavg.c: Change copyright notice and spacing to conform to
112078         GNU coding style.
112080         Merge from coreutils.
112081         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
112082         1. From glibc.
112083         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
112084         from Karl Berry, implemented by Jim Meyering.
112085         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
112086         from Dmitry V. Levin.
112087         Remove anachronistic cast of xrealloc.
112088         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
112089         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
112090         type. Otherwise, it wouldn't compile with at least /bin/cc on
112091         ymp-cray-unicos9.0.2.X.
112092         Combine two mostly-identical uses of alloca into one.
112093         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
112095 2003-08-04  Dave Love  <d.love@dl.ac.uk>
112097         [From Emacs.]
112099         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
112100         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
112101         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
112102         obsolete NLIST_NAME_UNION.
112103         [__GNU__]: Undef BSD and FSCALE.
112104         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
112106 2003-08-03  Paul Eggert  <eggert@twinsun.com>
112108         * lib/stdbool_.h (_Bool): Make it signed char, instead of
112109         an enum type, so that it's guaranteed to promote to int.  See:
112110         <http://mail.gnu.org/r/bug-gnulib/2003-07/msg00124.html>
112112 2003-08-03  Karl Berry  <karl@gnu.org>
112114         * config/depcomp: update from automake.
112116 2003-07-31  Paul Eggert  <eggert@twinsun.com>
112118         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
112119         (strerror): Don't assume that a printable int fits in 14 bytes.
112121 2003-07-31  Bruno Haible  <bruno@clisp.org>
112123         * modules/getpass-gnu: New file.
112124         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
112126 2003-07-31  Bruno Haible  <bruno@clisp.org>
112128         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
112130 2003-07-24  Karl Berry  <karl@gnu.org>
112132         * config/missing: update from automake.
112134 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
112135             Bruno Haible  <bruno@clisp.org>
112137         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
112138         * lib/getline.c (getline, getdelim): Likewise.
112139         Remove _GNU_SOURCE define; now it's defined in config.h through
112140         m4/getline.m4.
112142 2003-07-23  Karl Berry  <karl@gnu.org>
112144         * config/config.sub: update from prep.
112146 2003-07-22  Paul Eggert  <eggert@twinsun.com>
112148         * modules/xalloc (Depends-on): Add exitfail.
112149         * modules/xmemcoll: Likewise.
112151 2003-07-22  Paul Eggert  <eggert@twinsun.com>
112153         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
112154         over-parenthesization in macros.
112156         Sync with coreutils.
112158         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
112159         required by C99.
112161         Use `exit_failure' for xalloc and xmemcoll instead of their own
112162         private exit-failure variables.
112163         * lib/xalloc.h (xalloc_exit_failure): Remove.
112164         * lib/xmalloc.c: Likewise.  Include exitfail.h.
112165         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
112166         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
112167         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
112168         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
112170 2003-07-20  Jim Meyering  <jim@meyering.net>
112172         * modules/closeout (Depends-on): Add exitfail.
112173         Suggestion from Bruno Haible.
112175 2003-07-19  Karl Berry  <karl@gnu.org>
112177         * config/config.sub: update from prep.
112179 2003-07-18  Paul Eggert  <eggert@twinsun.com>
112181         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
112182         Remove.
112183         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
112184         to test that it can stand by itself.  Include "exitfail.h".
112185         Clients should set exit_failure instead.
112186         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
112188 2003-07-18  Bruno Haible  <bruno@clisp.org>
112190         * modules/getndelim2: New file.
112191         * modules/getline: Share files with module getndelim2.
112192         * modules/getnline: Depend on getndelim2 instead of sharing files with
112193         it. Add getnline.c to lib_SOURCES.
112194         * MODULES.html.sh (func_all_modules): Add getndelim2.
112196 2003-07-18  Bruno Haible  <bruno@clisp.org>
112198         * m4/getndelim2.m4: New file.
112199         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
112200         invoke gl_PREREQ_GETNDELIM2.
112201         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
112202         gl_PREREQ_GETNDELIM2.
112203         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
112204         gl_GETNDELIM2.
112206 2003-07-18  Bruno Haible  <bruno@clisp.org>
112208         * lib/getndelim2.h: New file.
112209         * lib/getndelim2.c: Make into a module of its own. Include config.h,
112210         getndelim2.h.
112211         (getndelim2): Make non-static. Change return type to ssize_t.
112212         * lib/getline.h: Change argument names.
112213         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
112214         * lib/getnline.c: Include getndelim2.h.
112216 2003-07-18  Andreas Schwab  <schwab@suse.de>
112218         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
112220 2003-07-17  Karl Berry  <karl@gnu.org>
112222         * config/config.sub: update from prep.
112224 2003-07-17  Bruno Haible  <bruno@clisp.org>
112226         * modules/getnline: New file.
112227         * modules/getline: Add lib/getndelim2.c to source file list.
112228         * MODULES.html.sh (func_all_modules): Add getnline.
112230 2003-07-17  Bruno Haible  <bruno@clisp.org>
112232         * m4/getnline.m4: New file.
112234 2003-07-17  Bruno Haible  <bruno@clisp.org>
112236         * m4/Makefile.am.in: Remove file.
112237         * m4/Makefile.am: Remove file.
112238         * m4/Makefile.in: Remove file.
112240 2003-07-17  Bruno Haible  <bruno@clisp.org>
112242         * lib/getnline.h: New file.
112243         * lib/getnline.c: New file.
112244         * lib/getndelim2.c: New file, extracted from getline.c.
112245         (getndelim2): Renamed from getdelim2, with added nmax argument.
112246         * lib/getline.c: Include getndelim2.c.
112247         (getdelim2): Moved out to getndelim2.c.
112248         (getline, getdelim): Update.
112250 2003-07-17  Bruno Haible  <bruno@clisp.org>
112252         * lib/Makefile.am: Remove file.
112253         * lib/Makefile.in: Remove file.
112255 2003-07-17  Bruno Haible  <bruno@clisp.org>
112257         * configure.in: Remove file.
112258         * Makefile.in: Remove file.
112260 2003-07-17  Bruno Haible  <bruno@clisp.org>
112262         * MODULES.html.sh: Put the </BODY> right before </HTML>.
112264 2003-07-16  Karl Berry  <karl@gnu.org>
112266         * config/srclist-update: was running fixlicense twice, which caused
112267                 texinfo.tex to be nullified for some reason.  Simplify,
112268                 $gplsrc is no longer needed as far as I can see?
112270 2003-07-16  Jim Meyering  <jim@meyering.net>
112272         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
112274 2003-07-15  Paul Eggert  <eggert@twinsun.com>
112276         * config/srclist.txt: Get the following files from gettext-runtime/intl
112277         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
112278         ref-del.sin.  From Bruno Haible.
112279         * config/srclist-update (fixfile): Change grep pattern again, since the
112280         previous fix didn't work (there was another trailing $).  Use
112281         '[$]' to escape the $s.
112283 2003-07-15  Karl Berry  <karl@gnu.org>
112285         * lib/vasnprintf.c: update from gettext.
112287 2003-07-15  Karl Berry  <karl@gnu.org>
112289         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
112290         gets expanded when surrounded by '$'.
112292 2003-07-15  Jim Meyering  <jim@meyering.net>
112294         * modules/save-cwd: Don't depend on error.  From Derek Price.
112296 2003-07-15  Jim Meyering  <jim@meyering.net>
112298         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
112300 2003-07-14  Simon Josefsson  <jas@extundo.com>
112302         * modules/mempcpy: New file.
112303         * MODULES.html.sh (func_all_modules): Add mempcpy.
112305 2003-07-14  Simon Josefsson  <jas@extundo.com>
112307         * m4/mempcpy.m4: New file.
112309 2003-07-14  Simon Josefsson  <jas@extundo.com>
112311         * lib/mempcpy.h: New file.
112312         * lib/mempcpy.c: New file.
112314 2003-07-14  Paul Eggert  <eggert@twinsun.com>
112316         * modules/getdate, modules/posixtm: Depend on mktime.
112318 2003-07-14  Paul Eggert  <eggert@twinsun.com>
112320         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
112321         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
112322         unicodeio.c, unicodeio.h, unlocked-io.h:
112323         Switch from LGPL to GPL.
112325 2003-07-14  Paul Eggert  <eggert@twinsun.com>
112327         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
112328         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
112329         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
112330         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
112331         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
112332         updated automatically by ../config/srclist-update.  This changes
112333         their license from LPGL to GPL.
112335 2003-07-14  Paul Eggert  <eggert@twinsun.com>
112337         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
112338         assumed to refer to the root of the most recent stable gettext version.
112339         * config/srclistvars.sh: Add defaults for eggert.
112340         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
112341         Match "This program" as well as "The program".  This is needed
112342         for gettext.
112344 2003-07-14  Jim Meyering  <jim@meyering.net>
112346         Don't emit diagnostics.  Let callers do that.
112347         * lib/save-cwd.c: Don't include "error.h".
112348         (save_cwd): Don't call error.  Ensure that errno is valid
112349         when returning nonzero.
112351         * lib/save-cwd.h (restore_cwd): Update prototype.
112352         * lib/save-cwd.c (restore_cwd): Remove two parameters.
112353         Simplify.  Don't call error upon failure.  Let callers do that.
112354         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
112355         when auditing is enabled.  But don't bother updating the #if.
112357 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
112359         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
112360         it breaks C++ compilation.
112361         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
112363 2003-07-10  Simon Josefsson  <jas@extundo.com>
112365         * modules/strchrnul (Makefile.am): Add strchrnul.h.
112367 2003-07-10  Jim Meyering  <jim@meyering.net>
112369         * m4/clock_time.m4: Remove trailing blank.
112370         * m4/intmax_t.m4: Likewise.
112372 2003-07-10  Jim Meyering  <jim@meyering.net>
112374         * lib/vasnprintf.c: Remove trailing blanks.
112375         Make cpp indentation consistent.
112377 2003-07-09  Paul Eggert  <eggert@twinsun.com>
112379         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
112380         posixver.c, strftime.c, strnlen.c, strverscmp.c:
112381         Switch from LGPL to GPL.
112383 2003-07-09  Paul Eggert  <eggert@twinsun.com>
112385         * config/srclist.txt: Sort sublists.  Add
112386         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
112387         that differ from gnulib for one reason or another; we'd like this list
112388         to be smaller but for now let's document what we have.
112390 2003-07-08  Paul Eggert  <eggert@twinsun.com>
112392         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
112393         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
112394         and sweeter "eval x=$x".
112395         * config/srclist.txt: Get lib/argp* from glibc.
112397 2003-07-07  Paul Eggert  <eggert@twinsun.com>
112399         * lib/mktime.c: Fix some boundary cases and remove need for floating
112400         point.
112402         Issue a compile-time diagnostic if time_t is floating point, or if
112403         two's complement arithmetic is not in effect, or if arithmetic
112404         right shift does not propagate the sign.  These assumptions were
112405         all in the original code but they weren't checked.
112407         (TIME_T_MIDPOINT, verify): New macros.
112408         (__isleap): Remove; it has integer overflow problems.
112409         (leapyear): New function, without those problems.
112410         (ydhms_tm_diff): Remove; splitting into two parts.
112411         (ydhms_diff): New function, containing the arithmetic part of
112412         the old ydhms_tm_diff function.  Issue a compile-time
112413         diagnostic if we are not using C99 integer division.
112414         Avoid casts when possible.
112415         (guess_time_tm): New function, containing the checking part of
112416         the old ydhms_tm_diff function.  Return the new value, rather than
112417         the difference between it and the old.  Accept a new argument T
112418         so that *T specifies the old value.  Check for overflow in the result.
112420         (__mktime_internal): Use a time_t offset, not a long int offset.
112421         This undoes the 2003-06-04 change, which is no longer needed now
112422         that we have better overflow checking.
112423         (localtime_offset): Likewise.
112425         (__mktime_internal): Avoid harmful overflow on hosts where time_t
112426         and long are 64-bit but int is only 32-bit.
112427         (ydhms_diff): Use long int to store year1 and yday1.
112428         Issue a compile-time diagnostic if long int is not wide enough.
112430         (__mktime_internal): Use long int to store adjusted year and yday.
112431         Use plain C rather than preprocessor commands, if that doesn't
112432         affect efficiency.
112433         Check for overflow (and try to repair) after each probe
112434         rather than checking only at the very end.  This avoids some bugs
112435         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
112436         does not equal GMT offset at maximum time).
112437         Use integer to check for overflow rather than floating point; this
112438         is more portable to non-IEEE hosts, and is a tad faster.
112439         When we detect that we are oscillating between two values,
112440         don't check whether tm_isdst has the requested value, since
112441         we already know the answer.  When tm_isdst has the wrong value,
112442         use a different heuristic to find the right one, based on the
112443         extreme values actually observed in practice in tz2003a,
112444         rather than the (overly optimistic) "previous 3 calendar quarters".
112446         (not_equal_tm, print_tm, check_result): Use "const T" rather than
112447         "T const" to accommodate glibc style.
112448         (check_result): Use less-confusing report format.  "long" -> "long int.
112449         (main): Likewise.
112450         Don't loop if the iteration overflows time_t.
112451         Allow a negative step in the iteration.
112453 2003-07-06  Karl Berry  <karl@gnu.org>
112455         * config/depcomp: update from automake.
112456         * config/config.sub: update from prep.
112458 2003-07-03  Karl Berry  <karl@gnu.org>
112460         * config/config.guess: update from prep.
112462 2003-07-01  Paul Eggert  <eggert@twinsun.com>
112464         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
112465         xreadlink.c now includes it unconditionally.
112467 2003-07-01  Paul Eggert  <eggert@twinsun.com>
112469         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
112470         having it depend on HAVE_SYS_TYPES_H.
112472 2003-07-01  Bruno Haible  <bruno@clisp.org>
112474         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
112475         <sys/types.h> should be sufficient.
112476         Reported by Paul Eggert.
112478 2003-06-26  Karl Berry  <karl@gnu.org>
112480         * config/depcomp: update from automake.
112482 2003-06-26  Bruno Haible  <bruno@clisp.org>
112484         * modules/human: Depend on module stdbool.
112486 2003-06-25  Bruno Haible  <bruno@clisp.org>
112488         * modules/readlink: New file.
112489         * modules/xreadlink: Depend on it.
112490         * MODULES.html.sh (func_all_modules): Add readlink.
112492 2003-06-25  Bruno Haible  <bruno@clisp.org>
112494         * m4/readlink.m4: New file.
112496 2003-06-25  Bruno Haible  <bruno@clisp.org>
112498         * lib/readlink.c: New file.
112500 2003-06-22  Karl Berry  <karl@gnu.org>
112502         * config/srclist.txt: update mkinstalldirs from automake.
112503         * config/mkinstalldirs: update.
112505 2003-06-22  Bruno Haible  <bruno@clisp.org>
112507         Portability to mingw32.
112508         * m4/ssize_t.m4: New file, from GNU gettext.
112509         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
112510         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
112512 2003-06-22  Bruno Haible  <bruno@clisp.org>
112514         * modules/safe-read: Add m4/ssize_t.m4.
112515         * modules/xreadlink: Add m4/ssize_t.m4.
112517 2003-06-20  Bruno Haible  <bruno@clisp.org>
112519         Assume C89, so PARAMS isn't needed.
112520         * lib/unicodeio.h (PARAMS): Remove.
112521         * lib/unicodeio.c: Don't use PARAMS.
112523 2003-06-18  Karl Berry  <karl@gnu.org>
112525         * config/config.{guess,sub}: update from prep.
112527 2003-06-18  Jim Meyering  <jim@meyering.net>
112529         Merge changes from coreutils.
112530         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
112531         Remove explicit declarations of xmalloc and realloc.
112532         Include xalloc.h.
112533         (read_utmp): Remove anachronistic cast of xmalloc.
112535 2003-06-17  Paul Eggert  <eggert@twinsun.com>
112537         Assume C89, so PARAMS isn't needed.
112538         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
112539         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
112540         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
112541         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
112542         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
112543         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
112544         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
112545         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
112546         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
112547         lib/xstrtod.h, lib/xstrtol.h: Likewise.
112548         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
112549         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
112550         no longer needed. Anyway, config.h should always be included before any
112551         other file.
112553 2003-06-11  Simon Josefsson  <jas@extundo.com>
112555         * modules/sysexits: New file.
112556         * MODULES.html.sh (func_all_modules): Add sysexits.
112558 2003-06-11  Simon Josefsson  <jas@extundo.com>
112560         * lib/sysexit_.h: New file.
112562 2003-06-11  Derek Price  <derek@ximbiot.com>
112564         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
112565         necessary.
112567 2003-06-11  Bruno Haible  <bruno@clisp.org>
112569         * m4/sysexits.m4: New file.
112571 2003-06-10  Simon Josefsson  <jas@extundo.com>
112573         * lib/argp.h: New file, from glibc.
112574         * lib/argp-ba.c: New file, from glibc.
112575         * lib/argp-eexst.c: New file, from glibc.
112576         * lib/argp-fmtstream.c: New file, from glibc.
112577         * lib/argp-fmtstream.h: New file, from glibc.
112578         * lib/argp-fs-xinl.c: New file, from glibc.
112579         * lib/argp-help.c: New file, from glibc.
112580         * lib/argp-namefrob.h: New file, from glibc.
112581         * lib/argp-parse.c: New file, from glibc.
112582         * lib/argp-pv.c: New file, from glibc.
112583         * lib/argp-pvh.c: New file, from glibc.
112584         * lib/argp-xinl.c: New file, from glibc.
112586 2003-06-10  Simon Josefsson  <jas@extundo.com>
112588         * modules/strchrnul: New file.
112590 2003-06-10  Simon Josefsson  <jas@extundo.com>
112592         * modules/argp: New file.
112594 2003-06-10  Simon Josefsson  <jas@extundo.com>
112596         * m4/strchrnul.m4: New file.
112598 2003-06-10  Simon Josefsson  <jas@extundo.com>
112600         * lib/strchrnul.h: New file.
112601         * lib/strchrnul.c: New file.
112603 2003-06-10  Bruno Haible  <bruno@clisp.org>
112605         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
112607 2003-06-07  Karl Berry  <karl@gnu.org>
112609         * config/config.{guess,sub}: update from prep.
112611 2003-06-07  Jim Meyering  <jim@meyering.net>
112613         * modules/strtod: Use $(...) notation, not @...@ for
112614         AC_REPLACE'd variables.
112615         * modules/localcharset: Likewise.
112617 2003-06-07  Jim Meyering  <jim@meyering.net>
112619         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
112620         in place of my name in the copyright comment.
112621         Remove definition and uses of __P.
112623         From coreutils.
112624         * lib/stat.c: Don't declare xmalloc explicitly.
112625         Instead, include "xalloc.h".
112626         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
112627         xrealloc, and xcalloc return values.
112628         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
112629         Improve comment.
112630         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
112632 2003-06-07  Bruno Haible  <bruno@clisp.org>
112634         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
112635         avoid AC_CONFIG_LINKS.
112636         * modules/fnmatch (Makefile.am): Use explicit creation rule for
112637         fnmatch.h, to avoid AC_CONFIG_LINKS.
112638         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
112640 2003-06-07  Bruno Haible  <bruno@clisp.org>
112642         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
112643         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
112644         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
112645         directory.
112646         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
112647         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
112648         directory.
112650 2003-06-06  Jim Meyering  <jim@meyering.net>
112652         Merge from coreutils.
112653         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
112654         Consolidate declarations and initializations of *_base* locals.
112656         Merge from coreutils.
112657         This avoids a core dump on systems without GNU putenv,
112658         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
112659         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
112660         (unsetenv): New static function, from GNU libc.
112661         (rpl_putenv): Use it.
112663         * lib/modechange.c: Remove trailing blanks.
112665         Merge from coreutils.
112666         * lib/fsusage.c: Remove declaration of statfs.
112667         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
112669         * lib/posixtm.c: Include <stdbool.h> unconditionally.
112671 2003-06-06  Jim Meyering  <jim@meyering.net>
112673         * lib/stdbool_.h: Renamed from stdbool.h.in.
112675 2003-06-06  Jim Meyering  <jim@meyering.net>
112676             Bruno Haible  <bruno@clisp.org>
112678         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
112679         Adjust Makefile.am snippet not to redirect directly to target.
112680         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
112682 2003-06-05  Paul Eggert  <eggert@twinsun.com>
112684         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
112685         mismatch, look in future quarters as well as past.  This fixes a
112686         bug when processing fall-backwards gaps immediately after a long
112687         period of daylight-saving time.
112689         * lib/mktime.c: Assume freestanding C89 or better.
112690         (HAVE_LIMITS_H): Remove.  Assume it's 1.
112691         (__P): Remove; not used.
112692         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
112693         (mktime, not_equal_tm, print_tm, check_result,
112694         main): Use prototypes.  Use const * where appropriate.
112695         (main): Fix typo in testing code that uncovered by above changes.
112696         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
112698 2003-06-04  Paul Eggert  <eggert@twinsun.com>
112700         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
112701         locale.h, localeconv.  This merges changes from coreutils.
112703         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
112704         It can be removed after the next Autoconf is released.
112705         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
112706         needed.
112708 2003-06-04  Paul Eggert  <eggert@twinsun.com>
112710         * lib/mktime.c: Fix Debian bug 177940
112711         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
112712         (localtime_offset): Now long int, not time_t, because we want it
112713         to be guaranteed to be signed.  All uses changed.
112714         (__mktime_internal): If overflow would occur when adding offset,
112715         don't add it.
112717         Merge 'human' changes from coreutils.  Rewrite to support
112718         locale-specific notations like thousands separators.
112719         * lib/human.c: Simplify authorship notice.
112720         Include human.h immediately after config.h.
112721         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
112722         <limits.h>: Do not include, since human.h does.
112723         (SIZE_MAX, UINTMAX_MAX): New macros.
112724         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
112725         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
112726         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
112727         (power_letter): Renamed from suffixes.
112728         (generate_suffix_backwards): Remove.
112729         (adjust_value): Now takes int style (because of human.h changes)
112730         and long double value (for greater precision on some platforms).
112731         (group_number): New function.
112732         (human_readable): Use it.  Use integer options, not enum.
112733         Put the options before the sizes in the arg list.
112734         Support all the new options.
112735         The old human_readable function has been removed;
112736         use inttostr.h instead.
112737         (human_readable, default_block_size, humblock):
112738         Use uintmax_t, not int, for block sizes.
112739         (human_readable_inexact, block_size_types): Remove.
112740         (block_size_opts): New constant.
112741         (human_options): Renamed from human_block_size, with new signature
112742         that allows block sizes up to UINTMAX_MAX.  All callers changed.
112743         * lib/human.h: Add copyright and authorship notice.
112744         Include <limits.h> and <stdbool.h> unconditionally.
112745         (PARAMS): Remove.  All uses removed.
112746         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
112747         (enum human_inexact_style): Remove tag; now a nameless enum.
112748         (human_floor, human_ceiling, human_round_to_even): Now have
112749         values 2, 0, 1 rather than -1, 1, 0.
112750         (human_group_digits, human_suppress_point_zero, human_autoscale,
112751         human_base_1024, human_SI, human_B): New constants.
112752         (human_readable_inexact, human_block_size): Remove.
112753         (human_readable): Size args are now uintmax_t, not int.
112754         (human_options): New decl.
112756         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
112757         unnecessary now that we assume C89 or better.  This change
112758         imported from coreutils.
112760         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
112761         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
112762         in the 2003-05-30 sync from glibc.
112764         .h files should stand alone, but we shouldn't include <sys/types.h>
112765         if we can get away with just <stddef.h>.
112767         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
112768         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
112769         rather than <sys/types.h>, as we merely need size_t.
112770         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
112771         to get size_t.
112772         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
112773         Include <stdio.h>, to get FILE.
112774         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
112775         memcasecmp.h has included <stddef.h> and all we need is size_t.
112776         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
112777         our interface, instead of including <sys/types.h>
112779 2003-06-04  Paul Eggert  <eggert@twinsun.com>
112781         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
112782         now, as glibc mktime is buggy on non-glibc systems.
112784 2003-06-03  Karl Berry  <karl@gnu.org>
112786         * config/config.sub: update from prep.
112788 2003-06-02  Paul Eggert  <eggert@twinsun.com>
112790         [from coreutils]
112791         Fix some minor time-related bugs with POSIX time arguments.
112792         Some valid time stamps were being rejected (notably -1, and
112793         time stamps before 1900 on 64-bit hosts).  And some invalid
112794         time stamps were being accepted, e.g. September 31.
112796         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
112797         that we can return (time_t) -1 successfully.
112798         * lib/posixtm.c: Likewise.
112799         [HAVE_STDBOOL_H]: Include <stdbool.h>.
112800         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
112801         (t): Remove static var.
112802         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
112803         of static var.  All uses changed.
112804         (year): Do not reject years before 1900; they can occur with
112805         64-bit time_t.
112806         (posix_time_parse): Do not check for out-of-range components;
112807         that is now the caller's responsibility, since our checks were
112808         only approximations.
112809         (posixtime): Use mktime to check for out-of-range components,
112810         since it knows them exactly.
112811         If mktime returns (time_t) -1, check whether an error actually occurred
112812         by invoking localtime on -1.
112813         (main) [TEST_POSIXTIME]: Check for input data errors, and report
112814         posixtime failures better.
112815         Improve the test data (in comments only).
112817 2003-06-02  Karl Berry  <karl@gnu.org>
112819         * config/mkinstalldirs (version): new variable.
112820         (--version): new option.
112821         (usage): improve message.
112823 2003-05-30  Karl Berry  <karl@gnu.org>
112825         * lib/mktime.c: update from libc.
112827 2003-05-30  Bruno Haible  <bruno@clisp.org>
112829         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
112830         * config/config.rpath: Upgrade to gettext-0.12.1.
112832 2003-05-30  Bruno Haible  <bruno@clisp.org>
112834         * m4/gettext.m4: Upgrade to gettext-0.12.1.
112835         * m4/nls.m4: New file, from gettext-0.12.1.
112836         * m4/po.m4: New file, from gettext-0.12.1.
112837         * m4/progtest.m4: Upgrade to gettext-0.12.1.
112839 2003-05-30  Bruno Haible  <bruno@clisp.org>
112841         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
112842         * lib/localcharset.h: Likewise.
112843         * lib/localcharset.c: Likewise.
112845 2003-05-29  Karl Berry  <karl@gnu.org>
112847         * config/config.rpath: update from gettext.
112849 2003-05-28  Paul Eggert  <eggert@twinsun.com>
112851         Assume the headers required for C89 freestanding compilers.
112852         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
112853         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
112854         * m4/human.m4 (gl_HUMAN): Likewise.
112855         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
112856         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
112857         * m4/userspec.m4 (gl_USERSPEC): Likewise.
112858         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
112859         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
112860         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
112862 2003-05-28  Paul Eggert  <eggert@twinsun.com>
112864         Assume the headers required for C89 freestanding compilers.
112865         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
112866         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
112867         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
112868         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
112869         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
112870         define, since <limits.h> is guaranteed to do that.
112871         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
112872         * lib/exclude.c: Include <stdbool.h> unconditionally.
112873         * lib/tempname.c: Include <stddef.h> unconditionally.
112874         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
112875         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
112876         <stddef.h> does that.
112877         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
112878         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
112879         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
112880         needed.
112881         * lib/xstrtol.c: Likewise.
112882         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
112883         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
112885         * lib/addext.c (addext): Use assignment rather than cast, to avoid
112886         warnings on some platforms.
112888         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
112889         arbitrarily.
112891 2003-05-26  Jim Meyering  <jim@meyering.net>
112893         Merge in a change from coreutils:
112894         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
112895         that is guaranteed to be `no'.  Use `no_such_member' to indicate
112896         that condition, rather than `-1' which is slightly misleading.
112897         Change the name of the cache variable to have the gl_ prefix.
112898         Prompted by a patch from Richard Dawe for DJGPP.
112900 2003-05-24  Karl Berry  <karl@gnu.org>
112902         * config/config.guess: update from prep.
112904 2003-05-22  Karl Berry  <karl@gnu.org>
112906         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
112908 2003-05-20  Karl Berry  <karl@gnu.org>
112910         * config/config.guess: update from prep.
112912 2003-05-18  Karl Berry  <karl@gnu.org>
112914         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
112915         might actually be set by the user.
112917         * config/depcomp, install-sh, mdate-sh: update from automake.
112919 2003-05-17  Bruno Haible  <bruno@clisp.org>
112921         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
112922         invalid expansion for AC_EGREP_CPP.
112923         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
112924         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
112925         Suggested by Akim Demaille <akim@epita.fr> in
112926         http://mail.gnu.org/r/bug-autoconf/2003-05/threads.html
112928 2003-05-12  Jim Meyering  <jim@meyering.net>
112930         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
112931         the space-padded-by-default conversion specifiers, %e, %k, %l.
112933 2003-05-12  Bruno Haible  <bruno@clisp.org>
112935         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
112936         the string is longer than 4 KB.
112938 2003-05-11  Karl Berry  <karl@gnu.org>
112940         * config/config.{guess,sub}: update from prep.
112942 2003-05-09  Bruno Haible  <bruno@clisp.org>
112944         * modules/error: Add m4/strerror_r.m4 to file list.
112946 2003-05-03  Bruno Haible  <bruno@clisp.org>
112948         Upgrade to Unicode-4.0.
112949         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
112950         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
112951         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
112952         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
112953         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
112954         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
112955         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
112956         Change width of U+E0100..U+E01EF from 1 to 0.
112958 2003-04-25  Jim Meyering  <jim@meyering.net>
112960         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
112961         of type size_t, not int.
112963 2003-04-25  Bruno Haible  <bruno@clisp.org>
112965         * lib/copy-file.c: Include <stddef.h>, for size_t.
112967 2003-04-21  Paul Eggert  <eggert@twinsun.com>
112969         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
112970         code which expansion is under static control.  Patch imported from
112971         Akim Demaille's patch to Bison; see
112972         <http://mail.gnu.org/r/bison-patches/2003-03/msg00057.html>.
112974 2003-04-14  Bruno Haible  <bruno@clisp.org>
112976         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
112978 2003-04-11  Jim Meyering  <jim@meyering.net>
112980         Merge changes from Coreutils.
112982         2003-03-22  Jim Meyering  <jim@meyering.net>
112984         * lib/strftime.c (widen): Cast alloca return value to proper type.
112986         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
112988         From GNU libc.
112989         * lib/strftime.c (my_strftime): Handle very large width
112990         specifications for numeric values correctly.  Improve checks for
112991         overflow.
112993         2003-01-19  Jim Meyering  <jim@meyering.net>
112995         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
112996         definitions.
112997         (nl_get_alt_digit) [! defined my_strftime]: Define.
112998         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
112999         _nl_get_alt_digit and _nl_get_walt_digit.
113001         * lib/strftime.c (my_strftime): Merge in locale-related changes from
113002         libc. These changes have no effect outside of _LIBC.
113004 2003-04-10  Bruno Haible  <bruno@clisp.org>
113006         * modules/findprog: New file.
113007         * MODULES.html.sh (func_all_modules): Add it.
113009 2003-04-10  Bruno Haible  <bruno@clisp.org>
113011         * m4/findprog.m4: New file.
113012         * m4/eaccess.m4: New file.
113014 2003-04-10  Bruno Haible  <bruno@clisp.org>
113016         * lib/findprog.h: New file, from GNU gettext.
113017         * lib/findprog.c: New file, from GNU gettext.
113019 2003-04-05  Jim Meyering  <jim@meyering.net>
113021         Merge changes from Coreutils.
113023         * lib/exclude.h (PARAMS): Remove definition and uses.
113024         * lib/exclude.c: Remove uses of `PARAMS'.
113026         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
113027         Add test-cases for DOS filenames. Declare program_name.
113028         (main): Set up program_name.  Patch by Rich Dawe.
113030         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
113031         error from mntctl.
113032         Use mntctl's return value to drive the entry-processing loop, since
113033         we can't rely on the value of the vmt_length member in the last
113034         entry.  On some systems doing so could result in exhausting
113035         virtual memory.  Based in part on a patch from Mike Jetzer.
113037 2003-04-04  Bruno Haible  <bruno@clisp.org>
113039         * modules/linebreak: New file.
113040         * MODULES.html.sh (func_all_modules): Add it.
113042 2003-04-04  Bruno Haible  <bruno@clisp.org>
113044         * m4/linebreak.m4: New file.
113046 2003-04-04  Bruno Haible  <bruno@clisp.org>
113048         * lib/linebreak.h: New file, from GNU gettext.
113049         * lib/linebreak.c: New file, from GNU gettext with slight
113050         modifications.
113051         * lib/lbrkprop.h: New file, from GNU gettext.
113053 2003-04-03  Bruno Haible  <bruno@clisp.org>
113055         * modules/utf8-ucs4: New file.
113056         * modules/utf16-ucs4: New file.
113057         * modules/ucs4-utf8: New file.
113058         * modules/ucs4-utf16: New file.
113059         * MODULES.html.sh (func_all_modules): Add them.
113061 2003-04-03  Bruno Haible  <bruno@clisp.org>
113063         * m4/utf-ucs4.m4: New file.
113064         * m4/ucs4-utf.m4: New file.
113066 2003-04-03  Bruno Haible  <bruno@clisp.org>
113068         * lib/utf8-ucs4.h: New file, from GNU gettext.
113069         * lib/utf16-ucs4.h: New file, from GNU gettext.
113070         * lib/ucs4-utf8.h: New file, from GNU gettext.
113071         * lib/ucs4-utf16.h: New file, from GNU gettext.
113073 2003-04-02  Bruno Haible  <bruno@clisp.org>
113075         * modules/binary-io: New file.
113076         * MODULES.html.sh (func_all_modules): Add it.
113078 2003-04-02  Bruno Haible  <bruno@clisp.org>
113080         * lib/binary-io.h: New file, from GNU gettext.
113082 2003-04-01  Bruno Haible  <bruno@clisp.org>
113084         * modules/pathname: New file.
113085         * MODULES.html.sh (func_all_modules): Add it.
113087 2003-04-01  Bruno Haible  <bruno@clisp.org>
113089         * lib/pathname.h: New file, from GNU gettext.
113090         * lib/concatpath.c: New file, from GNU gettext.
113092 2003-03-30  Bruno Haible  <bruno@clisp.org>
113094         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
113096 2003-03-30  Bruno Haible  <bruno@clisp.org>
113098         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
113099         function chown() doesn't exist.
113101 2003-03-28  Bruno Haible  <bruno@clisp.org>
113103         * modules/copy-file: New file.
113104         * MODULES.html.sh (func_all_modules): Add it.
113106 2003-03-28  Bruno Haible  <bruno@clisp.org>
113108         * m4/copy-file.m4: New file.
113110 2003-03-28  Bruno Haible  <bruno@clisp.org>
113112         * lib/copy-file.h: New file, from GNU gettext.
113113         * lib/copy-file.c: New file, from GNU gettext.
113115 2003-03-18  Jim Meyering  <jim@meyering.net>
113117         * lib/quote.c (quote_n): Fix typo in comment.
113119 2003-03-18  Bruno Haible  <bruno@clisp.org>
113121         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
113122         checking.
113123         * m4/onceonly_2_57.m4: Likewise.
113125 2003-03-17  Bruno Haible  <bruno@clisp.org>
113127         * m4/onceonly.m4: Require autoconf 2.54 or newer.
113128         (m4_quote): Remove macro.
113129         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
113131 2003-03-14  Jim Meyering  <jim@meyering.net>
113133         Merge changes from Coreutils.
113134         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
113135         to be const, in order to avoid warnings.
113136         (obstack_room): Likewise.
113137         (obstack_empty_p): Likewise.
113139 2003-03-14  Bruno Haible  <bruno@clisp.org>
113141         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
113142         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
113144 2003-03-13  Paul Eggert  <eggert@twinsun.com>
113146         Merge changes from Bison.
113147         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
113148         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
113149         when compiling Bison 1.875's `bitset bset = obstack_alloc
113150         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
113151         * lib/hash.c: Include <stdbool.h> unconditionally.
113153 2003-03-13  Paul Eggert  <eggert@twinsun.com>
113155         * m4/onceonly.m4 (m4_quote): New macro.
113156         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
113157         Quote AC_FOREACH variable-expansions properly.
113159 2003-03-13  Paul Eggert  <eggert@twinsun.com>
113161         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
113163 2003-03-09  Paul Eggert  <eggert@twinsun.com>
113165         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
113166         Reported by Bruce Becker; see:
113167         http://mail.gnu.org/r/bug-bison/2003-03/msg00017.html
113169 2003-03-03  Paul Eggert  <eggert@twinsun.com>
113170             Bruno Haible  <bruno@clisp.org>
113172         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
113173         Reported by John Hughes, see
113174         http://mail.gnu.org/r/bug-bison/2003-02/msg00030.html
113176 2003-02-20  Bruno Haible  <bruno@clisp.org>
113178         * MODULES.html.sh (func_all_modules): Add poll.
113180 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
113182         * modules/poll: New file.
113184 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
113186         * lib/poll_.h: New file.
113187         * lib/poll.c: New file.
113189 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
113191         * m4/poll.m4: New file.
113193 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
113195         * modules/mathl: New file.
113197 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
113199         * lib/mathl.h: New file.
113200         * lib/acosl.c: New file.
113201         * lib/asinl.c: New file.
113202         * lib/atanl.c: New file.
113203         * lib/ceill.c: New file.
113204         * lib/cosl.c: New file.
113205         * lib/expl.c: New file.
113206         * lib/floorl.c: New file.
113207         * lib/frexpl.c: New file.
113208         * lib/ldexpl.c: New file.
113209         * lib/logl.c: New file.
113210         * lib/sincosl.c: New file.
113211         * lib/sinl.c: New file.
113212         * lib/sqrtl.c: New file.
113213         * lib/tanl.c: New file.
113214         * lib/trigl.c: New file.
113215         * lib/trigl.h: New file.
113217 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
113219         * m4/mathl.m4: New file.
113221 2003-02-18  Bruno Haible  <bruno@clisp.org>
113223         * MODULES.html.sh (func_all_modules): Add mathl.
113225 2003-02-17  Bruno Haible  <bruno@clisp.org>
113227         * modules/mkdtemp: New module.
113228         * MODULES.html.sh (func_all_modules): Add it.
113230 2003-02-17  Bruno Haible  <bruno@clisp.org>
113232         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
113234 2003-02-17  Bruno Haible  <bruno@clisp.org>
113236         * lib/mkdtemp.h: New file, from GNU gettext.
113237         * lib/mkdtemp.c: New file, from GNU gettext.
113239 2003-02-02  Jim Meyering  <jim@meyering.net>
113241         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
113242         e.g. glibc-2.2.93.
113244 2003-01-31  Bruno Haible  <bruno@clisp.org>
113246         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
113247         'rpl_rename'.
113248         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
113249         'rpl_strnlen'.
113250         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
113251         'rpl_strtod'.
113252         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
113253         'rpl_utime'.
113255 2003-01-31  Bruno Haible  <bruno@clisp.org>
113257         * lib/rename.c: #undef rename before defining rpl_rename.
113258         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
113260 2003-01-30  Bruno Haible  <bruno@clisp.org>
113262         * modules/vasnprintf, modules/vasprintf: New modules.
113263         * MODULES.html.sh (func_all_modules): Add them.
113265 2003-01-30  Bruno Haible  <bruno@clisp.org>
113267         * m4/signed.m4: New file, from GNU gettext.
113268         * m4/longdouble.m4: New file, from GNU gettext.
113269         * m4/wchar_t.m4: New file, from GNU gettext.
113270         * m4/wint_t.m4: New file, from GNU gettext.
113271         * m4/vasnprintf.m4: New file.
113272         * m4/vasprintf.m4: New file.
113274 2003-01-30  Bruno Haible  <bruno@clisp.org>
113276         * lib/printf-args.h: New file, from GNU gettext.
113277         * lib/printf-args.c: New file, from GNU gettext.
113278         * lib/printf-parse.h: New file, from GNU gettext.
113279         * lib/printf-parse.c: New file, from GNU gettext.
113280         * lib/vasnprintf.h: New file, from GNU gettext.
113281         * lib/vasnprintf.c: New file, from GNU gettext.
113282         * lib/asnprintf.c: New file, from GNU gettext.
113283         * lib/vasprintf.h: New file, from GNU gettext with modifications.
113284         * lib/vasprintf.c: New file, from GNU gettext.
113285         * lib/asprintf.c: New file, from GNU gettext.
113287 2003-01-29  Bruno Haible  <bruno@clisp.org>
113289         * modules/stpncpy: New module.
113290         * MODULES.html.sh (func_all_modules): Add it.
113292 2003-01-29  Bruno Haible  <bruno@clisp.org>
113294         * m4/stpncpy.m4: New file.
113296 2003-01-29  Bruno Haible  <bruno@clisp.org>
113298         * lib/stpncpy.h: New file, from GNU gettext with modifications.
113299         * lib/stpncpy.c: New file, from GNU gettext with modifications.
113301 2003-01-28  Bruno Haible  <bruno@clisp.org>
113303         * modules/c-ctype: New module.
113304         * MODULES.html.sh (func_all_modules): Add it.
113306 2003-01-28  Bruno Haible  <bruno@clisp.org>
113308         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
113309         Paul Eggert.
113310         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
113311         Paul Eggert.
113313 2003-01-27  Bruno Haible  <bruno@clisp.org>
113315         * modules/xsetenv: New module.
113316         * MODULES.html.sh (func_all_modules): Add it.
113318 2003-01-27  Bruno Haible  <bruno@clisp.org>
113320         * lib/xsetenv.h: New file, from GNU gettext.
113321         * lib/xsetenv.c: New file, from GNU gettext.
113323 2003-01-23  Jim Meyering  <jim@meyering.net>
113325         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
113326         from working on systems without dirfd (at least Irix and OSF1/Tru64).
113328 2003-01-23  Bruno Haible  <bruno@clisp.org>
113330         * modules/minmax: New module.
113331         * MODULES.html.sh (func_all_modules): Add it.
113333 2003-01-23  Bruno Haible  <bruno@clisp.org>
113335         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
113336         Eggert.
113338 2003-01-22  Bruno Haible  <bruno@clisp.org>
113340         * modules/exit: New module.
113341         * MODULES.html.sh (func_all_modules): Add it.
113343 2003-01-22  Bruno Haible  <bruno@clisp.org>
113345         * lib/exit.h: New file, from GNU gettext.
113347 2003-01-19  Bruno Haible  <bruno@clisp.org>
113349         * gnulib-tool: Recognize option --extract-maintainer.
113350         (func_get_maintainer): New function.
113351         * modules/*: Add Maintainer entry.
113353 2003-01-16  Jim Meyering  <jim@meyering.net>
113355         * m4/regex.m4: The `regex' struct is both input and output.
113356         Initialize it before each use.  Patch by Tim Waugh.
113358 2003-01-16  Bruno Haible  <bruno@clisp.org>
113360         * MODULES.html.sh: Add a table of contents. Add the module name as
113361         leftmost column. Add hyperlinks.
113363 2003-01-15  Bruno Haible  <bruno@clisp.org>
113365         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
113367 2003-01-15  Bruno Haible  <bruno@clisp.org>
113369         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
113370         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
113371         suffix.
113373 2003-01-15  Bruno Haible  <bruno@clisp.org>
113375         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
113377 2003-01-15  Bruno Haible  <bruno@clisp.org>
113379         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
113380         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
113382 2003-01-14  Jim Meyering  <jim@meyering.net>
113384         * lib/same.c (same_name): Tweak a comment.
113386 2003-01-14  Bruno Haible  <bruno@clisp.org>
113388         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
113389         when a string comparison is sufficient.
113391 2003-01-14  Bruno Haible  <bruno@clisp.org>
113393         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
113394         'unsigned int'.
113396 2003-01-14  Bruno Haible  <bruno@clisp.org>
113398         * lib/hash-pjw.c: Add comment about low quality of this function.
113400 2003-01-13  Bruno Haible  <bruno@clisp.org>
113402         * modules/stpcpy: Distribute lib/stpcpy.h.
113403         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
113405 2003-01-13  Bruno Haible  <bruno@clisp.org>
113407         * modules/*: Add a description.
113408         * modules/strpbrk: Fix Makefile.am snippet.
113409         * modules/strtoimax: Fix dependencies.
113410         * modules/strtoumax: Likewise.
113412 2003-01-13  Bruno Haible  <bruno@clisp.org>
113414         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
113415         * modules/alloca (Makefile.am): All object files depend on alloca.h.
113416         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
113418 2003-01-13  Bruno Haible  <bruno@clisp.org>
113420         * gnulib-tool (func_create_testdir): Store config/* files in the main
113421         directory.
113422         * config.rpath: Move to ...
113423         * config/config.rpath: ... here.
113424         * modules/gettext: Contains config/config.rpath, not config.rpath.
113425         * modules/iconv: Likewise.
113427 2003-01-12  Paul Eggert  <eggert@twinsun.com>
113429         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
113430         to avoid collisions with libcurses and libreadline.
113432         * m4/getstr.m4: Remove.
113433         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
113435 2003-01-12  Paul Eggert  <eggert@twinsun.com>
113437         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
113438         to avoid collisions with libcurses and libreadline.
113440         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
113441         * lib/getstr.h, getstr.c: Remove.
113442         * lib/getline.c: Include "getline.h", to check interface.
113443         Move body of old getstr.c here: this defines MIN_CHUNK and
113444         declares getdelim2, which is renamed from getstr.
113445         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
113447         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
113448         All uses changed.
113449         * lib/linebuffer.h: Likewise.
113450         (readline): Remove backward-compatibility macro.
113452 2003-01-12  Paul Eggert  <eggert@twinsun.com>
113454         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
113455         to avoid collisions with libcurses and libreadline.
113456         * getstr: Remove.
113457         * MODULES.html.sh: Remove getstr.
113458         * modules/getline: Depend on unlocked-io, not getstr.
113460 2003-01-12  Jim Meyering  <jim@meyering.net>
113462         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
113464 2003-01-10  Bruno Haible  <bruno@clisp.org>
113466         * modules/alloca: Change Makefile.am requirements. Simplify Include
113467         requirements. Add lib/alloca_.h to file list.
113469 2003-01-10  Bruno Haible  <bruno@clisp.org>
113471         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
113473 2003-01-10  Bruno Haible  <bruno@clisp.org>
113475         * lib/alloca_.h: New file.
113476         * lib/getdate.y: Unconditionally include alloca.h.
113477         * lib/makepath.c: Likewise.
113478         * lib/setenv.c: Likewise.
113479         * lib/userspec.c: Likewise.
113481 2003-01-09  Karl Berry  <karl@gnu.org>
113483         * MODULES.html.sh: include `dirname $0` in PATH, to find
113484         gnulib-tool.
113486 2003-01-09  Bruno Haible  <bruno@clisp.org>
113488         * modules/stdbool: Change configure.ac, Makefile.am requirements.
113489         Simplify Include requirements. Add lib/stdbool.h.in to file list.
113491 2003-01-09  Bruno Haible  <bruno@clisp.org>
113493         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
113495 2003-01-09  Bruno Haible  <bruno@clisp.org>
113497         * lib/stdbool.h.in: New file.
113499 2003-01-09  Bruno Haible  <bruno@clisp.org>
113501         * gnulib-tool (func_all_modules): Ignore files ending in ~.
113502         * MODULES.html.sh: Likewise.
113504 2003-01-08  Jim Meyering  <jim@meyering.net>
113506         * lib/full-write.c: Undefine and define-away `const' after inclusion
113507         of errno.h, not before.  Suggestion from Bruno Haible.
113509 2003-01-08  Bruno Haible  <bruno@clisp.org>
113511         * modules/full-read: Depend on full-write.
113513 2003-01-08  Bruno Haible  <bruno@clisp.org>
113515         * lib/safe-read.c: Include specification header first, to ensure its
113516         selfcontainedness.
113517         * lib/full-write.c: Likewise.
113519 2003-01-07  Jim Meyering  <jim@meyering.net>
113521         * lib/full-write.c: Rework so that it may serve to define full_read,
113522         too.
113523         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
113525 2003-01-07  Bruno Haible  <bruno@clisp.org>
113527         * lib/strtoimax.c: Include <stdint.h> as an alternative to
113528         <inttypes.h>.
113529         * lib/xstrtol.h: Likewise.
113530         * lib/xstrtoimax.c: Likewise.
113531         * lib/xstrtoumax.c: Likewise.
113532         * lib/human.h: Likewise.
113534         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
113535         on systems that have <inttypes.h> but not <stdint.h>.
113537 2003-01-07  Bruno Haible  <bruno@clisp.org>
113539         * MODULES.html.sh: Add copyright notice.
113540         (missed_files): Omit CVS directory entries.
113541         (func_module): Make it work with sed-3.02.
113542         * MODULES.txt: Remove file.
113544 2003-01-06  Jim Meyering  <jim@meyering.net>
113546         * lib/version-etc.c: Update year in translatable copyright string.
113548 2003-01-03  Karl Berry  <karl@gnu.org>
113550         * config/config.{guess,sub}: update from prep.
113552 2003-01-02  Karl Berry  <karl@gnu.org>
113554         * doc/COPYING.DOC: belatedly updated to 1.2.
113556 2003-01-01  Karl Berry  <karl@gnu.org>
113558         * gnulib-tool (func_verify_module): report module name $module in
113559         error message, not $1.
113560         * gnulib-tool (create-testdir): don't complain if destdir couldn't
113561         be created, only if it doesn't exist.
113562         * gnulib-tool (last_checkin_date): don't expand the $Date here.
113564 2002-12-31  Paul Eggert  <eggert@twinsun.com>
113566         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
113568 2002-12-31  Paul Eggert  <eggert@twinsun.com>
113570         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
113571         memcmp if strcoll doesn't work.
113573 2002-12-31  Bruno Haible  <bruno@clisp.org>
113575         * lib/utime.c (utime_null): No need to call ftruncate if the file was
113576         nonempty.
113578 2002-12-31  Bruno Haible  <bruno@clisp.org>
113580         * lib/memcoll.c (STRCOLL): New macro.
113581         (memcoll): Use it.
113583 2002-12-31  Bruno Haible  <bruno@clisp.org>
113585         * lib/localcharset.h: New file.
113586         * lib/localcharset.c: Include it.
113587         * lib/unicodeio.c: Likewise.
113589 2002-12-31  Bruno Haible  <bruno@clisp.org>
113591         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
113592         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
113594 2002-12-31  Bruno Haible  <bruno@clisp.org>
113596         * lib/getline.h: Include <stddef.h>, for size_t.
113598         * lib/unicodeio.h: Include <stddef.h>, for size_t.
113599         * lib/unicodeio.c: Don't include <stddef.h>.
113601 2002-12-31  Bruno Haible  <bruno@clisp.org>
113603         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
113604         HAVE_TM_ZONE.
113606 2002-12-24  Karl Berry  <karl@gnu.org>
113608         * config/config.guess: update from prep.
113610 2002-12-24  Bruno Haible  <bruno@clisp.org>
113612         General infrasructure.
113613         * m4/README: Rewritten.
113614         * m4/onceonly.m4: New file.
113615         * m4/onceonly_2_57.m4: New file.
113617         Module atexit.
113618         * m4/atexit.m4: New file.
113620         Module strtod.
113621         * m4/strtod.m4: New file.
113623         Module strtol.
113624         * m4/strtol.m4: New file.
113626         Module strtoul.
113627         * m4/strtoul.m4: New file.
113629         Module memchr.
113630         * m4/memchr.m4: New file.
113632         Module memcmp.
113633         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
113634         (jm_FUNC_MEMCMP): Invoke it.
113636         Module memcpy.
113637         * m4/memcpy.m4: New file.
113639         Module memmove.
113640         * m4/memmove.m4: New file.
113642         Module memset.
113643         * m4/memset.m4: New file.
113645         Module strcspn.
113646         * m4/strcspn.m4: New file.
113648         Module strpbrk.
113649         * m4/strpbrk.m4: New file.
113651         Module strstr.
113652         * m4/strstr.m4: New file.
113654         Module strerror.
113655         * m4/strerror.m4: New file.
113657         Module mktime.
113658         * m4/mktime.m4: Renamed from jm-mktime.m4.
113659         (gl_PREREQ_MKTIME): New macro.
113660         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
113662         Module malloc.
113663         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
113664         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
113665         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
113667         Module realloc.
113668         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
113669         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
113670         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
113672         Module strftime.
113673         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
113674         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
113675         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
113676         gl_TM_GMTOFF.
113677         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
113679         Module xalloc.
113680         * m4/xalloc.m4: New file.
113682         Module alloca.
113683         * m4/alloca.m4: New file.
113685         Module putenv.
113686         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
113687         (jm_FUNC_PUTENV): Invoke it.
113689         Module setenv.
113690         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
113691         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
113692         when invoked twice.
113693         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
113694         gt_FUNC_SETENV.
113696         Module memrchr.
113697         * m4/memrchr.m4: New file.
113699         Module stpcpy.
113700         * m4/stpcpy.m4: New file.
113702         Module strcase.
113703         * m4/strcase.m4: New file.
113705         Module strdup.
113706         * m4/strdup.m4: New file.
113708         Module strnlen.
113709         * m4/strnlen.m4: New file.
113711         Module strndup.
113712         * m4/strndup.m4: New file.
113714         Module xstrtod.
113715         * m4/xstrtod.m4: New file.
113717         Module xstrtol.
113718         * m4/xstrtol.m4: New file.
113720         Module getdate.
113721         * m4/getdate.m4: New file.
113723         Module unlocked-io.
113724         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
113725         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
113726         * m4/jm-glibc-io.m4n: Remove file.
113728         Module long-options.
113729         * m4/long-options.m4: New file.
113731         Module md5.
113732         * m4/md5.m4: New file.
113734         Module sha.
113735         * m4/sha.m4: New file.
113737         Module getstr.
113738         * m4/getstr.m4: New file.
113740         Module getline.
113741         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
113742         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
113743         <sys/types.h>, for size_t. Use the function name gnu_getline, not
113744         simply getline. Infoke gl_PREREQ_GETLINE.
113746         Module obstack.
113747         * m4/obstack.m4: New file.
113749         Module hash.
113750         * m4/hash.m4: New file.
113752         Module readtokens.
113753         * m4/readtokens.m4: New file.
113755         Module strverscmp.
113756         * m4/strverscmp.m4: New file.
113758         Module stdbool.
113759         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
113760         OSF/1.
113762         Module strtoll.
113763         * m4/strtoll.m4: New file.
113765         Module strtoull.
113766         * m4/strtoull.m4: New file.
113768         Module strtoimax.
113769         * m4/strtoimax.m4: New file.
113771         Module strtoumax.
113772         * m4/strtoumax.m4: New file.
113774         Module xstrtoimax.
113775         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
113776         jm_AC_PREREQ_XSTRTOIMAX.
113777         Moved the strtol prerequisites to strtol.m4.
113778         Moved the strtoll prerequisites to strtoll.m4.
113779         Moved the strtoimax prerequisites to strtoimax.m4.
113781         Module xstrtoumax.
113782         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
113783         jm_AC_PREREQ_XSTRTOUMAX.
113784         Moved the strtoul prerequisites to strtoul.m4.
113785         Moved the strtoull prerequisites to strtoull.m4.
113786         Moved the strtoumax prerequisites to strtoumax.m4.
113788         Module chown.
113789         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
113790         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
113792         Module dup2.
113793         * m4/dup2.m4: New file.
113795         Module ftruncate.
113796         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
113797         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
113799         Module getgroups.
113800         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
113801         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
113803         Module gettimeofday.
113804         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
113805         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
113806         gl_PREREQ_GETTIMEOFDAY.
113808         Module mkdir.
113809         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
113810         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
113812         Module mkstemp.
113813         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
113814         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
113815         jm_AC_TYPE_UINTMAX_T.
113816         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
113818         Module stat.
113819         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
113820         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
113822         Module lstat.
113823         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
113824         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
113826         Module timespec.
113827         * m4/timespec.m4 (gl_TIMESPEC): New macro.
113828         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
113829         * m4/st_mtim.m4: Indentation.
113831         Module nanosleep.
113832         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
113833         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
113834         gl_PREREQ_NANOSLEEP.
113836         Module regex.
113837         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
113838         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
113839         (gl_REGEX): New macro.
113841         Module rename.
113842         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
113843         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
113845         Module rmdir.
113846         * m4/rmdir.m4: New file.
113848         Module utime.
113849         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
113850         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
113851         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
113853         Module dirname.
113854         * m4/dirname.m4: New file.
113856         Module getopt.
113857         * m4/getopt.m4: New file.
113859         Module unistd-safer.
113860         * m4/unistd-safer.m4: New file.
113862         Module fnmatch.
113863         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
113864         declaration.
113865         (gl_PREREQ_FNMATCH_EXTRA): New macro.
113866         (gl_FUNC_FNMATCH_POSIX): New macro.
113867         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
113868         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
113869         simply fnmatch.
113871         Module exclude.
113872         * m4/exclude.m4: New file.
113874         Module human.
113875         * m4/human.m4: New file.
113877         Module acl.
113878         * m4/acl.m4: Nop.
113880         Module backupfile.
113881         * m4/backupfile.m4: New file.
113882         * m4/d-ino.m4: Indentation.
113884         Module fsusage.
113885         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
113886         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
113887         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
113889         Module dirfd.
113890         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
113891         requirements.
113893         Module euidaccess.
113894         * m4/euidaccess.m4: New file.
113896         Module file-type.
113897         * m4/file-type.m4: New file.
113899         Module fileblocks.
113900         * m4/fileblocks.m4: New file.
113902         Module filemode.
113903         * m4/filemode.m4: New file.
113905         Module isdir.
113906         * m4/isdir.m4: New file.
113908         Module lchown.
113909         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
113910         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
113912         Module makepath.
113913         * m4/makepath.m4: New file.
113915         Module modechange.
113916         * m4/modechange.m4: New file.
113918         Module mountlist.
113919         * m4/mountlist.m4: New file.
113920         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
113921         Indentation.
113923         Module path-concat.
113924         * m4/path-concat.m4: New file.
113926         Module pathmax.
113927         * m4/pathmax.m4: New file.
113929         Module same.
113930         * m4/same.m4: New file.
113932         Module save-cwd.
113933         * m4/save-cwd.m4: New file.
113935         Module savedir.
113936         * m4/savedir.m4: New file.
113938         Module xgetcwd.
113939         * m4/xgetcwd.m4: New file.
113940         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
113942         Module xreadlink.
113943         * m4/xreadlink.m4: New file.
113945         Module safe-read.
113946         * m4/safe-read.m4: New file.
113948         Module safe-write.
113949         * m4/safe-write.m4: New file.
113951         Module closeout.
113952         * m4/closeout.m4: New file.
113954         Module stdio-safer.
113955         * m4/stdio-safer.m4: New file.
113957         Module getpass.
113958         * m4/getpass.m4: New file.
113960         Module getugroups.
113961         * m4/getugroups.m4: New file.
113963         Module group-member.
113964         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
113965         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
113967         Module idcache.
113968         * m4/idcache.m4: New file.
113970         Module userspec.
113971         * m4/userspec.m4: New file.
113973         Module gettime.
113974         * m4/clock_time.m4: New file.
113975         * m4/gettime.m4: New file.
113977         Module settime.
113978         * m4/settime.m4: New file.
113980         Module posixtm.
113981         * m4/posixtm.m4: New file.
113983         Module gethostname.
113984         * m4/gethostname.m4: New file.
113986         Module canon-host.
113987         * m4/canon-host.m4: New file.
113989         Module gettext.
113990         * m4/codeset.m4: New file, from gettext-0.11.5.
113991         * m4/gettext.m4: New file, from gettext-0.11.5.
113992         * m4/glibc21.m4: New file, from gettext-0.11.5.
113993         * m4/iconv.m4: New file, from gettext-0.11.5.
113994         * m4/intdiv0.m4: New file, from gettext-0.11.5.
113995         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
113996         * m4/inttypes.m4: New file, from gettext-0.11.5.
113997         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
113998         * m4/isc-posix.m4: New file, from gettext-0.11.5.
113999         * m4/lcmessage.m4: New file, from gettext-0.11.5.
114000         * m4/lib-ld.m4: New file, from gettext-0.11.5.
114001         * m4/lib-link.m4: New file, from gettext-0.11.5.
114002         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
114003         * m4/progtest.m4: New file, from gettext-0.11.5.
114004         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
114005         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
114006         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
114008         Module localcharset.
114009         * m4/localcharset.m4: New file.
114011         Module hard-locale.
114012         * m4/hard-locale.m4: New file.
114014         Module mbswidth.
114015         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
114016         onceonly macros.
114017         * m4/mbrtowc.m4: Add comment.
114019         Module memcasecmp.
114020         * m4/memcasecmp.m4: New file.
114022         Module memcoll.
114023         * m4/memcoll.m4: New file.
114025         Module unicodeio.
114026         * m4/unicodeio.m4: New file.
114028         Module rpmatch.
114029         * m4/rpmatch.m4: New file.
114031         Module yesno.
114032         * m4/yesno.m4: New file.
114034         Module exitfail.
114035         * m4/exitfail.m4: New file.
114037         Module c-stack.
114038         * m4/c-stack.m4 (gl_C_STACK): New macro.
114039         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
114041         Module error.
114042         * m4/error.m4 (gl_ERROR): New macro.
114043         (jm_PREREQ_ERROR): Use onceonly macros.
114045         Module fatal.
114046         * m4/fatal.m4: New file.
114048         Module getloadavg.
114049         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
114050         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
114052         Module getpagesize.
114053         * m4/getpagesize.m4: New file.
114055         Module getusershell.
114056         * m4/getusershell.m4: New file.
114058         Module physmem.
114059         * m4/physmem.m4: New file.
114061         Module posixver.
114062         * m4/posixver.m4: New file.
114064         Module quotearg.
114065         * m4/quotearg.m4: New file.
114067         Module quote.
114068         * m4/quote.m4: New file.
114070         Module readutmp.
114071         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
114073         Module sig2str.
114074         * m4/sig2str.m4: New file.
114076         Other.
114077         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
114078         ulonglong.m4.
114079         * m4/intmax_t.m4: New file.
114080         * m4/d-type.m4: Indentation.
114081         * m4/jm-macros.m4: Update.
114082         * m4/prereq.m4 (jm_PREREQ): Update.
114083         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
114084         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
114085         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
114086         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
114087         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
114088         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
114089         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
114090         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
114091         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
114092         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
114093         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
114094         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
114095         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
114096         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
114097         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
114098         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
114099         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
114100         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
114101         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
114103 2002-12-24  Bruno Haible  <bruno@clisp.org>
114105         * MODULES.txt: Update according to m4/ changes.
114107         Module gettext.
114108         * config.rpath: New file, from gettext-0.11.5.
114110         * modules/*: New module descriptions.
114111         * gnulib-tool: New file.
114112         * MODULES.html.sh: New file.
114114 2002-12-21  Karl Berry  <karl@gnu.org>
114116         * doc/fdl.texi: update to version 1.2.
114118 2002-12-19  Karl Berry  <karl@gnu.org>
114120         * config/config.guess: update from prep.
114122 2002-12-18  Bruno Haible  <bruno@clisp.org>
114124         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
114125         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
114127 2002-12-17  Bruno Haible  <bruno@clisp.org>
114129         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
114130         stdlib.h, string.h.
114132 2002-12-17  Bruno Haible  <bruno@clisp.org>
114134         * lib/canon-host.c (strdup): Remove unused declaration.
114136         * lib/fsusage.c: Include full_read.h.
114137         (get_fs_usage): Use full_read instead of safe_read.
114139         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
114141 2002-12-12  Karl Berry  <karl@gnu.org>
114143         * config/config.guess: update from prep.
114145 2002-12-11  Bruno Haible  <bruno@clisp.org>
114147         * m4/setenv.m4: New file, from gettext-0.11.5.
114149 2002-12-11  Bruno Haible  <bruno@clisp.org>
114151         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
114152         not unsetenv().
114153         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
114154         modifications:
114156         2002-12-11  Bruno Haible  <bruno@clisp.org>
114158                 * setenv.c (alloca): Fall back to malloc.
114159                 (freea): New macro.
114160                 (setenv): Use freea() to free memory allocated with alloca().
114162         2002-11-13  Bruno Haible  <bruno@clisp.org>
114164                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
114165                 function declarations.
114166                 * unsetenv.c (unsetenv): Likewise.
114168         2002-03-04  Bruno Haible  <bruno@clisp.org>
114170                 Portability to AIX 4.3.3.
114171                 * unsetenv.c: New file, extracted from setenv.c.
114172                 * setenv.c: Move the unsetenv() function to unsetenv.c.
114174         2001-12-20  Bruno Haible  <bruno@clisp.org>
114176                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
114177                 use malloc instead. For SunOS 4.
114179         2001-12-11  Bruno Haible  <bruno@clisp.org>
114181                 * setenv.c: Declare alloca.
114182                 (compar_fn_t): New typedef.
114183                 (KNOWN_VALUE, STORE_VALUE): Use it.
114185         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
114186         setenv.h.
114188 2002-12-10  Paul Eggert  <eggert@twinsun.com>
114190         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
114191         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
114192         Choose values that are less likely to collide with system fnmatch
114193         options.
114194         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
114195         defined (e.g., a pure POSIX system).
114196         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
114197         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
114199 2002-12-06  Paul Eggert  <eggert@twinsun.com>
114201         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
114202         a pain in practice to deal with generated m4 files.  This change
114203         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
114205         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
114206         and jm-glibc-io.m4, as they are no longer a special case.
114207         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
114208         kludge and the auto-generation stuff.  Check only whether the
114209         functions are declared, not whether they exist, since older hosts
114210         that don't declare the functions can't use the optimization anyway.
114212 2002-12-06  Jim Meyering  <jim@meyering.net>
114214         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
114216         Merge in changes from libc's misc/error.c, in preparation
114217         for the merge of gnulib's changes back into libc.
114219         * lib/error.c (_): Define only if not already defined.
114220         Move definition to follow all #include directives.
114221         Include unlocked-io.h only if !_LIBC.
114222         [_LIBC]: Include <libio/libioP.h>.
114223         [USE_IN_LIBIO]: Include <libio/iolibio.h>
114224         (fflush): Tweak definition to use INTUSE.
114225         (putc): Define.
114227 2002-12-05  Paul Eggert  <eggert@twinsun.com>
114229         * lib/alloca.c [defined emacs]: Include "lisp.h".
114230         (xalloc_die) [defined emacs]: New macro.
114231         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
114232         [! defined emacs]: Include <xalloc.h>.
114233         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
114234         (pointer): Typedef to POINTER_TYPE *.
114235         (malloc): Remove decl; we now always use xmalloc.
114236         (alloca): Use old-style definition, since Emacs needs this.
114237         Check for arithmetic overflow when computing combined size.
114239 2002-12-04  Paul Eggert  <eggert@twinsun.com>
114241         Do not generate unlocked-io.h automatically, since it's easier to
114242         maintain it by hand.
114244         * lib/unlocked-io.h: New file, from GNU diffutils,
114245         but with proper copyright notice and attribution.
114246         * lib/gen-uio: Remove.
114247         * lib/Makefile.am: Add copyright notice.
114248         (libfetish_a_SOURCES): Add unlocked-io.h.
114249         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
114250         (DISTCLEANFILES, io_functions): Remove macros.
114251         (EXTRA_DIST): Remove gen_uio.
114252         (unlocked-io.h): Remove rule.
114254 2002-12-04  Jim Meyering  <jim@meyering.net>
114256         Reflect the fact that stat.c and lstat.c are no longer generated.
114257         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
114258         (DISTCLEANFILES): Likewise.
114259         (EXTRA_DIST): Likewise.
114260         (all_local): Don't depend on stat.c or lstat.c.
114261         (stat.c, lstat.c): Remove rules.
114262         (EXTRA_DIST): Remove xstat.in.
114264         * lib/xstat.in: Remove file.  Contents moved into stat.c.
114265         * lib/stat.c: New file.  Contents mostly from xstat.in.
114266         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
114267         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
114269         * lib/safe-read.c: Rework so that it may serve to define safe_write,
114270         too.
114271         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
114273 2002-12-03  Jim Meyering  <jim@meyering.net>
114275         * lib/safe-read.c, safe-write.c: Change variable names and comments,
114276         but not semantics, to minimize the differences between these two files.
114277         (safe_read): Change comment to mention SAFE_READ_ERROR.
114279         * lib/safe-read.c (IS_EINTR): Define.
114280         (safe_read): Use IS_EINTR in place of in-function cpp directives.
114282 2002-12-02  Jim Meyering  <jim@meyering.net>
114284         * lib/safe-read.c (EINTR): Define.
114285         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
114286         (INT_MAX): Provide fallback.
114287         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
114289         * lib/safe-read.h (SAFE_READ_ERROR): Define.
114291 2002-12-02  Bruno Haible  <bruno@clisp.org>
114293         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
114294         Define, taken from safe-read.c.
114295         (INT_MAX): Provide fallback.
114296         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
114297         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
114299         * lib/safe-read.c (EINTR): Remove definition.
114300         (safe_read): Don't use EINTR if it is absent.
114302 2002-12-01  Jim Meyering  <jim@meyering.net>
114304         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
114305         zero.
114306         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
114308 2002-11-27  Paul Eggert  <eggert@twinsun.com>
114310         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
114311         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
114312         with `if (! (value < limit)) abort ();', for readability.
114314 2002-11-26  Karl Berry  <karl@gnu.org>
114316         * lib/strdup.c: copy from libc again, with jim's ok.
114317         * lib/.cppi-disable: re-add strdup.c
114319 2002-11-25  Karl Berry  <karl@gnu.org>
114321         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
114322         instead of "strtol.c".
114324 2002-11-25  Karl Berry  <karl@gnu.org>
114326         * config/install-sh: update from automake for variable quoting, $0 in
114327         error msgs, etc.
114329         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
114330         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
114331         entry.
114333 2002-11-25  Jim Meyering  <jim@meyering.net>
114335         * lib/mktime.c: Sync from libc, now that it has the latest fix.
114337 2002-11-24  Karl Berry  <karl@gnu.org>
114339         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
114340         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
114342 2002-11-24  Jim Meyering  <jim@meyering.net>
114344         Update from coreutils:
114346         * lib/mktime.c: Merge in changes from libc.
114348         Avoid a link-time failure on some Linux systems.
114349         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
114350         (otherwise).
114351         (__mon_yday): Declare with the STATIC attribute.
114352         (__mktime_internal): Likewise.
114353         Based on a report from Greg Schafer.
114355 2002-11-23  Jim Meyering  <jim@meyering.net>
114357         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
114358         Use `unsigned', not `int', as type of index.
114360         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
114362         * lib/fsusage.c: Remove unneeded parentheses around operands of
114363         `defined'.
114365 2002-11-22  Paul Eggert  <eggert@twinsun.com>
114367         * lib/quotearg.h: Allow multiple inclusion by surrounding with
114368         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
114369         so that we can be included first.
114370         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
114371         * lib/quotearg.c: Include quotearg.h immediately after config.h.
114372         No need to include stddef.h or sys/types.h any more.
114373         Surround local include files with "", not "<>".
114374         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
114375         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
114376         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
114377         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
114378         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
114379         (ISPRINT): Remove; no longer needed now that we assume C89.
114381         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
114382         Preserve errno.
114384         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
114385         quotearg_char): Use SIZE_MAX rather than
114386         (size_t) -1 when we are talking about "infinity".
114388         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
114390 2002-11-22  Paul Eggert  <eggert@twinsun.com>
114392         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
114393         hint that one should use `if (! x) abort ();' rather than `assert
114394         (x);', and anyway it's one less thing to worry about configuring.
114395         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
114396         hash_rehash, hash_insert): Use abort rather than assert.
114398 2002-11-22  Bruno Haible  <bruno@clisp.org>
114400         * lib/safe-read.h: Assume C89. Add comments.
114401         (safe_read): Change return type to size_t.
114402         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
114403         byte counts > SSIZE_MAX correctly.
114404         * lib/safe-write.h: New file.
114405         * lib/safe-write.c: New file.
114406         * lib/full-read.h: New file.
114407         * lib/full-read.c: New file.
114408         * lib/full-write.h: Assume C89. Add comments.
114409         * lib/full-write.c: Include safe-write.h.
114410         (full_write): Rewritten to use safe_write.
114411         Suggested by Jim Meyering and Paul Eggert.
114413 2002-11-21  Jim Meyering  <jim@meyering.net>
114415         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
114417         Merge in changes from the coreutils.
114419         2002-09-25  Paul Eggert  <eggert@twinsun.com>
114420         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
114421         <stdint.h>.
114422         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
114423         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
114424         int.  Work more efficiently if X is the same width as uintmax_t.
114425         Do not compare X to -1, to avoid bogus compiler warning.
114426         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
114427         Don't assume that f_frsize and f_bsize are the same type.
114429         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
114430         warning on FreeBSD.
114432         * lib/makepath.c (make_path): Restore umask *before* creating the final
114433         component.
114434         (make_path): Minor reformatting.
114436         * lib/xmalloc.c: Adjust to work with new autoconf macros,
114437         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
114438         HAVE_MALLOC/HAVE_REALLOC.
114440         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
114441         dummy ones.  At least on GNU/Linux systems, `auto' means something
114442         else.
114443         From Michael Stone.
114445 2002-11-21  Bruno Haible  <bruno@clisp.org>
114447         Remove case insensitive option matching.
114448         * lib/argmatch.h (argcasematch): Remove declaration.
114449         (ARGCASEMATCH): Remove macro.
114450         (__xargmatch_internal): Remove case_sensitive argument.
114451         (XARGMATCH): Update.
114452         (XARGCASEMATCH): Remove macro.
114453         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
114454         case_sensitive argument.
114455         (argcasematch): Remove function.
114456         (__xargmatch_internal): Remove case_sensitive argument.
114457         (main): Use XARGMATCH instead of XARGCASEMATCH.
114459         * lib/xmalloc.c: Change compile-time error message. Add comment about
114460         required autoconf version.
114462 2002-11-20  Paul Eggert  <eggert@twinsun.com>
114464         Merge argmatch cleanups from Bison.  Assume C89.
114466         * lib/argmatch.c: Include config.h here, not in argmatch.h.
114467         Include stdlib.h, for EXIT_FAILURE.
114468         Always include <string.h>, since we assume C89.
114469         (EXIT_FAILURE): Remove pre-C89 bug workaround.
114470         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
114471         Include <stddef.h> instead, since it's all we need for size_t.
114472         (PARAMS): Remove.  All uses removed.
114473         (ARRAY_CARDINALITY): Do not bother to #undef.
114474         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
114475         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
114476         Remove unnecessary parentheses.
114477         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
114478         Insert necessary parentheses.
114479         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
114480         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
114482 2002-11-19  Bruno Haible  <bruno@clisp.org>
114484         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
114485         * lib/mbswidth.h: Include <stddef.h>, for size_t.
114487         * lib/mbswidth.h (PARAMS): Remove macro.
114488         (mbswidth, mbsnwidth): Use ANSI C function declarations.
114489         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
114491         * lib/gcd.h (PARAMS): Remove macro.
114492         (gcd): Use ANSI C function declarations.
114493         * lib/gcd.c (gcd): Likewise.
114495 2002-11-15  Bruno Haible  <bruno@clisp.org>
114497         * lib/strcspn.c: Include <stddef.h>.
114498         (strcspn): Use ANSI C function declaration. Change return type to
114499         size_t. Use NULL.
114500         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
114501         (strpbrk): Use NULL.
114502         * lib/strpbrk.h (PARAMS): Remove macro.
114503         (strpbrk): Use ANSI C function declaration.
114504         * lib/strstr.c: Don't include <sys/types.h>.
114505         * lib/strstr.h (PARAMS): Remove macro.
114506         (strstr): Use ANSI C function declarations.
114508 2002-11-14  Karl Berry  <karl@gnu.org>
114510         * config/mkinstalldirs: `do' on separate line, instead of
114511         `for var; do'.
114513 2002-11-06  Bruno Haible  <bruno@clisp.org>
114515         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
114516         * lib/gcd.c (gcd): Likewise.
114518 2002-11-05  Bruno Haible  <bruno@clisp.org>
114520         * lib/gcd.h: New file, from gettext-0.11.5.
114521         * lib/gcd.c: New file, from gettext-0.11.5.
114523 2002-11-05  Bruno Haible  <bruno@clisp.org>
114525         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
114526         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
114527         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
114528         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
114530         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
114531         <libintl.h>.
114532         * lib/makepath.c: Include gettext.h instead of <locale.h> and
114533         <libintl.h>.
114535         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
114536         * lib/human.c: Include gettext.h instead of <libintl.h>.
114537         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
114538         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
114539         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
114540         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
114541         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
114542         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
114543         (textdomain): Remove definition.
114544         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
114546         * lib/long-options.c: Remove include of <libintl.h> and definition of
114547         _.
114548         * lib/same.c: Remove include of <libintl.h> and definition of _.
114550 2002-11-04  Owen Taylor  <otaylor@redhat.com>
114552         * lib/config.charset: A few additions for Solaris.
114554 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
114556         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
114557         * lib/localcharset.c (locale_charset): Declare as extern "C".
114559 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
114561         * lib/config.charset: msdos in uk_UA uses CP1125.
114563 2002-11-04  Bruno Haible  <bruno@clisp.org>
114565         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
114566         * lib/strcase.h: New file, from GNU gettext-0.11.5.
114567         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
114568         * lib/strstr.h: New file, from GNU gettext-0.11.5.
114569         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
114571 2002-11-04  Bruno Haible  <bruno@clisp.org>
114573         * lib/localcharset.c (locale_charset): Don't return an empty string.
114575 2002-11-04  Bruno Haible  <bruno@clisp.org>
114577         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
114578         aliases.
114580 2002-11-04  Bruno Haible  <bruno@clisp.org>
114582         * lib/config.charset: Update for newest glibc. Add canonical names
114583         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
114585 2002-11-04  Bruno Haible  <bruno@clisp.org>
114587         * lib/config.charset: Add support for NetBSD.
114589 2002-11-04  Bruno Haible  <bruno@clisp.org>
114591         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
114593 2002-11-01  Bruno Haible  <bruno@clisp.org>
114595         * configure.in: Add AC_CONFIG_AUX_DIR call.
114596         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
114597         test/Makefile.
114598         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
114600 2002-09-28  Karl Berry  <karl@gnu.org>
114602         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
114603         installed automake until the next release, since changes have been
114604         made.
114606 2002-09-25  Karl Berry  <karl@gnu.org>
114608         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
114609         * lib/getopt*: copy from libc/posix.
114610         * lib/gettext.h: copy from gettext.
114611         * lib/.cppi-disable: add strdup.c, gettext.h.
114613 2002-09-25  Karl Berry  <karl@gnu.org>
114615         * config/srclist.txt: enable gettext.h check.
114616         * config/config.{guess,sub}: update from prep.
114617         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
114618                 from automake 1.6.3.
114619         See srclist*.
114621 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
114623         * regex.c (PATFETCH): Remove the translating fetch.
114624         (PATFETCH_RAW): Rename to PATFETCH.
114625         (set_image_of_range): New fun.
114626         (SET_RANGE_TABLE_WORK_AREA): Use it.
114627         (regex_compile): Don't translate the pattern chars so eagerly.
114628         Only do it when inserting an `exactn' bytecode or when handling
114629         a char-range.
114630         (mutually_exclusive_p): Avoid empty statement.
114632 2002-07-06  Jim Meyering  <meyering@lucent.com>
114634         * m4/README: Don't mention Makefile.am.in.
114635         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
114637 2002-07-01  Jim Meyering  <meyering@lucent.com>
114639         * lib/c-stack.c: Include sys/time.h.
114640         From Volker Borchert.
114642 2002-06-26  Paul Eggert  <eggert@twinsun.com>
114644         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
114646 2002-06-26  Paul Eggert  <eggert@twinsun.com>
114648         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
114649         New macro.  Use it uniformly instead of
114650         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
114651         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
114652         reported by Vin Shelton.
114654 2002-06-22  Paul Eggert  <eggert@twinsun.com>
114656         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
114657         Do not assume SA_SIGINFO behavior.
114658         Bug reported by Jim Meyering on NetBSD 1.5.2.
114660 2002-06-22  Jim Meyering  <meyering@lucent.com>
114662         * m4/c-stack.m4: New file, from diffutils-2.8.2.
114663         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
114665         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
114666         now that configure.ac uses AC_GNU_SOURCE.
114667         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
114668         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
114670         Update to latest tools.  Suggestions from Paul Eggert.
114671         * m4/stdbool.m4: New file, from diffutils-2.8.2.
114672         * m4/gnu-source.m4: Update from diffutils-2.8.2.
114673         * m4/fnmatch.m4: Likewise.
114674         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
114675         to AC_HEADER_STDBOOL
114677 2002-06-22  Jim Meyering  <meyering@lucent.com>
114679         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
114680         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
114682 2002-06-22  Jim Meyering  <meyering@lucent.com>
114684         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
114686         * lib/exitfail.c, exitfail.h: Likewise.
114687         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
114689         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
114690         of fnmatch.h.
114691         (EXTRA_DIST): Add fnmatch_loop.c.
114692         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
114694         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
114695         * lib/fnmatch.c: Update from diffutils-2.8.2.
114696         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
114697         * lib/fnmatch.h: Remove file.
114699 2002-06-21  Jim Meyering  <meyering@lucent.com>
114701         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
114702         * m4/mbrtowc.m4: Likewise.
114704         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
114705         * m4/mbswidth.m4: Reflect name change:
114706         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
114707         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
114709         * m4/lib-link.m4: Update from gettext-0.11.2.
114710         * m4/gettext.m4: Likewise.
114712         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
114713         From Alfred M. Szmidt.
114715 2002-06-18  Paul Eggert  <eggert@twinsun.com>
114717         * lib/file-type.h: Report an error if neither S_ISREG nor
114718         S_IFREG is defined, instead of using a test specific to glibc
114719         2.2.  This should be safe, since POSIX requires S_ISREG and
114720         Unix Version 7 had S_IFREG.  We don't need to check for
114721         <sys/types.h> since we don't use any symbols that it defines.
114723 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
114725         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
114726         $@-t, so that each temporary file name is unique and valid in the first
114727         8 characters, for operation under DOS.
114729 2002-06-15  Paul Eggert  <eggert@twinsun.com>
114731         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
114733 2002-06-15  Jim Meyering  <meyering@lucent.com>
114735         Work even with DJGPP 2.03, which lacks support for symlinks.
114736         From Richard Dawe.
114737         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
114738         is defined.
114739         * lib/lchown.c (S_ISLNK): Likewise.
114741 2002-06-15  Jim Meyering  <meyering@lucent.com>
114743         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
114744         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
114745         have been included before this file.
114747 2002-06-14  Jim Meyering  <meyering@lucent.com>
114749         * lib/file-type.h: Use the version from diffutils-2.8.2.
114750         * lib/file-type.c: Likewise.
114752 2002-06-07  Jim Meyering  <meyering@lucent.com>
114754         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
114755         They're needed at least for NetBSD 1.5.2.
114756         ($statxfs_includes): Include those same headers.
114757         ($statxfs_includes): Include sys/vfs.h if available.
114758         ($statxfs_includes): Likewise for sys/statvfs.h.
114759         Check for the following members in both structs statfs and statvfs:
114760         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
114762 2002-06-01  Jim Meyering  <meyering@lucent.com>
114764         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
114765         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
114767 2002-05-28  Jim Meyering  <meyering@lucent.com>
114769         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
114770         Reported by Volker Borchert.
114772 2002-05-27  Jim Meyering  <meyering@lucent.com>
114774         Fix a problem seen only on nonconforming systems whereby ls.c's
114775         use of localtime, and then of gettimeofday would cause trouble:
114776         the localtime call used to initialize rpl_gettimeofday's save
114777         mechanism would clobber ls's current local time information so
114778         that in any long listing the first file would always be listed
114779         with date 1970-01-01.  Analysis by Volker Borchert.
114781         * lib/gettimeofday.c (localtime): Undefine.
114782         (rpl_localtime): New function.
114784 2002-05-27  Jim Meyering  <meyering@lucent.com>
114786         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
114787         localtime.
114789         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
114790         use the replacement function; it wouldn't resolve at link time.
114791         Reported by Volker Borchert.
114793 2002-05-22  Jim Meyering  <meyering@lucent.com>
114795         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
114796         file-type.h.
114797         * lib/file-type.h: New file.
114798         * lib/file-type.c (file_type): New file/function.  Extracted from
114799         diffutils.
114801 2002-04-30  Jim Meyering  <meyering@lucent.com>
114803         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
114805 2002-04-29  Paul Eggert  <eggert@twinsun.com>
114807         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
114809 2002-04-29  Paul Eggert  <eggert@twinsun.com>
114811         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
114812         Do not check for alloca.h (no longer used) or stdbool.h (was never
114813         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
114815 2002-04-29  Paul Eggert  <eggert@twinsun.com>
114817         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
114819 2002-04-29  Jim Meyering  <meyering@lucent.com>
114821         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
114822         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
114823         Use AC_FUNC_STRNLEN here instead.
114825         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
114826         With autoconf-2.53a, it's part of AC_PROG_CC.
114828 2002-04-28  Paul Eggert  <eggert@twinsun.com>
114830         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
114831         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
114833 2002-04-28  Paul Eggert  <eggert@twinsun.com>
114835         * lib/sig2str.h, lib/sig2str.c: New files.
114836         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
114838 2002-04-28  Paul Eggert  <eggert@twinsun.com>
114840         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
114841         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
114842         of 127, since 64 is the largest conceivable number for ancient
114843         nonstandard hosts.
114844         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
114846 2002-04-28  Jim Meyering  <meyering@lucent.com>
114848         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
114850 2002-04-24  Jim Meyering  <meyering@lucent.com>
114852         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
114853         (jm_PREREQ): Use it.
114855         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
114856         mach/mach.h fcntl.h.
114857         Check for this function: setlocale.
114859 2002-04-24  Jim Meyering  <meyering@lucent.com>
114861         * lib/gettext.h: New file, from Gettext.
114862         * lib/Makefile.am (INCLUDES): Remove -I../intl.
114863         (libfetish_a_SOURCES): Add gettext.h.
114865 2002-04-16  Jim Meyering  <meyering@lucent.com>
114867         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
114868         ut_pid, ut_id, ut_exit.
114870 2002-04-16  Jim Meyering  <meyering@lucent.com>
114872         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
114873         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
114874         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
114876 2002-04-12  Jim Meyering  <meyering@lucent.com>
114878         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
114879         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
114880         existence of the getmntinfo function.  Needed for Darwin 5.3.
114882         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
114883         This is necessary at least on Darwin 5.3.
114885         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
114886         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
114887         strnlen.o in the library, and that makes some versions of ranlib
114888         object.
114890 2002-04-12  Jim Meyering  <meyering@lucent.com>
114892         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
114894 2002-04-09  Jim Meyering  <meyering@lucent.com>
114896         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
114897         to be more precise.  Rather than saying we're checking whether the
114898         function `works', say what we're testing.
114899         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
114900         Reported by Bruno Haible.
114902 2002-03-10  Jim Meyering  <meyering@lucent.com>
114904         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
114905         Suggestion from Santiago Vila.
114907 2002-03-08  Jim Meyering  <meyering@lucent.com>
114909         * lib/rename.c: Mention that this wrapper is needed also on
114910         mips-dec-ultrix4.4 systems.
114912 2002-03-02  Jim Meyering  <meyering@lucent.com>
114914         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
114915         not HAVE_CLOCK_SETTIME.
114917 2002-02-27  Paul Eggert  <eggert@twinsun.com>
114919         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
114920         Check for clock_settime.
114922 2002-02-27  Paul Eggert  <eggert@twinsun.com>
114924         * lib/nanosleep.h: Rename to....
114925         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
114927         * lib/gettime.c: New file.
114928         * lib/settime.c: New file.
114929         * lib/stime.c: Remove.
114931         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
114932         timespec.h.  Remove nanosleep.h.
114934 2002-02-25  Paul Eggert  <eggert@twinsun.com>
114936         * m4/acl.m4: New file.
114937         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
114938         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
114940 2002-02-25  Paul Eggert  <eggert@twinsun.com>
114942         * lib/acl.c, lib/acl.h: New files.
114943         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
114945 2002-02-24  Jim Meyering  <meyering@lucent.com>
114947         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
114948         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
114949         cause trouble.  Reported by Nelson Beebe.
114951 2002-02-23  Paul Eggert  <eggert@twinsun.com>
114953         * lib/path-concat.c (xpath_concat): Reorder code to pacify
114954         compilers that don't know that xalloc_die never returns.
114956 2002-02-20  Jim Meyering  <meyering@lucent.com>
114958         * lib/getdate.c: Regenerate using bison-1.33.
114960 2002-02-17  Jim Meyering  <meyering@lucent.com>
114962         * config/config.guess (main): Don't use `head -1'; it's no longer
114963         portable. Use `sed 1q' instead.
114965 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
114967         * m4/codeset.m4: Upgrade to gettext-0.11.
114968         * m4/gettext.m4: Upgrade to gettext-0.11.
114969         * m4/glibc21.m4: Upgrade to gettext-0.11.
114970         * m4/iconv.m4: Upgrade to gettext-0.11.
114971         * m4/isc-posix.m4: Upgrade to gettext-0.11.
114972         * m4/lcmessage.m4: Upgrade to gettext-0.11.
114973         * m4/lib-ld.m4: New file, from gettext-0.11.
114974         * m4/lib-link.m4: New file, from gettext-0.11.
114975         * m4/lib-prefix.m4: New file, from gettext-0.11.
114976         * m4/progtest.m4: Upgrade to gettext-0.11.
114978 2002-02-15  Paul Eggert  <eggert@twinsun.com>
114980         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
114981         (jm_PREREQ): Use it.
114983 2002-02-15  Paul Eggert  <eggert@twinsun.com>
114985         * lib/posixver.c, lib/posixver.h: New files.
114986         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
114988 2002-02-02  Paul Eggert  <eggert@twinsun.com>
114989             Bruno Haible  <bruno@clisp.org>
114991         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
114992         (fwrite_success_callback): New declaration.
114993         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
114994         print_unicode_char. Call failure callback instead of error.
114995         (fwrite_success_callback): New function.
114996         (exit_failure_callback): New function.
114997         (fallback_failure_callback): New function.
114998         (print_unicode_char): Call unicode_to_mb.
115000 2002-01-26  Jim Meyering  <meyering@lucent.com>
115002         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
115003         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
115005 2002-01-26  Jim Meyering  <meyering@lucent.com>
115007         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
115009 2002-01-22  Paul Eggert  <eggert@twinsun.com>
115011         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
115013 2002-01-22  Jim Meyering  <meyering@lucent.com>
115015         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
115016         Otherwise, some versions of automake would omit the rule that makes
115017         Makefile from Makefile.in.
115019 2002-01-21  Paul Eggert  <eggert@twinsun.com>
115021         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
115022         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
115023         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
115024         (memcoll): Set errno to zero if there is no error.
115026         * lib/quotearg.c (quotearg_buffer_restyled):
115027         Fix bug with quoting buffers containing NUL when backslashing escapes.
115028         This bug was exposed by the other changes in this patch.
115029         (quotearg_n_options): New arg ARGSIZE.
115030         All callers changed.
115031         (quoting_options_from_style): New function.
115032         (quotearg_n_style): Use it.
115033         (quotearg_n_style_mem): New function.
115035         * lib/quotearg.h (quotearg_n_style_mem): New function.
115037 2002-01-19  Jim Meyering  <meyering@lucent.com>
115039         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
115040         Remove useless quotes: DF_PROG="df".
115041         * m4/strnlen.m4: New file.
115043 2002-01-16  Paul Eggert  <eggert@twinsun.com>
115045         * lib/backupfile.c (ISDIGIT): Comment fix.
115046         * lib/getdate.y (ISDIGIT): Likewise.
115047         * lib/posixtm.c (ISDIGIT, year): Likewise.
115048         * lib/strverscmp.c (ISDIGIT): Likewise.
115049         * lib/userspec.c (ISDIGIT): Likewise.
115051 2002-01-16  Jim Meyering  <meyering@lucent.com>
115053         * lib/getdate.y: Add three semicolons, each just before a closing
115054         brace. Bison (as of version 1.31) no longer papers over that mistake.
115056 2002-01-05  Jim Meyering  <meyering@lucent.com>
115058         * lib/version-etc.c (version_etc_copyright): Update copyright year.
115060 2001-12-19  Paul Eggert  <eggert@twinsun.com>
115062         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
115063         not silently exit merely because the output buffer happens to
115064         have nothing pending.
115066 2001-12-18  Paul Eggert  <eggert@twinsun.com>
115068         See the big note in ../ChangeLog.
115069         * lib/human.c (suffixes): Prefer K to k for 1024.
115070         (generate_suffix_backwards): New function.
115071         (human_readable_inexact): Use it.
115072         * lib/xstrtol.c (__xstrtol): If there is no number but there
115073         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
115074         Accept 'K' as well as 'k'.
115076 2001-12-15  Jim Meyering  <meyering@lucent.com>
115078         * lib/regex.h (__restrict_arr): Update from libc.
115080         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
115081         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
115082         (STREQ): Define.
115084 2001-12-14  Jim Meyering  <meyering@lucent.com>
115086         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
115087         Suggestion from Bruno Haible.
115089 2001-12-10  Jim Meyering  <meyering@lucent.com>
115091         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
115092         xrealloc, Instead, include "xalloc.h".
115093         (initbuffer): Don't cast xmalloc return value to char*.
115094         (readline): Reword comment.
115095         Don't cast xrealloc return value to char*
115096         Return NULL, not 0.
115098 2001-12-09  Jim Meyering  <meyering@lucent.com>
115100         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
115101         about `signed and unsigned type in conditional expression'.
115102         * lib/posixtm.c (posix_time_parse): Likewise.
115104         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
115106         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
115107         to avoid a pedantic warning.
115109         * lib/getstr.c: Don't include assert.h.
115110         (getstr): Remove warning-evoking assertions.
115111         Return -1 if offset parameter is out of bounds.
115112         Change the type of a local from int to size_t.
115114         * lib/strftime.c (my_strftime_localtime_r): Include this function
115115         definition in the `#if ! HAVE_TM_GMTOFF' block.
115117         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
115118         Include xalloc.h instead.
115120 2001-12-02  Jim Meyering  <meyering@lucent.com>
115122         * lib/tempname.c: Don't declare getenv, thus reverting the change of
115123         2001-11-18.  It's no longer necessary, now that stdlib.h is always
115124         included.
115126         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
115127         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
115129 2001-11-30  Akim Demaille  <akim@epita.fr>
115131         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
115132         before being defined.
115134 2001-11-27  Paul Eggert  <eggert@twinsun.com>
115136         * lib/quotearg.h (quotearg_n, quotearg_n_style):
115137         First arg is int, not unsigned.
115138         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
115139         (SIZE_MAX, UINT_MAX): New macros.
115140         (quotearg_n_options): Abort if N is negative.
115141         Avoid overflow check on hosts where size_t is 64 bits and int
115142         is 32 bits, as overflow is impossible there.
115143         Fix off-by-one typo that caused unnecessary reallocation.
115145 2001-11-27  Jim Meyering  <meyering@lucent.com>
115147         * lib/tempname.c: Merge with version from libc.
115148         * lib/regex.c: Likewise.
115150         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
115151         systems for which STDC_HEADERS is 0, it was not included, resulting in
115152         a warning about an integer-to-pointer conversion problem with getenv.
115153         Reported by Volker Borchert.
115155 2001-11-26  Jim Meyering  <meyering@lucent.com>
115157         * lib/gtod.h: Remove file.
115158         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
115159         * lib/gettimeofday.c: Don't include gtod.h.
115160         (GTOD_init): Remove function.
115161         (rpl_gettimeofday): Do its job here instead, rather than aborting.
115162         Suggestion from Volker Borchert.
115164 2001-11-23  Jim Meyering  <meyering@lucent.com>
115166         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
115167         it.
115168         * lib/hash.c (struct hash_table): Define it here instead.
115170 2001-11-22  Jim Meyering  <meyering@lucent.com>
115172         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
115174 2001-11-20  Jim Meyering  <meyering@lucent.com>
115176         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
115177         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
115179 2001-11-19  Jim Meyering  <meyering@lucent.com>
115181         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
115182         directory.  Use "conftestXXXXXX" as the template.
115183         Suggestion from Paul Eggert.
115185         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
115186         immediately, so the test doesn't mistakenly hit the max-open-files
115187         limit.
115189 2001-11-18  Paul Eggert  <eggert@twinsun.com>
115191         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
115192         (TEMPORARIES): New macro.
115193         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
115194         removes an artificial limitation (e.g. HP-UX 10.20, where
115195         TMP_MAX is 17576).
115197 2001-11-18  Jim Meyering  <meyering@lucent.com>
115199         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
115201 2001-11-18  Jim Meyering  <meyering@lucent.com>
115203         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
115204         on SunOS 4.
115206         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
115207         files will be created before anything else.
115209 2001-11-17  Paul Eggert  <eggert@twinsun.com>
115211         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
115212         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
115214 2001-11-17  Jim Meyering  <meyering@lucent.com>
115216         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
115217         Prompted by a report from Bob Proulx.
115219         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
115220         Instead, require UTILS_FUNC_MKSTEMP.
115222 2001-11-17  Jim Meyering  <meyering@lucent.com>
115224         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
115225         Now, that's done as part of AC_FUNC_STRTOD.
115227 2001-11-17  Jim Meyering  <meyering@lucent.com>
115229         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
115230         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
115231         rather than group writable.  Patch by Juan F. Codagnone.
115233         * lib/readtokens.c: Remove explicit declarations of xmalloc and
115234         xrealloc, Instead, include "xalloc.h".
115236         * lib/mountlist.c: Include unlocked-io.h after all system headers.
115237         Remove explicit declarations of xmalloc, xrealloc,
115238         and xstrdup.  Instead, include "xalloc.h".
115240         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
115241         unlocked-io.h.
115242         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
115243         Likewise.
115244         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
115246         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
115247         Reported by Padraig Brady.
115249         * lib/mkstemp.c: #undef mkstemp.
115250         Include config.h.
115251         (rpl_mkstemp): Rename from mkstemp.
115252         Protoize.
115254 2001-11-16  Jim Meyering  <meyering@lucent.com>
115256         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
115257         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
115258         determine the amount of total physical memory, use pstat_getstatic.
115259         HPUX-11 doesn't define _SC_PHYS_PAGES.
115260         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
115261         If sysconf couldn't be used to determine the amount of available
115262         physical memory, use both pstat_getstatic and pstat_getdynamic.
115263         Based on a patch from Bob Proulx.
115265 2001-11-10  Jim Meyering  <meyering@lucent.com>
115267         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
115268         (jm_PREREQ): Use it.
115270 2001-11-09  Jim Meyering  <meyering@lucent.com>
115272         * m4/jm-macros.m4: Require autoconf-2.52f.
115273         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
115274         Use these AC_-prefixed names, not the AM_-prefixed ones.
115276         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
115278 2001-11-05  Jim Meyering  <meyering@lucent.com>
115280         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
115282 2001-11-04  Jim Meyering  <meyering@lucent.com>
115284         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
115285         $DEFS.
115287 2001-11-03  Jim Meyering  <meyering@lucent.com>
115289         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
115290         of AC_DEFUN.
115292         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
115293         know the name of the variable in the macro definition.
115295 2001-11-03  Jim Meyering  <meyering@lucent.com>
115297         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
115298         in argmatch_to_argument call.
115300         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
115301         argument.
115303         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
115304         e.g., a fault due to an attempt to free a NULL pointer.
115306 2001-11-01  Jim Meyering  <meyering@lucent.com>
115308         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
115309         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
115311 2001-11-01  Jim Meyering  <meyering@lucent.com>
115313         * lib/dirfd.c, lib/dirfd.h: New files.
115314         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
115316         * lib/hash.c (hash_print) [TESTING]: Clean up.
115318 2001-10-22  Paul Eggert  <eggert@twinsun.com>
115320         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
115321         to avoid a warning if -Wall.
115323 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
115325         * README: New file
115326         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
115327         (per RMS's instructions, this is now the canonical source)
115328         * lgpl/, gpl/: New directories.
115330 2001-10-21  Paul Eggert  <eggert@twinsun.com>
115332         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
115334 2001-10-21  Jim Meyering  <meyering@lucent.com>
115336         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
115337         this code would end up calling gettext even in packages built
115338         with --disable-nls.
115339         * lib/getopt.c (_): Likewise.
115340         * lib/regex.c (_): Likewise.
115342 2001-10-20  Paul Eggert  <eggert@twinsun.com>
115344         * m4/error.m4 (jm_PREREQ_ERROR):
115345         Do not invoke AC_CHECK_FUNCS with strerror_r, as
115346         AC_FUNC_STRERROR_R does that.
115347         Check for strerror declaration.
115349         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
115350         are supposed to have them these days.
115351         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
115352         Merge changes from latest Autoconf CVS.
115353         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
115354         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
115355         POSIX decided to standardize on the int flavor of strerror_r.
115357 2001-10-20  Paul Eggert  <eggert@twinsun.com>
115359         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
115360         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
115361         Use strerror_r that is only a macro, even if it is not a function.
115362         (strerror): Check for HAVE_DECL_STRERROR before declaring.
115363         (private_strerror): Use prototypes, not old-style function definition.
115364         (print_errno_message): New function.
115365         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
115366         char*-flavored one.
115367         (error_tail, error, error_at_line): Use it.
115369 2001-10-11  Jim Meyering  <meyering@lucent.com>
115371         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
115372         and quote_n (1, ... to avoid clobbering a buffer.
115374 2001-10-05  Jim Meyering  <meyering@lucent.com>
115376         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
115377         hash-pjw.h.
115378         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
115379         * lib/hash-pjw.h: New file.
115381 2001-09-30  Jim Meyering  <meyering@lucent.com>
115383         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
115384         `struct fsstat' has the `f_fstypename' member.
115385         Use that to define FS_TYPE, which is now used to make
115386         the getfsstat link test tighter.
115388 2001-09-30  Jim Meyering  <meyering@lucent.com>
115390         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
115391         Include <sys/ucred.h>, for Apple Darwin.
115392         Include sys/mount.h and sys/fs_types.h only if available.
115393         (FS_TYPE): Define.
115394         (read_filesystem_list): Use FS_TYPE.
115396 2001-09-29  Paul Eggert  <eggert@twinsun.com>
115398         * lib/exclude.c (excluded_filename): 0 -> false, since it's
115399         a boolean context.
115401 2001-09-29  Jim Meyering  <meyering@lucent.com>
115403         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
115404         [one-argument getmntent function]): Include stdio.h before mntent.h.
115405         SunOS 4.1.x needs it for the declaration of `FILE'.
115406         Patch by Volker Borchert.
115408         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
115409         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
115410         sys/fs_types.h, and make the link-test for getfsstat guard #include
115411         directives with appropriate #if HAVE_*_H tests so that we can
115412         detect getfsstat on Apple Darwin1.3.7 systems.
115413         Reported by Nelson Beebe.
115414         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
115416 2001-09-28  Paul Eggert  <eggert@twinsun.com>
115418         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
115419         #defines strtoimax.  Also treat the other strto* functions
115420         like strtoimax.
115422         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
115423         Check for strtoul and strtoumax,
115424         as those declarations are made even in the signed case.
115425         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
115426         Likewise, for strtol and strtoimax.
115428 2001-09-28  Paul Eggert  <eggert@twinsun.com>
115430         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
115431         #defines strtoimax.  Also treat the other strto* functions
115432         like strtoimax.
115434         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
115435         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
115436         (strtoimax, strtoumax): Do not declare if already defined as a macro.
115438 2001-09-26  Jim Meyering  <meyering@lucent.com>
115440         Most macros in unlocked-io.h had the wrong number of arguments.
115441         * lib/gen-uio: New script.
115442         (USE_UNLOCKED_IO): Define to 1 if not already defined.
115443         * lib/unlocked-io.hin: Remove file.
115444         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
115445         rather than trying to embed it here.
115446         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
115447         Reported by Padraig Brady.
115449 2001-09-25  Volker Borchert  <bt@teknon.de>
115451         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
115452         `result'.
115454 2001-09-24  Jim Meyering  <meyering@lucent.com>
115456         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
115458 2001-09-23  Jim Meyering  <meyering@lucent.com>
115460         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
115461         instead of the mere test for existence of mntent.h.  The latter
115462         would get a false-positive on AIX 3.4 systems.
115463         In the outer getmntent if-block, don't die if neither of the getmntent
115464         tests succeeds.  Instead, just fall through and continue with the
115465         remaining tests.
115467 2001-09-23  Jim Meyering  <meyering@lucent.com>
115469         * lib/mountlist.c: Remove useless parentheses in #if directives.
115470         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
115471         the deprecated MOUNTED symbol is no longer defined in mntent.h.
115473 2001-09-22  Jim Meyering  <meyering@lucent.com>
115475         * m4/gettext.m4: New file.  From gettext.
115476         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
115477         * m4/progtest.m4: Likewise
115478         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
115479         * m4/glibc21.m4: Likewise.
115481         * m4/libintl.m4: Remove.  No longer used.
115483 2001-09-22  Jim Meyering  <meyering@lucent.com>
115485         * lib/localcharset.c: Update from latest gettext.
115486         * lib/config.charset: Likewise.
115488 2001-09-20  Jim Meyering  <meyering@lucent.com>
115490         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
115491         strtoimax.
115492         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
115493         strtoumax.
115495 2001-09-20  Jim Meyering  <meyering@lucent.com>
115497         * lib/xstrtol.c (strtoimax): Guard declaration with
115498         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
115499         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
115500         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
115501         (strtoumax): Likewise, for completeness (it wasn't necessary).
115503 2001-09-17  Paul Eggert  <eggert@twinsun.com>
115505         * lib/strtoimax.c (HAVE_LONG_LONG):
115506         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
115507         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
115508         to work around bug in IBM C compiler.
115510 2001-09-17  Jim Meyering  <meyering@lucent.com>
115512         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
115513         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
115514         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
115515         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
115516         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
115517         whenever the right hand side need not be expanded by the shell.
115519 2001-09-16  Paul Eggert  <eggert@twinsun.com>
115521         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
115522         library.  It's not correct, as some older glibcs are buggy.
115523         fnmatch wasn't fixed until glibc 2.2.
115525         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
115526         special shell magic here.
115528 2001-09-16  Jim Meyering  <meyering@lucent.com>
115530         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
115531         * m4/jm-macros.m4: Require it.
115533 2001-09-16  Jim Meyering  <meyering@lucent.com>
115535         * lib/mkdir.c: New file.
115537 2001-09-15  Jim Meyering  <meyering@lucent.com>
115539         * m4/jm-macros.m4: Check for help2man.
115541 2001-09-11  Jim Meyering  <meyering@lucent.com>
115543         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
115544         The body, by Paul Eggert, was moved here from configure.in.
115545         * m4/jm-macros.m4: Require UTILS_HOST_OS.
115547 2001-09-04  Paul Eggert  <eggert@twinsun.com>
115549         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
115550         (jm_PREREQ): Use it.
115552 2001-09-04  Paul Eggert  <eggert@twinsun.com>
115554         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
115555         Use ssize_t, not int, to store result of readlink.
115556         Check for ssize_t overflow as well as size_t overflow,
115557         as POSIX says the result of readlink is implementation-defined
115558         when ssize_t overflows.
115559         Remove unnecessary cast to char*.
115560         Use free+malloc instead of realloc, as the storage doesn't need
115561         to be preserved and it's clearer and can be more efficient that way.
115562         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
115563         * lib/xreadlink.h (xreadlink): Update prototype.
115565 2001-09-04  Paul Eggert  <eggert@twinsun.com>
115567         * lib/xgetcwd.c: Revert some of the previous change; intead,
115568         fix the HAVE_GETCWD_NULL code to behave more like the
115569         !HAVE_GETCWD_NULL code used to.
115571         Include "xalloc.h".
115572         (xgetcwd): Do not return NULL when memory is exhausted; instead,
115573         invoke xalloc_die.
115575 2001-09-03  Paul Eggert  <eggert@twinsun.com>
115577         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
115578         sys/param.h, as pathmax.h includes them.
115580 2001-09-03  Paul Eggert  <eggert@twinsun.com>
115582         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
115583         (jm_PREREQ_XGETCWD): New macro.
115585         * m4/getcwd.m4: New file.
115587 2001-09-03  Paul Eggert  <eggert@twinsun.com>
115589         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
115590         like the HAVE_GETCWD_NULL code.
115591         Include pathmax.h if not HAVE_GETCWD.
115592         Do not include xalloc.h.
115593         (INITIAL_BUFFER_SIZE): New symbol.
115594         Do not use xmalloc / xrealloc, since the caller is responsible for
115595         handling errors.  Preserve errno around `free' during failure.
115596         Do not overrun buffer when using getwd.
115598 2001-09-03  Paul Eggert  <eggert@twinsun.com>
115600         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
115601         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
115602         getcwd (NULL, 0).
115604 2001-09-03  Paul Eggert  <eggert@twinsun.com>
115606         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
115607         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
115608         spotted by Jim Meyering.
115610 2001-09-03  Jim Meyering  <meyering@lucent.com>
115612         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
115613         failure.
115615 2001-09-02  Jim Meyering  <meyering@lucent.com>
115617         * lib/error.c: Update from GNU libc.
115619 2001-09-01  Jim Meyering  <meyering@lucent.com>
115621         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
115622         Used by df.
115624 2001-09-01  Jim Meyering  <meyering@lucent.com>
115626         * lib/xreadlink.c: New file.
115627         * lib/xreadlink.h: New file.
115628         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
115629         xreadlink.h.
115631         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
115632         doesn't conflict with sparc Solaris 7's definition in
115633         /usr/include/sys/int_types.h.
115635         * lib/exclude.c: Use `""', not `<>' to #include non-system header
115636         files.
115637         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
115638         and strncasecmp as r-values.  Unixware didn't have declarations.
115640 2001-08-31  Paul Eggert  <eggert@twinsun.com>
115642         * lib/xstrtol.h: Add copyright notice.
115643         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
115644         LONGINT_INVALID_SUFFIX_CHAR.
115646 2001-08-31  Paul Eggert  <eggert@twinsun.com>
115648         * lib/xstrtol.c (strtoimax): New decl.
115650 2001-08-31  Paul Eggert  <eggert@twinsun.com>
115652         * lib/xgetcwd.c: Don't include pathmax.h.
115653         Include stdlib.h and unistd.h if available.
115654         Include xalloc.h.
115655         (xmalloc, xstrdup, free): Remove decls.
115656         (xgetcwd): Don't assume sizes fit in unsigned.
115657         Check for overflow when computing sizes.
115658         Simplify reallocation code.
115660 2001-08-31  Paul Eggert  <eggert@twinsun.com>
115662         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
115663         a directory's st_size can have an arbitrary value, so the old
115664         usage could waste an arbitrary amount of memory.  All uses
115665         changed.
115666         * lib/savedir.h: Update prototype.
115668 2001-08-31  Paul Eggert  <eggert@twinsun.com>
115670         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
115672         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
115673         old strtoimax.c.
115675         Also, make the following further changes to make this file's
115676         configuration more similar to that of strtol.c:
115677         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
115678         (strtoumax, uintmax_t, strtoull, strtol): Remove.
115679         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
115680         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
115681         changed to signed values.
115683         And make the following changes as well:
115684         Fix copyright notice, as 1999 was missing.
115685         (verify): New macro.
115686         (strtoimax): Check sizes at compile-time, not run-time.
115687         Prefer strtol to strtoll if both work.
115688         (main): Remove; it was not that useful and was a pain to maintain.
115690         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
115692 2001-08-31  Jim Meyering  <meyering@lucent.com>
115694         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
115695         Use an initial, malloc'd, buffer of length 128 rather than
115696         a statically allocated one of length 1024.
115698 2001-08-30  Paul Eggert  <eggert@twinsun.com>
115700         Simplify code, partly by assuming autoconf 2.52 semantics.
115702         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
115704         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
115705         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
115706         All uses removed.
115707         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
115708         Move AC_REQUIRE to next-to-top level, to avoid confusion.
115709         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
115710         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
115711         jm_AC_HEADER_INTTYPES_H.
115712         * m4/jm-macros.m4 (jm_MACROS): Likewise.
115714         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
115716         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
115717         Quote first arg of AC_DEFUN.
115718         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
115719         since they are needed to parse the include file even if we need
115720         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
115721         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
115722         but with opposite signedness.
115724 2001-08-30  Paul Eggert  <eggert@twinsun.com>
115726         Merge 'exclude' changes from tar 1.13.22.
115727         This fixes one or two unlikely storage allocation overflow bugs,
115728         but doesn't change user-visible behavior otherwise.
115730 2001-08-30  Paul Eggert  <eggert@twinsun.com>
115732         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
115733         (jm_PREREQ_EXCLUDE): New macro.
115735 2001-08-30  Paul Eggert  <eggert@twinsun.com>
115737         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
115738         tm to be declared.
115740 2001-08-30  Paul Eggert  <eggert@twinsun.com>
115742         * lib/hash.c: Remove '2001' from copyright notice.
115744 2001-08-30  Paul Eggert  <eggert@twinsun.com>
115746         * lib/full-write.h: New file.
115747         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
115748         * lib/full-write.c: Correct credits, as cccp.c no longer
115749         exists and anyway it was so heavily changed from the old cccp
115750         code as to be unrecognizable.  Include full-write.h.
115751         (full_write): Return size_t, with short writes meaning failure.
115752         All callers changed.  This fixes a bug with large buffers
115753         on 64-bit hosts.
115754         * lib/utime.c: Include full-write.h.
115756 2001-08-30  Paul Eggert  <eggert@twinsun.com>
115758         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
115759         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
115760         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
115761         Include if available.
115762         (<xalloc.h>): Include
115763         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
115764         (verify): New macro.  Use it to verify that EXCLUDE macros do not
115765         collide with FNM macros.
115766         (struct patopts): New struct.
115767         (struct exclude): Use it, as exclude patterns now come with options.
115768         (new_exclude): Support above changes.
115769         (new_exclude, add_exclude_file):
115770         Initial size must now be a power of two to simplify overflow checking.
115771         (free_exclude, fnmatch_no_wildcards): New function.
115772         (excluded_filename): No longer requires options arg, as the options
115773         are determined by add_exclude.  Now returns bool, not int.
115774         (excluded_filename, add_exclude):
115775         Add support for the fancy new exclusion options.
115776         (add_exclude, add_exclude_file): Now takes int options arg.
115777         Check for arithmetic overflow when computing sizes.
115778         (add_exclude_file): xrealloc might modify errno, so don't
115779         realloc until after errno might be used.
115781         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
115782         New macros.
115783         (free_exclude): New decl.
115784         (add_exclude, add_exclude_file): Now takes int options arg.
115785         (excluded_filename): No longer requires options arg, as the options
115786         are determined by add_exclude.  Now returns bool, not int.
115788 2001-08-30  Paul Eggert  <eggert@twinsun.com>
115790         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
115792 2001-08-27  Jim Meyering  <meyering@lucent.com>
115794         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
115796         * lib/version-etc.c (N_): Remove definition.
115797         Revert most of last change.
115798         Instead, simply don't mark the `Copyright...' string for translation.
115799         Based on advice from Paul Eggert.
115801         * lib/strtoxmax.c: Tweak comment.
115803 2001-08-26  Jim Meyering  <meyering@lucent.com>
115805         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
115807         * m4/xstrtoimax.m4: New file.
115808         * m4/xstrtoumax.m4: Add comments explaining why we
115809         AC_REPLACE_FUNCS(strtol).
115811 2001-08-26  Jim Meyering  <meyering@lucent.com>
115813         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
115814         of copyright with `%s' so translators don't get an untranslated
115815         message in 2002.
115816         (COPYRIGHT_YEAR): Define.
115817         (version_etc): Use fprintf rather than fputs.
115818         Suggestion from Ulrich Drepper.
115820         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
115822         * lib/strtoll.c: New file, from GNU libc.
115823         * lib/xstrtoimax.c: New file.
115825         * lib/xstrtol.h: Add xstrtoimax.
115826         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
115827         * lib/strtoimax.c: New file.  Likewise, but first define
115828         STRTOUXMAX_SIGNED.
115830         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
115831         ...
115832         * lib/strtoxmax.c: ... then renamed to this.
115834 2001-08-18  Paul Eggert  <eggert@twinsun.com>
115836         * m4/inttypes.m4: Add AC_PREREQ(2.13).
115837         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
115838         (jm_AC_TYPE_INTMAX_T): New macro.
115839         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
115841         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
115843         * m4/longlong.m4: Renamed from ulonglong.m4.
115844         * m4/inttypes.m4: Renamed from inttypes_h.m4.
115845         * m4/uintmax_t.m4: Removed.
115847 2001-08-13  Paul Eggert  <eggert@twinsun.com>
115849         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
115850         Port to Solaris 8, where 'sed' requires a space after the 'r'
115851         command, and where sh dislikes "$/".  Clean up the spacing a bit.
115852         Redirect output to $tmp just once.
115854 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
115856         * lib/addext.c (<errno.h>): Include.
115857         (errno): Declare if not defined.
115858         (addext): Work correctly when pathconf returns -1 and leaves
115859         errno alone because there is no limit.  Also, work even if
115860         pathconf returns a value greater than SIZE_MAX.
115862 2001-08-12  Jim Meyering  <meyering@lucent.com>
115864         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
115865         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
115866         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
115867         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
115868         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
115869         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
115870         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
115871         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
115872         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
115873         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
115874         utime.m4, utimes.m4, xstrtoumax.m4:
115875         Quote the first argument in each use of AC_DEFUN.
115877 2001-08-12  Jim Meyering  <meyering@lucent.com>
115879         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
115880         Simply `return getcwd (NULL, 0);'.
115881         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
115882         Use 1300 as initial value for length, not PATH_MAX.
115884         * lib/pathmax.h: Clean up cpp syntax.
115886 2001-08-12  Jim Meyering  <meyering@lucent.com>
115888         * lib/gettimeofday.c: New file.
115889         * lib/gtod.h: New file.
115890         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
115892 2001-08-05  Jim Meyering  <meyering@lucent.com>
115894         * m4/jm-macros.m4: Require autoconf-2.52.
115896 2001-08-04  Jim Meyering  <meyering@lucent.com>
115898         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
115899         stmt, to get in sync with glibc.
115901 2001-08-03  Paul Eggert  <eggert@twinsun.com>
115903         The following changes are from gettext 0.10.39 as maintained by
115904         Bruno Haible.
115906         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
115907         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
115908         with inverted sense.  All uses changed.
115910         * lib/mbswidth.c: Don't include <limits.h>.
115911         Include <stdlib.h> and <string.h> unconditionally.
115912         (iswcntrl, mbsinit, ISCNTRL): New macros.
115913         (mbsnwidth): Use K&R style function declarations.
115914         Don't bother checking for MB_LEN_MAX == 1, since the compiler
115915         can optimize it when MB_CUR_MAX == 1.
115916         The width of control characters is zero, not 1.
115918 2001-08-03  Paul Eggert  <eggert@twinsun.com>
115920         The following changes are from gettext 0.10.39 as maintained by
115921         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
115923         * m4/codeset.m4: Upgrade to serial AM1.
115924         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
115925         all uses changed.  Quote first arg of AC_DEFUN.
115926         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
115928         * m4/iconv.m4: Upgrade to serial AM2.
115929         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
115930         Add --with-libconv-prefix.
115931         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
115932         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
115933         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
115934         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
115935         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
115937         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
115938         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
115939         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
115940         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
115941         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
115942         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
115943         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
115944         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
115945         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
115947         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
115948         string.h any more.
115950         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
115951         not the default value.
115953         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
115954         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
115955         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
115956         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
115957         Also check for iswcntrl, used for wcwidth fallback.
115958         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
115959         to Autoconf 2.13.
115961 2001-08-03  Jim Meyering  <meyering@lucent.com>
115963         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
115964         as it was in the original.  Reported by Paul Eggert.
115966 2001-07-16  Jim Meyering  <meyering@lucent.com>
115968         * m4/gettimeofday.m4: New file.
115969         Prompted by a report from Bernhard Baehr.
115971 2001-07-15  Jim Meyering  <meyering@lucent.com>
115973         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
115974         stuff. Now it's in ../Makefile.cfg.
115976 2001-07-15  Jim Meyering  <meyering@lucent.com>
115978         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
115979         (BUILT_SOURCES): Add unlocked-io.h.
115980         (io_functions): Define.
115981         (unlocked-io.h): New rule.
115982         (DISTCLEANFILES): Add unlocked-io.h.
115983         (all-local): Depend on unlocked-io.h, to ensure it is created.
115985         * lib/unlocked-io.hin: New file
115987         * lib/regex.c: Update from glibc.
115989 2001-07-05  Jim Meyering  <meyering@lucent.com>
115991         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
115992         recommendation.
115993         (libfetish_a_SOURCES): Put all .h files here instead.
115994         Remove a thus-exposed (better checks in automake) duplicate and
115995         two unnecessary .h files.
115997 2001-07-04  Jim Meyering  <meyering@lucent.com>
115999         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
116000         that generates jm-glibc-io.m4 so that it doesn't trigger any make
116001         distcheck failure.
116003 2001-07-02  Jim Meyering  <meyering@lucent.com>
116005         The following changes were prompted by suggestions from Bruno Haible.
116007         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
116008         is now generated.
116009         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
116010         definition of EXTRA_DIST.
116011         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
116012         ensure that the generated file is created/updated whenever the list
116013         of $(unlocked_functions) is changed.
116014         (jm-glibc-io.m4): New rule.
116015         (unlocked-io.h): New rule -- currently unused.
116017 2001-06-24  Jim Meyering  <meyering@lucent.com>
116019         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
116020         unmatched right bracket, rather than kludging it with an extra,
116021         falsely-matching quote in a comment.  Patch by Akim Demaille.
116023 2001-06-11  Jim Meyering  <meyering@lucent.com>
116025         * lib/regex.c: Update from GNU libc.
116027 2001-05-27  Jim Meyering  <meyering@lucent.com>
116029         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
116030         Check for ut_type in struct utmp.
116032 2001-05-27  Jim Meyering  <meyering@lucent.com>
116034         * lib/readutmp.h (UT_TYPE): Define.
116036 2001-05-24  Jim Meyering  <meyering@lucent.com>
116038         * lib/argmatch.c: Include "quote.h".
116039         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
116040         quote function.  Reported by Göran Uddeborg.
116042 2001-05-22  Jim Meyering  <meyering@lucent.com>
116044         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
116045         now that we use the package-supplied version unconditionally.
116046         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
116048 2001-05-21  Jim Meyering  <meyering@lucent.com>
116050         * m4/regex.m4: Change a couple backticks to single quotes to avoid
116051         shell syntax errors.
116053 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
116055         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
116057 2001-05-20  Paul Eggert  <eggert@twinsun.com>
116059         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
116060         Don't bother to check library strftime, since
116061         we'll be using our own my_strftime function anyway.
116062         Define my_strftime instead of strftime.
116064 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
116066         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
116067         which is not yet declared.
116069 2001-05-15  Jim Meyering  <meyering@lucent.com>
116071         * m4/regex.m4: Use proper quoting so brackets appear in the test
116072         program.
116073         Reported by, and with help from, Bruno Haible.
116075 2001-05-13  Jim Meyering  <meyering@lucent.com>
116077         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
116078         undefined.
116080 2001-05-11  Paul Eggert  <eggert@twinsun.com>
116082         dirname code cleanup.  base_name now behaves more compatibly
116083         with POSIX basename when given file names that have trailing
116084         slashes, and similarly for dir_name.  Add new primitives
116085         base_len and dir_len.  Put the directory-name-related decls
116086         into dirname.h.
116088         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
116089         * lib/backupfile.c (base_name): Likewise.
116090         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
116091         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
116092         * lib/makepath.c (strip_trailing_slashes): Likewise.
116093         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
116094         ISSLASH): Likewise.
116095         * lib/rename.c (strip_trailing_slashes): Likewise.
116096         * lib/same.c (base_name): Likewise.
116097         * lib/stripslash.c (ISSLASH): Likewise.
116099         * lib/addext.c: Include <dirname.h> after size_t is defined.
116100         * lib/backupfile.c: Likewise.
116102         * lib/addext.c (addext): Use base_len to trim redundant
116103         trailing slashes instead of doing it ourselves.
116104         But do not trim the last slash if it is not redundant.
116106         * lib/backupfile.c (find_backup_file_name,
116107         max_backup_version): Use base_len instead of rolling it ourselves.
116108         Handle the case of "" and (on DOS) "C:" correctly.
116110         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
116111         needed. Include <string.h>, <dirname.h>.
116112         (base_name): Allow file names ending in slashes, other than names
116113         that are all slashes.  In this case, return the basename followed
116114         by the slashes.  This is more general, and can be used in places
116115         where the original base_name purposely had an assertion failure.
116116         (base_len): New function.
116118         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
116119         Do not include <assert.h>; no longer needed.
116120         Include xalloc.h.
116121         (memrchr): Remove decl.
116122         (dir_name_r): Remove.
116123         (dir_len): Renamed from dirlen.  All callers changed.
116124         Rewrite in terms of base_name, for simplicity and consistency.
116125         (dir_name): Never return NULL.  All callers changed.
116126         Do not include <stdlib.h> in test program; no longer needed.
116127         return 0; is fine for test program.
116129         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
116130         New macros.
116131         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
116133         * lib/path-concat.c (path_concat): Use base_len to compute
116134         base length, not strlen; this means we cannot rely on memcpy
116135         to null-terminate.
116137         * lib/same.c (STREQ): Remove.
116138         (same_name): Handle the case where the basename ends in trailing '/'.
116140         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
116141         a slash was stripped.  Do not strip the last slash after a
116142         file system prefix.
116144 2001-05-11  Paul Eggert  <eggert@twinsun.com>
116146         * lib/Makefile.am (libfetish_a_SOURCES):
116147         Add strftime.c, since we now compile it on all hosts.
116149         * lib/strftime.c (my_strftime):
116150         Define to nstrftime if emacs, but only if my_strftime is not defined.
116151         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
116152         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
116153         Add one more extra argument: a nanoseconds value.
116154         All uses changed.
116155         (ns): New macro.
116156         (my_strftime function): Add %N format.
116157         (emacs_strftimeu): Renamed from emacs_strftime,
116158         with extra ut argument.
116160 2001-05-09  Paul Eggert  <eggert@twinsun.com>
116162         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
116164 2001-04-21  Jim Meyering  <meyering@lucent.com>
116166         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
116167         doesn't interfere.
116169 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
116171         * m4/ftruncate.m4: Check for chsize.
116172         Link with ftruncate.o unconditionally if ftruncate is missing.
116173         This was required when cross-compiling to i586-mingw32msvc.
116175 2001-04-08  Jim Meyering  <meyering@lucent.com>
116177         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
116178         recomputed; that's necessary when the offset spans a DST transition.
116179         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
116181 2001-04-02  Jim Meyering  <meyering@lucent.com>
116183         * lib/regex.h, regex.c: Update from GNU libc.
116185 2001-03-24  Jim Meyering  <meyering@lucent.com>
116187         * m4/jm-macros.m4: Require autoconf-2.49d.
116189 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
116191         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
116193 2001-03-19  Paul Eggert  <eggert@twinsun.com>
116195         * lib/version-etc.c (version_etc_copyright): Update to 2001.
116197 2001-03-17  Jim Meyering  <meyering@lucent.com>
116199         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
116200         now that the version in autoconf is equivalent.
116201         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
116203         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
116204         Suggestion from Akim Demaille.
116206         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
116207         (jm_PREREQ_TEMPNAME): New function.
116209 2001-03-16  Paul Eggert  <eggert@twinsun.com>
116211         * lib/tempname.c (uint64_t): Define to uintmax_t if
116212         not defined, and if UINT64_MAX is not defined.
116213         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
116214         Reported by John David Anglin.
116216 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
116218         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
116219         resolve alias if codeset is empty.
116220         * lib/config.charset (BeOS): Use wildcard syntax.
116222 2001-03-13  Jim Meyering  <meyering@lucent.com>
116224         * lib/path-concat.c (path_concat)
116225         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
116226         concatenating e.g., `C:' and `foo'.
116227         From Bruno Haible.
116229 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
116231         * lib/localcharset.c (locale_charset): Don't use
116232         setlocale(LC_CTYPE,NULL). Don't return NULL.
116233         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
116235 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
116237         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
116238         support for DOS/DJGPP.
116240 2001-03-01  Paul Eggert  <eggert@twinsun.com>
116242         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
116243         lacks mkstemp.  Compile our own tempname.c if we compile our own
116244         mkstemp.c, as mkstemp relies on tempname.
116246 2001-03-01  Jim Meyering  <meyering@lucent.com>
116248         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
116249         AH_VERBATIM really does output its argument verbatim.
116251 2001-02-28  Paul Eggert  <eggert@twinsun.com>
116253         * lib/Makefile.am (libfetish_a_SOURCES):
116254         Add dup-safer.c, fopen-safer.c.
116255         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
116257         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
116258         * lib/unistd-safer.h: New files.
116260 2001-02-25  Paul Eggert  <eggert@twinsun.com>
116262         The mkstemp replacement is taken from glibc 2.2.2, with some
116263         portability fixes for use outside glibc, as follows:
116265         * lib/tempname.c (struct_stat64): New macro.
116266         (direxists, __gen_tempname): Use it.
116267         This avoids a portability problem with Solaris 8.
116269         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
116270         (<stddef.h>, <stdint.h>, <string.h>):
116271         Include only if STDC_HEADERS || _LIBC.
116272         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
116273         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
116274         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
116275         (__set_errno): Define this macro if <errno.h> doesn't.
116276         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
116277         Define these macros if <stdio.h> doesn't.
116278         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
116279         Define these macros if <sys/stat.h>
116280         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
116281         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
116282         __xstat64): Define if not _LIBC.
116283         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
116284         (__gen_tempname): Invoke gettimeofday only if
116285         HAVE_GETTIMEOFDAY || _LIBC;
116286         otherwise, fall back on plain "time".
116287         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
116289         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
116291         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
116293 2001-02-18  Paul Eggert  <eggert@twinsun.com>
116295         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
116297 2001-02-17  Paul Eggert  <eggert@twinsun.com>
116299         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
116300         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
116301         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
116302         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
116304 2001-02-17  Paul Eggert  <eggert@twinsun.com>
116306         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
116307         Remove workaround macros for hosts that have mbrtowc but not
116308         mbstate_t, as we now insist on proper declarations for both
116309         before using mbrtowc.
116311 2001-02-17  Jim Meyering  <meyering@lucent.com>
116313         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
116314         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
116315         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
116316         UnixWare 7.1.1.
116318         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
116319         rather than AC_CACHE_VAL.
116321 2001-02-17  Jim Meyering  <meyering@lucent.com>
116323         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
116324         around included file name.
116326         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
116328         * lib/strftime.c: Update from GNU libc (the only changes were to
116329         comments).
116331 2001-02-17  Jim Meyering  <meyering@lucent.com>
116333         * lib/regex.c: Update from libc.
116335 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
116337         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
116338         clash.
116340 2001-02-16  Paul Eggert  <eggert@twinsun.com>
116342         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
116343         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
116344         Reported by Mark Hounschell via Paul Eggert.
116346 2001-02-07  Jim Meyering  <meyering@lucent.com>
116348         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
116350 2001-02-05  Jim Meyering  <meyering@lucent.com>
116352         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
116353         it includes the patch required for `large file' support with at least
116354         HP-UX's 10.20 /bin/cc.
116356 2001-02-03  Jim Meyering  <meyering@lucent.com>
116358         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
116359         AS_IF, now that it works once again (mysteriously).
116360         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
116362 2001-01-30  Jim Meyering  <meyering@lucent.com>
116364         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
116365         * m4/chown.m4: Rename conftestchown to conftest.chown.
116366         * m4/rename.m4: s/conftestdir/conftest.d1/ and
116367         s/conftestdir2/conftest.d2/.
116368         * m4/utimes.m4: s/conftestdata/conftest.data/
116369         Inspired by Pavel Roskin's change in autoconf.
116371 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
116373         * lib/config.charset: Update for FreeBSD 4.2.
116375 2001-01-27  Jim Meyering  <meyering@lucent.com>
116377         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
116378         a use of AS_IF.
116379         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
116381 2001-01-26  Jim Meyering  <meyering@lucent.com>
116383         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
116384         quotearg.c includes it.
116386 2001-01-26  Jim Meyering  <meyering@lucent.com>
116388         * lib/quotearg.c: Include stddef.h.
116389         * lib/quote.c: Include stddef.h.
116390         Reported by Axel Kittenberger.
116392         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
116393         line in double quotes so that it evokes a better diagnostic.
116394         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
116395         Reported by Axel Kittenberger.
116397 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
116399         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
116400         as if it was a `charset'.
116402 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
116404         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
116405         has const.
116407 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
116409         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
116410         to avoid a warning.  Add back 'const' to inptr.
116412 2001-01-20  Jim Meyering  <meyering@lucent.com>
116414         Be sure that headers are checked before used in code compiled
116415         for the type checks.
116416         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
116417         In place of that, invoke jm_CHECK_ALL_TYPES.
116418         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
116419         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
116420         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
116421         The check for ssize_t was mistakenly run before the test for unistd.h.
116423         The configure-time check for stdbool.h was missing.
116424         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
116425         (jm_PREREQ_HASH): New function.
116427 2001-01-17  Jim Meyering  <meyering@lucent.com>
116429         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
116430         for autoconf-2.49c.
116431         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
116433 2001-01-16  Jim Meyering  <meyering@lucent.com>
116435         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
116436         From Bruno Haible.
116438 2001-01-14  Jim Meyering  <meyering@lucent.com>
116440         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
116441         foo and bar.  Create conftestdir/ in the script, not in the C code.
116442         Remove directories in the script, not in the C code.
116443         Remove conftestdir{,2} before trying to create the directory.
116444         Make the entire configure script fail if the mkdir fails.
116446 2001-01-14  Jim Meyering  <meyering@lucent.com>
116448         * lib/rename.c: New file.  From Volker Borchert.
116449         Include stdlib.h, string.h or strings.h, and xalloc.h.
116450         Use strip_trailing_slashes rather than open-coding it.
116452 2001-01-03  Paul Eggert  <eggert@twinsun.com>
116454         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
116456 2001-01-03  Jim Meyering  <meyering@lucent.com>
116458         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
116459         of local `inptr' to avoid warning with some system declarations of
116460         iconv.
116462 2001-01-02  Volker Borchert  <bt@teknon.de>
116464         * m4/rename.m4: New file.
116465         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
116467 2001-01-01  Jim Meyering  <meyering@lucent.com>
116469         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
116470         even on systems with utmpx.h.  It's necessary for the declaration of
116471         utmp's ut_user member.  Reported by Andreas Jaeger.
116473         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
116474         available. They are required for the declarations of getgrgid and
116475         getpwuid resp.
116476         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
116477         Reported by Andreas Jaeger.
116479 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
116481         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
116482         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
116483         so `make install' also works in VPATH builds.
116485 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
116487         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
116488         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
116489         can be used in subdirectories.
116491 2000-12-29  Paul Eggert  <eggert@twinsun.com>
116493         * lib/modechange.c: Do not assume that mode_t uses the
116494         traditional octal encoding.  E.g. "chmod 1 FOO" should set
116495         the other-execute bit of FOO even if S_IXOTH != 1.
116497         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
116498         WOTH, XOTH, ALLM): New macros.
116499         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
116500          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
116501         Use them.
116502         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
116503         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
116504         (mode_compile):
116505         No need to use uintmax_t; unsigned long is long enough.
116506         Don't bother to get suffix since we don't use it.
116508 2000-12-26  Jim Meyering  <meyering@lucent.com>
116510         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
116511         better with autoheader.
116513 2000-12-24  Jim Meyering  <meyering@lucent.com>
116515         * lib/hash.c (is_prime): Return explicit boolean values.
116516         (hash_get_first): Return NULL to appease Irix5.6's 89.
116517         Reported by Nelson Beebe.
116519 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
116521         * lib/localcharset.c (locale_charset): Add support for Win32.
116523 2000-12-18  Paul Eggert  <eggert@twinsun.com>
116525         * lib/physmem.h, lib/physmem.c: New files.
116527         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
116528         (noinst_HEADERS): Add physmem.h.
116530         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
116531         't' for compatibility with Solaris 8 sort.
116533 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
116535         * lib/config.charset: Add support for BeOS.
116537 2000-12-17  Jim Meyering  <meyering@lucent.com>
116539         * m4/dos.m4 (jm_AC_DOS): New file and macro.
116540         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
116542 2000-12-16  Jim Meyering  <meyering@lucent.com>
116544         This bug had a serious impact on chown: `chown N:M FILE' (for integer
116545         N and M) would have treated it like `chown N:N FILE'.
116547         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
116549 2000-12-16  Jim Meyering  <meyering@lucent.com>
116551         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
116552         SHELLS_FILE to a file name that's useful on djgpp systems.
116553         Include stdlib.h.
116554         (ADDITIONAL_DEFAULT_SHELLS): Define.
116555         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
116556         Based mostly on a patch from Prashant TR.
116558 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
116560         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
116561         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
116562         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
116564 2000-12-08  Andreas Schwab  <schwab@suse.de>
116566         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
116567         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
116569 2000-12-07  Jim Meyering  <meyering@lucent.com>
116571         * lib/stripslash.c (ISSLASH): Define.
116572         (strip_trailing_slashes): Use ISSLASH rather than comparing against
116573         `/'.
116574         From Prashant TR.
116576         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
116577         (dir_name_r): Declare this function as static.
116578         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
116579         manifest itself on a name containing a mix of slashes and
116580         backslashes.
116581         Make this function work with names starting with a DOS-style
116582         drive letter and colon prefix.
116583         (dir_name): Append `.' if necessary.
116584         Based mostly on patches from Prashant TR and Eli Zaretskii.
116586         * lib/dirname.h (dir_name_r): Remove prototype.
116588 2000-12-06  Paul Eggert  <eggert@twinsun.com>
116590         * m4/off_t-format.m4: Remove this file.
116591         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
116593 2000-12-06  Jim Meyering  <meyering@lucent.com>
116595         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
116596         replacement strtoull, we may well need the replacement strtoul, too.
116597         Check for declarations of strtoul and strtoull.
116598         Check for strtol.  Mainly as a cue to cause automake to include
116599         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
116600         Check for limits.h -- strtol.c needs it.
116602 2000-12-05  Jim Meyering  <meyering@lucent.com>
116604         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
116606 2000-12-04  Jim Meyering  <meyering@lucent.com>
116608         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
116609         Also include memory.h, stdlib.h, unistd.h if appropriate.
116610         Reported by Andreas Jaeger (conflicting declaration of malloc).
116612 2000-12-02  Jim Meyering  <meyering@lucent.com>
116614         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
116615         * m4/jm-macros.m4 (jm_MACROS): require it.
116617 2000-12-02  Jim Meyering  <meyering@lucent.com>
116619         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
116621 2000-12-01  Paul Eggert  <eggert@twinsun.com>
116623         * lib/memrchr.c: Include <config.h> before any system include file.
116625 2000-11-30  Jim Meyering  <meyering@lucent.com>
116627         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
116629 2000-11-30  Jim Meyering  <meyering@lucent.com>
116631         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
116633 2000-11-29  Paul Eggert  <eggert@twinsun.com>
116635         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
116637 2000-11-26  Jim Meyering  <meyering@lucent.com>
116639         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
116641 2000-11-22  Paul Eggert  <eggert@twinsun.com>
116643         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
116644         size of (size_t) -1; it's not portable.
116646 2000-11-17  Jim Meyering  <meyering@lucent.com>
116648         * lib/strstr.c: Update from GNU libc.
116650 2000-11-17  Akim Demaille  <akim@epita.fr>
116652         * lib/obstack.h: Formatting changes.
116653         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
116654         prevent type checking.
116655         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
116656         cast the value to (void *): assigning a `foo *' to a `void *'
116657         variable is valid.
116658         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
116660 2000-11-16  Jim Meyering  <meyering@lucent.com>
116662         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
116664 2000-11-11  Jim Meyering  <meyering@lucent.com>
116666         * lib/error.c: Add a couple #includes, merging from GNU libc version.
116668 2000-11-10  Jim Meyering  <meyering@lucent.com>
116670         * lib/obstack.h: Update from GNU libc.
116671         * lib/obstack.c: Likewise.
116673 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
116675         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
116677 2000-11-06  Paul Eggert  <eggert@twinsun.com>
116679         * lib/getusershell.c (setusershell): Use rewind rather than
116680         fseek/fseeko, to avoid configuration hassles with fseeko.
116681         Don't bother opening SHELLS_FILE if shellstream is NULL;
116682         it's not necessary.
116684 2000-11-05  Jim Meyering  <meyering@lucent.com>
116686         * lib/makepath.h (make_dir): Declare.
116687         * lib/makepath.c (make_dir): Remove `static' attribute.
116688         Tweak a comment.
116690 2000-11-04  Jim Meyering  <meyering@lucent.com>
116692         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
116694 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
116696         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
116697         last one in a bucket, advance to the next bucket.
116699 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
116701         * lib/fnmatch.c: Do not comment out all the code if we are using
116702         the GNU C library, because in some cases we are replacing buggy
116703         code in the GNU C library itself.
116705 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
116707         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
116708         (regex_compile): Catch bogus \(\1\).
116710 2000-10-30  Paul Eggert  <eggert@twinsun.com>
116712         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
116713         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
116714         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
116716 2000-10-30  Paul Eggert  <eggert@twinsun.com>
116718         * lib/error.h, getline.h, modechange.h:
116719         Remove "2000" from Copyright line, as the file hasn't been
116720         changed this year other than in the copyright notice.
116722         * lib/xalloc.h: Add "2000" to Copyright line, as this file
116723         was changed this year.
116725 2000-10-29  Jim Meyering  <meyering@lucent.com>
116727         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
116728         renaming.
116729         * m4/ls-mntd-fs.m4: Likewise
116731 2000-10-29  Jim Meyering  <meyering@lucent.com>
116733         * lib/xstat.in: Fix grammar in comment.
116735 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
116737         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
116738         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
116739         doesn't define __restrict_arr.
116741 2000-10-28  Jim Meyering  <meyering@lucent.com>
116743         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
116744         (jm_PREREQ_MEMCHR): New function.
116746 2000-10-28  Jim Meyering  <meyering@lucent.com>
116748         * lib/memchr.c: Update from libc.
116749         Adjust for portability:
116750         [HAVE_STDLIB_H]: Include stdlib.h.
116751         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
116752         Undef __memchr, too.
116753         [!weak_alias]: Define __memchr to memchr.
116755         * lib/regex.c: Update from libc.
116756         * lib/regex.h: Likewise.
116757         * lib/getopt1.c: Likewise.
116758         * lib/memcmp.c: Likewise.
116760         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
116761         Avoid using fseek, when possible -- it's broken by design.
116762         Patch by Ulrich Drepper.
116764 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
116766         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
116767         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
116768         Giving in to popular pressure to shut up the compiler with casts.
116770 2000-10-26  Jim Meyering  <meyering@lucent.com>
116772         * lib/strftime.c: Update from libc.
116774 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
116776         * regex.c: More `unsigned char' -> `re_char' changes.
116777         Also change several `int' into `re_wchar_t'.
116778         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
116779         (PUSH_FAILURE_POINTER): Don't cast any more.
116780         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
116781         We want GCC to complain, since this piece of code makes
116782         re_match non-reentrant, which *should* be fixed.
116783         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
116784         (EXTEND_BUFFER): Use RETALLOC.
116785         (SET_LIST_BIT): Don't cast.
116786         (re_wchar_t): New type.
116787         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
116788         that those two functions will always properly return.
116789         (IMMEDIATE_QUIT_CHECK): Cast to void.
116790         (analyse_first): Use recursion rather than an explicit stack.
116791         (re_compile_fastmap): Can't fail anymore.
116792         (re_search_2): Don't check re_compile_fastmap for failure.
116793         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
116794         Now also sets the new value (passed in a new argument).
116795         (re_match_2_internal): Use it.
116796         Also, use a new var `reg' of type size_t when looping through regs
116797         rather than reuse the inappropriate `mcnt'.
116799 2000-10-25  Jim Meyering  <meyering@lucent.com>
116801         * lib/obstack.c: Update from libc.
116803 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
116805         * regex.c (regex_compile): Change the way of handling a range from
116806         a char less than 256 to a char not less than 256.
116808 2000-10-24  Andrew Innes  <andrewi@gnu.org>
116810         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
116811         NT-Emacs only.
116812         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
116813         so that re_search functions only quit when callers expect them to.
116815 2000-10-23  Jim Meyering  <meyering@lucent.com>
116817         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
116818         wrong.  That set_locale call must not have any side effects.
116819         From Paul Eggert.
116821 2000-10-22  Jim Meyering  <meyering@lucent.com>
116823         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
116824         [CYCLIC]: Remove now-unused definition.
116826         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
116827         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
116828         Suggestion from Ulrich Drepper.
116830 2000-10-21  Jim Meyering  <meyering@lucent.com>
116832         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
116833         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
116834         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
116836 2000-10-21  Jim Meyering  <meyering@lucent.com>
116838         * lib/dirname.c (memrchr): Declare if necessary.
116839         (dir_name): Remove the restriction that there be no
116840         trailing slashes.  Now, this code skips past them, effectively
116841         ignoring them.
116842         [TEST_DIRNAME] (main): New unit tests.
116844         * lib/memrchr.c: New file from GNU libc.
116845         Undef __memrchr, too.
116846         [!weak_alias]: Define __memrchr to memrchr.
116847         Guard weak_alias use with `#ifdef weak_alias'.
116849 2000-10-21  Jim Meyering  <meyering@lucent.com>
116851         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
116852         (dir_name): Use dir_name_r.
116853         * lib/dirname.h (dir_name_r): Declare it.
116855 2000-10-17  Jim Meyering  <meyering@lucent.com>
116857         * lib/quote.h (PARAMS): Define and use.
116858         Reported by Akim Demaille.
116860         * lib/getopt.c: Update from libc.
116862 2000-10-16  Jim Meyering  <meyering@lucent.com>
116864         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
116865         setlocale.
116866         From Jan Fedak.
116868 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
116870         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
116872 2000-09-25  Jim Meyering  <meyering@lucent.com>
116874         * lib/md5.h (rol): Define (from GnuPG).
116876         * lib/sha.c: Give credit (GnuPG) where due.
116877         (M): Use rol rather than open-coding it.
116878         Add a FIXME comment.
116880 2000-09-21  Jim Meyering  <meyering@lucent.com>
116882         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
116883         Reported by Michael Stone.
116885 2000-09-20  Jim Meyering  <meyering@lucent.com>
116887         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
116888         (noinst_HEADERS): Add sha.h.
116889         Based on code from Scott G. Miller and from GnuPG.
116891 2000-09-18  Jim Meyering  <meyering@lucent.com>
116893         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
116894         LIBS. Otherwise, everyone ends up linking with -lelf for some
116895         configurations.
116896         Reported by Mike Stone.
116898 2000-09-15  Jim Meyering  <meyering@lucent.com>
116900         * lib/regex.c: Update from libc.
116902 2000-09-10  Jim Meyering  <meyering@lucent.com>
116904         * lib/getopt.c (_getopt_internal): Update from glibc.
116906 2000-09-09  Jim Meyering  <meyering@lucent.com>
116908         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
116909         think it should be used as a general replacement for isascii.
116910         * lib/fnmatch.c: Likewise.
116911         * lib/mbswidth.c: Likewise
116912         * lib/regex.c: Likewise.
116914         Don't use atoi.
116915         * lib/userspec.c: Include sys/param.h and limits.h.
116916         Include xstrtol.h.
116917         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
116918         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
116919         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
116920         UID, GID.  Check range.
116922 2000-09-06  Jim Meyering  <meyering@lucent.com>
116924         * lib/getopt.c (_getopt_internal): Update from glibc.
116926 2000-08-30  Jim Meyering  <meyering@lucent.com>
116928         * lib/strftime.c: Merge in changes from GNU libc.
116930 2000-08-26  Jim Meyering  <meyering@lucent.com>
116932         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
116933         * m4/fpending.m4: New file.
116935 2000-08-26  Jim Meyering  <meyering@lucent.com>
116937         * lib/closeout.c: Include "__fpending.h".
116938         (close_stdout_status): Return right away if there's nothing to flush.
116940         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
116941         * lib/__fpending.c: New file.
116942         * lib/__fpending.h: New file.
116944 2000-08-20  Jim Meyering  <meyering@lucent.com>
116946         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
116947         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
116948         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
116950 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
116952         Improve fileutils installation on systems where running
116953         programs (like install) can't be unlinked.
116954         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
116955         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
116957 2000-08-07  Paul Eggert  <eggert@twinsun.com>
116959         Standardize on "memory exhausted" instead of "Memory exhausted"
116960         or "virtual memory exhausted".
116961         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
116962         "virtual memory exhausted".
116963         * lib/same.c (same_name): Invoke xalloc_die instead of printing
116964         our own message.
116965         * lib/userspec.c (parse_user_spec): Likewise.
116966         * lib/bumpalloc.h: comment fix
116967         * lib/same.c, userspec.c: Include xalloc.h.
116969         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
116970         not char *const and pointing to a constant array.
116971         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
116972         (xrealloc): Comment fix.
116974         * lib/userspec.c (parse_user_spec):
116975         Don't translate a message until just before returning,
116976         to avoid unnecessary translation.
116978 2000-08-07  Jim Meyering  <meyering@lucent.com>
116980         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
116981         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
116982         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
116983         getgroups.c, gethostname.c, getopt.h, group-member.c,
116984         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
116985         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
116986         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
116987         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
116988         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
116989         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
116990         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
116991         yesno.c: Back out Copyright date changes for each file with no change
116992         this year.  This eases coordination with other programs using the same
116993         source code modules.  From Paul Eggert.
116995 2000-08-06  Paul Eggert  <eggert@twinsun.com>
116997         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
116998         not char, for compatibility with glibc 2.1.3 strftime.c.
117000 2000-08-03  Greg McGary  <greg@mcgary.org>
117002         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
117003         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
117004         (EXTEND_BUFFER): Use them.
117006 2000-08-01  Jim Meyering  <meyering@lucent.com>
117008         * lib/dirname.c (ISSLASH): Define.
117009         (BACKSLASH_IS_PATH_SEPARATOR): Define.
117010         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
117011         both `\' and `/' may be use as path separators.
117012         Based on a patch from Prashant TR.
117014 2000-07-31  Paul Eggert  <eggert@twinsun.com>
117016         * lib/quotearg.c (quotearg_n_options): Don't make the initial
117017         slot vector a constant, since it might get modified.
117019 2000-07-31  Jim Meyering  <meyering@lucent.com>
117021         * lib/xmalloc.c: Use `virtual memory exhausted', not
117022         `Memory exhausted'.
117023         * lib/obstack.c (print_and_abort): Likewise.
117025 2000-07-30  Paul Eggert  <eggert@twinsun.com>
117027         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
117028         buffer, so that the caller can always quote one small
117029         component of a "memory exhausted" message in slot 0.
117030         From a suggestion by Jim Meyering.
117032 2000-07-30  Jim Meyering  <meyering@lucent.com>
117034         * lib/makepath.c (make_path): Quote the other instance, too.
117036         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
117037         (STATIC_BUF_SIZE): Define.
117038         (quotearg_n_options): Use only statically allocated storage when
117039         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
117040         than STATIC_BUF_SIZE.
117042 2000-07-29  Jim Meyering  <meyering@lucent.com>
117044         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
117045         * lib/dirname.c (dir_name): Likewise.
117047         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
117048         `/'.
117050         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
117051         (dir_name): Assert that there are no trailing slashes.
117053 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
117055         * lib/mbswidth.h (mbswidth): Add a flags argument.
117056         (mbswidth): New declaration.
117057         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
117058         * lib/mbswidth.c (mbswidth): Add a flags argument.
117059         (mbsnwidth): New function.
117061 2000-07-24  Jim Meyering  <meyering@lucent.com>
117063         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
117065 2000-07-23  Paul Eggert  <eggert@twinsun.com>
117067         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
117069 2000-07-23  Paul Eggert  <eggert@twinsun.com>
117071         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
117072         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
117073         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
117074         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
117075         invoke multibyte primitives.
117077 2000-07-23  Paul Eggert  <eggert@twinsun.com>
117079         * lib/quotearg.c:
117080         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
117081         so that mbstate_t is always defined.
117083         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
117084         be 1 in at least one GCC installation, and this configuration
117085         error is likely to be common.  Ignoring MB_LEN_MAX hurts
117086         performance on hosts that have mbrtowc but have only unibyte
117087         locales, but I assume these hosts are rare.
117089 2000-07-23  Paul Eggert  <eggert@twinsun.com>
117091         * lib/mbswidth.c (_XOPEN_SOURCE):
117092         Don't define; this causes problems on Solaris 7.
117093         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
117095 2000-07-23  Jim Meyering  <meyering@lucent.com>
117097         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
117098         too: getgrgid, getpwuid, getuid.
117100 2000-07-23  Jim Meyering  <meyering@lucent.com>
117102         * lib/basename.c (base_name): Add an assertion.
117104 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
117106         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
117107         shadow its mbsinit function.
117109 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
117111         * lib/mbswidth.h: New file.
117112         * lib/mbswidth.c: New file.
117113         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
117114         (noinst_HEADERS): Add mbswidth.h.
117116 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
117118         * lib/config.charset: Add support for FreeBSD. Improve support for
117119         HP-UX and IRIX 6.
117121 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
117123         * m4/mbswidth.m4: New file.
117124         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
117126 2000-07-15  Jim Meyering  <meyering@lucent.com>
117128         * lib/makepath.c: Include quote.h.
117129         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
117130         corresponding argument in a `quote (...)' call.
117131         Give better diagnostics.
117133         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
117134         (noinst_HEADERS): Add quote.h.
117136         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
117137         from tar's src/misc.c.
117138         * lib/quote.h: New file.  Prototypes for same.
117140 2000-07-14  Paul Eggert  <eggert@twinsun.com>
117142         From a suggestion by Bruno Haible.
117143         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
117144         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
117145         to decide whether to define the BeOS workaround macro;
117146         this adjusts to the change to AC_MBSTATE_T.
117148 2000-07-14  Jim Meyering  <meyering@lucent.com>
117150         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
117151         jm_AC_TYPE_UINTMAX_T.
117153 2000-07-13  Paul Eggert  <eggert@twinsun.com>
117155         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
117157         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
117158         quotearg_buffer_restyled): Add support for
117159         clocale_quoting_style.  Undo previous change to
117160         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
117161         and "{RIGHT QUOTATION MARK}" msgids.
117163 2000-07-10  Paul Eggert  <eggert@twinsun.com>
117165         From a suggestion by Bruno Haible.
117166         * m4/mbstate_t.m4 (AC_MBSTATE_T):
117167         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
117168         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
117169         and mbstate_t, to a single-part test that simply defines mbstate_t.
117170         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
117171         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
117173 2000-07-10  Jim Meyering  <meyering@lucent.com>
117175         * m4/strerror_r.m4: Mirror the correction made in autoconf.
117177         * m4/gnu-source.m4: Output to confdefs.h directly.
117178         Suggestion from Akim Demaille.
117180 2000-07-09  Paul Eggert  <eggert@twinsun.com>
117182         The old behavior of quoting `like this' doesn't look good with
117183         newer, ISO-style fonts.  See:
117184         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
117186         Instead, quote "like this" by default.  Let the translator
117187         tailor the locale-specific quoting behavior by providing
117188         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
117190         * lib/quotearg.c (N_): New macro.
117191         (gettext_default): New function.
117192         (quotearg_buffer_restyled): Use
117193         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
117194         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
117196 2000-07-09  Jim Meyering  <meyering@lucent.com>
117198         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
117199         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
117201         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
117202         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
117204 2000-07-09  Jim Meyering  <meyering@lucent.com>
117206         * lib/Most files: Update copyright dates to include 2000.
117208 2000-07-08  Jim Meyering  <meyering@lucent.com>
117210         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
117211         if not defined.
117212         (xgethostname): Remove now-unnecessary #ifdef.
117213         Move declaration of `err' into loop where it's used.
117215 2000-07-05  Paul Eggert  <eggert@twinsun.com>
117216         and Bruno Haible  <haible@clisp.cons.org>
117218         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
117219         only if the test for an object-type mbstate_t fails.  This
117220         prevents us from mistakenly reporting that mbstate_t is a
117221         system object type after we "#define mbstate_t int" to work
117222         around its lack.
117224 2000-07-05  Paul Eggert  <eggert@twinsun.com>
117225         and Bruno Haible  <haible@clisp.cons.org>
117227         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
117229 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
117231         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
117232         to strerror_r.
117233         Include <ctype.h> for use of isalpha.
117235 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
117237         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
117238         by allocating a larger buffer. Test the gethostname return value for
117239         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
117240         returns an error and ENAMETOOLONG isn't defined.
117242 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
117244         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
117245         dimension.
117247 2000-07-04  Jim Meyering  <meyering@lucent.com>
117249         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
117250         of the deprecated AC_CHECKING.
117252 2000-07-04  Jim Meyering  <meyering@lucent.com>
117254         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
117255         Reported by Bruno Haible.
117257 2000-07-04  Jim Meyering  <meyering@lucent.com>
117259         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
117260         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
117261         lacks mbrtowc.
117263 2000-07-03  Paul Eggert  <eggert@twinsun.com>
117265         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
117266         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
117268 2000-07-03  Paul Eggert  <eggert@twinsun.com>
117269         and Bruno Haible  <haible@clisp.cons.org>
117271         * lib/quotearg.c (mbrtowc):
117272         Assign to *pwc, and return 1 only if result is nonzero.
117273         (iswprint): Use ISPRINT when substituting our own mbrtowc.
117275 2000-07-03  Jim Meyering  <meyering@lucent.com>
117277         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
117279 2000-07-03  Jim Meyering  <meyering@lucent.com>
117281         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
117282         This is necessary to get a definition of e.g., UTMP_FILE on
117283         HP-UX 10.20.
117284         From Bob Proulx.
117286 2000-07-02  Jim Meyering  <meyering@lucent.com>
117288         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
117290         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
117291         AC_LIBOBJ(function_name).
117292         * m4/chown.m4: Likewise.
117293         * m4/fnmatch.m4: Likewise.
117294         * m4/ftruncate.m4: Likewise.
117295         * m4/getgroups.m4: Likewise.
117296         * m4/getline.m4: Likewise.
117297         * m4/group-member.m4: Likewise.
117298         * m4/jm-macros.m4: Likewise.
117299         * m4/lstat.m4: Likewise.
117300         * m4/malloc.m4: Likewise.
117301         * m4/memcmp.m4: Likewise.
117302         * m4/nanosleep.m4: Likewise.
117303         * m4/putenv.m4: Likewise.
117304         * m4/realloc.m4: Likewise.
117305         * m4/regex.m4: Likewise.
117306         * m4/stat.m4: Likewise.
117307         * m4/strftime.m4: Likewise.
117309 2000-07-02  Jim Meyering  <meyering@lucent.com>
117311         * lib/quotearg.c (mbstate_t): Don't define here.
117313 2000-07-02  Jim Meyering  <meyering@lucent.com>
117315         * lib/nanosleep.c (SIGCONT): Define if not already defined.
117317 2000-07-01  Jim Meyering  <meyering@lucent.com>
117319         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
117321 2000-07-01  Jim Meyering  <meyering@lucent.com>
117323         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
117324         problem.
117326 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
117328         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
117329         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
117331 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
117333         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
117334         per change in ../m4/ls-mntd-fs.m4.
117335         (read_filesystem_list): Ignore symbolic links.
117337 2000-06-29  Jim Meyering  <meyering@lucent.com>
117339         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
117340         for declaration of strcmp.
117342         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
117344         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
117345         Avoid warning by casting result to `char *' to remove `const'.
117347 2000-06-28  Jim Meyering  <meyering@lucent.com>
117349         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
117350         included by quotearg.c, for which we perform this test.  From
117351         Bruno Haible.
117353 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
117355         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
117356         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
117357         <utmpx.h> exists, put readutmp.o into LIBOBJS.
117359 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
117361         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
117363 2000-06-26  Paul Eggert  <eggert@twinsun.com>
117365         savedir now sets errno on failure and invokes xmalloc to get memory.
117366         Fix a couple of other minor bugs while we're at it.
117368         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
117369         (NAMLEN): Remove macro.
117370         (malloc, realloc): Remove decls.
117371         (stpcpy): Likewise.
117372         ("xalloc.h"): Include.
117373         (NAME_SIZE_DEFAULT): New macro.
117374         (savedir): Use xmalloc / xrealloc to allocate memory.
117375         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
117376         Skip "" directory entries.
117377         Use strlen to calculate directory entry length, since the old method
117378         is rarely used these days and isn't worth supporting.
117379         Don't use a pointer after freeing it.
117380         Check for integer overflow when calculating allocation size.
117381         Use memcpy to copy entries, instead of stpcpy.
117382         Set errno properly when returning NULL.
117383         Check for readdir error.
117385 2000-06-26  Jim Meyering  <meyering@lucent.com>
117387         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
117389 2000-06-25  Jim Meyering  <meyering@lucent.com>
117391         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
117392         Linux header bug when _XOPEN_SOURCE is defined to 500.
117394 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
117396         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
117397         deficiency.
117399 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
117401         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
117402         Include xalloc.h.
117403         Don't include <stdlib.h>.  Don't declare malloc, realloc.
117405 2000-06-24  Jim Meyering  <meyering@lucent.com>
117407         * m4/strerror_r.m4: Revive this file -- to try out an experimental
117408         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
117409         for which strerror does return char*, but which lacks a conveniently
117410         accessible declaration of the function.  If the compile-test says
117411         strerror_r doesn't work, then resort to a `run'-test that works on
117412         BeOS and segfaults on DEC Unix.
117414 2000-06-24  Jim Meyering  <meyering@lucent.com>
117416         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
117418 2000-06-23  Paul Eggert  <eggert@twinsun.com>
117420         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
117421         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
117423 2000-06-23  Paul Eggert  <eggert@twinsun.com>
117425         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
117426         (mbrtowc, mbstate_t): Define substitutes if
117427         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
117428         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
117429         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
117431 2000-06-23  Jim Meyering  <meyering@lucent.com>
117433         * m4/afs.m4: Add missing AC_MSG_RESULT.
117434         Reported by Bruno Haible.
117436         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
117437         Suggestion from Bruno Haible.
117439 2000-06-23  Jim Meyering  <meyering@lucent.com>
117441         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
117443 2000-06-21  Jim Meyering  <meyering@lucent.com>
117445         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
117447 2000-06-21  Jim Meyering  <meyering@lucent.com>
117449         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
117450         (noinst_HEADERS): Add getstr.h.
117452         * lib/getline.c (getstr): Move into a separate file.
117453         * lib/getstr.c (getstr): New file, extracted from getline.c, with
117454         the following changes: new parameter, delim2; both delim[12]
117455         parameters have type `int', not `char'.  The latter would lose
117456         with 8-bit delimiters.
117457         * lib/getstr.h: New file.
117459 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
117461         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
117462         than 1024, return a memory chunk of least possible size, instead
117463         of size PATH_MAX + 2. In the loop, increment the size proportionally.
117464         Use free/xmalloc instead of xrealloc to avoid copying for very long
117465         paths.
117467 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
117469         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
117470         the empty string.
117472 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
117474         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
117475         address, not strdup.  Include <stdlib.h> and don't declare free().
117477 2000-06-19  Jim Meyering  <meyering@lucent.com>
117479         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
117481 2000-06-18  Jim Meyering  <meyering@lucent.com>
117483         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
117485         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
117486         `checking whether...' message to be consistent with that of the
117487         lstat test.
117489 2000-06-18  Jim Meyering  <meyering@lucent.com>
117491         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
117492         Besides, these days every porting target provides a mkdir function.
117494         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
117495         needed. (this snippet comes from src/system.h).
117497 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
117499         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
117501 2000-06-15  Paul Eggert  <eggert@twinsun.com>
117503         * lib/human.c (adjust_value): New function.
117504         (human_readable_inexact): Apply rounding style even when
117505         printing approximate values.
117507 2000-06-14  Paul Eggert  <eggert@twinsun.com>
117509         * lib/human.c (human_readable_inexact): Allow an input block
117510         size that is not a multiple of the output block size, and vice versa.
117511         Reported by Piergiorgio Sartor.
117513 2000-06-14  Paul Eggert  <eggert@twinsun.com>
117515         * lib/getdate.y (get_date): Apply relative times after time
117516         zone indicator, not before.  Reported by Todd A. Jacobs.
117518 2000-06-13  Jim Meyering  <meyering@lucent.com>
117520         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
117522         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
117524 2000-06-12  Paul Eggert  <eggert@twinsun.com>
117526         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
117528 2000-06-12  Jim Meyering  <meyering@lucent.com>
117530         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
117531         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
117532         optional argument.
117533         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
117534         the optional argument, `lib'.
117536 2000-06-08  Jim Meyering  <meyering@lucent.com>
117538         * m4/largefile.m4: Remove file (now that it's part of autoconf).
117540 2000-06-04  Paul Eggert  <eggert@twinsun.com>
117542         Rewrite largefile configuration so that we don't need to run
117543         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
117544         AC_CANONICAL_HOST in configure.in -- jmm]
117546         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
117547         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
117548         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
117549         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
117550         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
117551         All uses changed.
117552         Instead of inspecting the output of getconf, try to compile the
117553         test program without and with the macro definition.
117554         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
117555         for getconf.  Instead, check for the needed flags by compiling
117556         test programs.
117558 2000-06-04  Paul Eggert  <eggert@twinsun.com>
117560         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
117562 2000-06-04  Jim Meyering  <meyering@lucent.com>
117564         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
117565         SunOS 4.1.4 for which gid_t is an unsigned type.
117567 2000-06-03  Jim Meyering  <meyering@lucent.com>
117569         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
117570         now that autoconf requires that.
117572         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
117573         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
117574         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
117576 2000-06-03  Jim Meyering  <meyering@lucent.com>
117578         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
117580 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
117582         * m4/glibc21.m4: New file.
117583         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
117585 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
117587         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
117588         newer, don't install charset.alias.
117589         * lib/config.charset: Change the Linux/glibc rules so they become empty
117590         on glibc-2.1 or newer.
117592 2000-06-02  Jim Meyering  <meyering@lucent.com>
117594         * lib/mountlist.c: Back out last change.  Instead, do this...
117595         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
117596         me_dummy member using the same `ignore'-testing code.
117597         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
117598         fs_type strings.
117599         From Mark D. Roth.
117601 2000-05-29  Jim Meyering  <meyering@lucent.com>
117603         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
117604         mounts with the `ignore' attribute.  Based on a patch from
117605         Mark D. Roth.
117607 2000-05-28  Jim Meyering  <meyering@lucent.com>
117609         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
117610         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
117611         * m4/stat.m4: Likewise.
117612         * m4/lstat.m4: Likewise.
117613         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
117615         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
117616         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
117618 2000-05-26  Jim Meyering  <meyering@lucent.com>
117620         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
117622 2000-05-24  Jim Meyering  <meyering@lucent.com>
117624         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
117625         autoconf requires that.
117626         * m4/lib-check.m4: Likewise.
117627         * m4/jm-macros.m4: Likewise.
117628         * m4/strftime.m4: Likewise.
117630         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
117631         AC_CHECK_DECLS, now that autoconf requires that.
117633 2000-05-22  Jim Meyering  <meyering@lucent.com>
117635         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
117636         * m4/lstat.m4: Likewise.
117638 2000-05-22  Jim Meyering  <meyering@lucent.com>
117640         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
117642 2000-05-20  Jim Meyering  <meyering@lucent.com>
117644         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
117645         (jm_PREREQ): Use it.
117647 2000-05-18  Jim Meyering  <meyering@lucent.com>
117649         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
117650         back, too, since it may have been modified by allocate_entry.
117651         (hash_delete): Rewrite to use neither the assignment operator
117652         nor the comma operator in an if-expression.
117654 2000-05-15  Paul Eggert  <eggert@twinsun.com>
117656         * lib/closeout.c:
117657         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
117658         Remove; no longer needed.
117659         "quotearg.h": Add include.
117660         (file_name): Do not bother to explicitly initialize to NULL; it's less
117661         efficient on some hosts.
117662         (close_stdout_status): Remove test as to whether stdout was already
117663         closed; it breaks for the case "echo x | sort >&-".
117664         Quote file name colons.
117665         Do not assume that _("write error") lacks format strings.
117667 2000-05-15  Jim Meyering  <meyering@lucent.com>
117669         * lib/version-etc.c (version_etc_copyright): Update the copyright
117670         string used in all --version output.
117672 2000-05-14  Jim Meyering  <meyering@lucent.com>
117674         * lib/closeout.c (close_stdout_set_file_name): New function.
117675         (close_stdout_status): Use new file-scoped global.
117676         Return right away if fstat says the stdout file descriptor is invalid.
117677         * lib/closeout.h (close_stdout_set_file_name): Declare.
117679 2000-05-10  Jim Meyering  <meyering@lucent.com>
117681         * lib/closeout.c [default_exit_status]: New file-scoped variable.
117682         (close_stdout_set_status): New function.
117683         * lib/closeout.h (close_stdout_set_status): Declare.
117685 2000-05-09  Jim Meyering  <meyering@lucent.com>
117687         * m4/gettext.m4: Rename this...
117688         * m4/libintl.m4: ...to this.
117690 2000-05-08  Jim Meyering  <meyering@lucent.com>
117692         * lib/long-options.c: Don't include closeout.h.
117693         (parse_long_options): Don't call close_stdout for --version.
117695 2000-05-06  Paul Eggert  <eggert@twinsun.com>
117697         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
117698         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
117699         2.1.3 bug.  This avoids a clash when files like regex.c define
117700         _GNU_SOURCE.
117702 2000-05-06  Jim Meyering  <meyering@lucent.com>
117704         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
117705         (AC_REPLACE_FUNCS): Add strnlen.
117707         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
117708         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
117710         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
117711         AC_SEARCH_LIBS call for nanosleep.
117712         (LIB_NANOSLEEP): Set and AC_SUBST.
117714 2000-05-06  Jim Meyering  <meyering@lucent.com>
117716         * lib/strnlen.c: Undefine __strnlen and strnlen.
117717         [!weak_alias]: Define __strnlen to strnlen.
117719         * lib/atexit.c: New file, from libiberty.
117721 2000-05-06  Jim Meyering  <meyering@lucent.com>
117723         * lib/closeout.c (close_stdout_status): Also check for errors on the
117724         stderr stream.
117726 2000-05-05  Jim Meyering  <meyering@lucent.com>
117728         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
117729         AC_SEARCH_LIBS call for clock_gettime.
117730         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
117732         * m4/search-libs.m4: Update from autoconf.
117734         su doesn't work on Solaris 2.6.
117735         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
117736         <shadow.h>.  Reported by Dragos Harabor.
117738 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
117740         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
117741         memcpy instead of xmalloc, xrealloc, path_concat.
117742         (locale_charset): Treat empty environment variables as absent.
117743         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
117745 2000-05-04  Jim Meyering  <meyering@lucent.com>
117747         * lib/getopt.c: Update from glibc.
117748         * lib/obstack.c: Likewise.
117749         * lib/obstack.h: Likewise.
117750         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
117751         file
117753         * lib/regex.h: Likewise.
117754         * lib/strndup.c: Likewise.
117755         * lib/strnlen.c: New file, from glibc.
117757 2000-05-03  Jim Meyering  <meyering@lucent.com>
117759         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
117761 2000-05-02  Paul Eggert  <eggert@twinsun.com>
117763         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
117764         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
117765         compile-time test, rather than inspecting host and OS, to
117766         decide whether to define _LARGEFILE_SOURCE.
117768 2000-05-01  Jim Meyering  <meyering@lucent.com>
117770         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
117772         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
117773         Based on a patch from Bruno Haible.
117775 2000-05-01  Jim Meyering  <meyering@lucent.com>
117777         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
117779 2000-04-29  Jim Meyering  <meyering@lucent.com>
117781         * lib/path-concat.c: Declare strdup only if it's not defined.
117782         * lib/canon-host.c: Likewise.
117784 2000-04-28  Jim Meyering  <meyering@lucent.com>
117786         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
117787         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
117788         is included first, then limits.h is included by locale.h by libintl.h.
117789         From John David Anglin.
117791 2000-04-25  Jim Meyering  <meyering@lucent.com>
117793         * lib/makepath.c (S_IRWXUGO): Define.
117794         (make_path): Always perform explicit chmod if MODE specifies any
117795         of the `special' permission bits.  Prompted by a bug report against
117796         install from Mate Wierdl and Joost van Baal.
117798 2000-04-18  Jim Meyering  <meyering@lucent.com>
117800         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
117801         (jm_PREREQ): Use it.
117803 2000-04-18  Jim Meyering  <meyering@lucent.com>
117805         * lib/README: New file.
117807         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
117808         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
117810 2000-04-17  Jim Meyering  <meyering@lucent.com>
117812         Get it right :-)
117813         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
117814         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
117815         Suggestion from Akim Demaille.
117817 2000-04-17  Jim Meyering  <meyering@lucent.com>
117819         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
117820         the definition of it to rpl_strftime also defined-away the system's
117821         declaration.
117823 2000-04-15  Jim Meyering  <meyering@lucent.com>
117825         Use `C' to denote so-called `contiguous' files, the same way
117826         that tar does.
117827         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
117828         (ftypelet): Use S_ISCTG.
117829         From Michael Deutschmann.
117831 2000-04-14  Jim Meyering  <meyering@lucent.com>
117833         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
117834         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
117835         clobbered.
117837 2000-04-14  Jim Meyering  <meyering@lucent.com>
117839         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
117841 2000-04-13  Jim Meyering  <meyering@lucent.com>
117843         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
117844         AH_VERBATIM to insert required #ifndef into config.h.in.
117845         Suggestion from Akim Demaille.
117847 2000-04-12  Jim Meyering  <meyering@lucent.com>
117849         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
117850         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
117851         Christian Krackowizer.
117853         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
117854         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
117855         (AC_SYS_LARGEFILE): Require.
117856         (AM_C_PROTOTYPES): Require.
117858 2000-04-08  Jim Meyering  <meyering@lucent.com>
117860         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
117861         names don't conflict.  Reported by Eli Zaretskii.
117863 2000-04-07  Jim Meyering  <meyering@lucent.com>
117865         * lib/putenv.c: Move inclusion of errno.h so it follows that of
117866         sys/types.h, to work around system header problems on AIX 3.2.5.
117867         From Bruno Haible.
117869 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
117871         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
117872         bug.  Deal with the different error behavior of Irix iconv.
117874 2000-04-05  Paul Eggert  <eggert@twinsun.com>
117876         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
117877         IRIX if the installer said otherwise.
117879 2000-04-05  Jim Meyering  <meyering@lucent.com>
117881         Portability tweaks required for ultrix4.3.
117882         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
117883         (jm_CHECK_DECLS): Add getutent to the list of functions.
117884         (_jm_DECL_HEADERS): Add utmpx.h.
117885         From John David Anglin.
117887         * m4/strftime.m4: Back out the 2000-04-02 change.
117888         Instead of that change, simply undefine putenv in the test program.
117890 2000-04-05  Jim Meyering  <meyering@lucent.com>
117892         Portability tweaks required for ultrix4.3.
117893         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
117894         getutent.
117895         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
117896         * lib/canon-host.c: Declare strdup.
117897         * lib/path-concat.c: Likewise.
117898         From John David Anglin.
117900 2000-04-04  Jim Meyering  <meyering@lucent.com>
117902         Be more DOS 8.3-friendly.
117903         * lib/ref-add.sin: Renamed from ref-add.sed.in.
117904         * lib/ref-del.sin: Renamed from ref-del.sed.in.
117905         * lib/Makefile.am: Reflect renaming.
117906         Reported by Eli Zaretskii.
117908         Use a temporary file name that won't clash with `charset.alias'
117909         in the DOS 8.3 name space.
117910         * lib/Makefile.am (charset_tmp): Define.
117911         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
117912         (uninstall-local): Likewise.
117913         Reported by Eli Zaretskii.
117915 2000-04-03  Jim Meyering  <meyering@lucent.com>
117917         * m4/gettext.m4: Fix typo in comment.
117919         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
117920         textutils/configure.in).  Suggestion from Paul Eggert.
117921         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
117923 2000-04-02  Paul Eggert  <eggert@twinsun.com>
117925         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
117926         variable in the shell rather than using putenv, which isn't
117927         portable.  This avoids the configure-time inter-test dependency
117928         on the potentially-renamed putenv function.
117930 2000-03-30  Paul Eggert  <eggert@twinsun.com>
117932         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
117933         before checking struct stat.st_blksize, so that
117934         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
117936 2000-03-29  Paul Eggert  <eggert@twinsun.com>
117938         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
117939         since strftime.c uses HAVE_STRFTIME to decide whether to use
117940         the underlying strftime.
117942 2000-03-29  Paul Eggert  <eggert@twinsun.com>
117944         * lib/time/strftime.c (my_strftime): Make sure we call the system
117945         strftime, not ourselves, when invoking the underlying strftime.
117947 2000-03-24  Jim Meyering  <meyering@lucent.com>
117949         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
117950         (charset_alias): Define.
117951         (install-exec-local): Factor out common code.
117952         (uninstall-local): Split lines longer than 80.
117953         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
117954         (SUFFIXES): Define.
117955         (.sed.in.sed): New rule.  Don't redirect directly to $@.
117956         (CLEANFILES): Add ref-add.sed and ref-del.sed.
117958 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
117960         * lib/config.charset: Output a line containing "Packages using this
117961         file".
117962         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
117963         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
117964         ref-del.sed): New rules.
117966 2000-03-17  Jim Meyering  <meyering@lucent.com>
117968         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
117969         Otherwise, include <strings.h>
117971 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
117973         * lib/unicodeio.c (utf8_wctomb): New function.
117974         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
117975         format instead of in UCS-4 with platform dependent endianness.
117977 2000-03-10  Jim Meyering  <meyering@lucent.com>
117979         * m4/lib-check.m4: Look for getspnam in -lgen, too.
117980         From Marco Franzen.
117982 2000-03-07  Paul Eggert  <eggert@twinsun.com>
117984         * lib/savedir.c (savedir): Work even if directory size is
117985         negative; this can happen with some screwy NFS configurations.
117987 2000-03-06  Jim Meyering  <meyering@lucent.com>
117989         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
117990         if it's NULL (because we ran out of memory).  From Bruno Haible.
117992 2000-03-05  Jim Meyering  <meyering@lucent.com>
117994         * lib/localcharset.c ("path-concat.h"): Include.
117995         (get_charset_aliases): Use path_concat instead of ANSI string
117996         concatenation.
117998         * lib/unicodeio.h (PARAMS): Define.
117999         Use it to guard prototype.
118001 2000-03-04  Jim Meyering  <meyering@lucent.com>
118003         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
118004         for lib/localcharset.c.
118006 2000-03-04  Jim Meyering  <meyering@lucent.com>
118008         * lib/Makefile.am (install-exec-local): Create $(libdir) before
118009         installing into it.
118010         (uninstall-local): Uncomment this rule so `make distcheck' works
118011         once again.
118013         * lib/unicodeio.c (<errno.h>): Include it.
118014         (errno): Declare if not defined.
118016         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
118018         * lib/config.charset: New version, incorporating remarks from a linux
118019         i18n mailing list.  From Bruno Haible.
118021 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
118023         * m4/codeset.m4: New file.
118024         * m4/iconv.m4: New file.
118025         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
118027 2000-03-03  Jim Meyering  <meyering@lucent.com>
118029         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
118031 2000-03-02  Jim Meyering  <meyering@lucent.com>
118033         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
118034         the messages come out on separate lines.
118036         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
118037         rather than jm_CHECK_DECLARATIONS.
118038         * m4/decl.m4: Remove now-unused file.
118040         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
118041         geteuid.
118043 2000-03-02  Jim Meyering  <meyering@lucent.com>
118045         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
118047 2000-03-01  Jim Meyering  <meyering@lucent.com>
118049         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
118050         * lib/unicodeio.c: Likewise.
118052 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
118054         * lib/config.charset: New file.
118055         * lib/localcharset.c: New file.
118056         * lib/unicodeio.h, lib/unicodeio.c: New files.
118057         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
118058         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
118059         (noinst_HEADERS): Add unicodeio.h.
118060         (all-local, install-exec-local, charset.alias): New targets.
118062 2000-02-28  Paul Eggert  <eggert@twinsun.com>
118064         * lib/quotearg.c (ALERT_CHAR): New macro.
118065         (quotearg_buffer_restyled): Use it.
118067 2000-02-27  Jim Meyering  <meyering@lucent.com>
118069         * m4/check-decl.m4: Add getenv to the list.
118071 2000-02-27  Jim Meyering  <meyering@lucent.com>
118073         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
118074         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
118076         * lib/backupfile.c: Guard inclusion of stdlib.h with
118077         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
118078         Declare malloc if needed.
118080         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
118081         `#ifndef HAVE_DECL..'
118082         now that autoconf always defines the HAVE_DECL_ symbols.
118083         * lib/human.c: Likewise.
118084         * lib/same.c: Likewise.
118085         * lib/strtoumax.c: Likewise.
118087         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
118088         declaration check was not run.
118089         * lib/hash.c: Likewise.
118090         * lib/human.c: Likewise.
118091         * lib/same.c: Likewise.
118092         * lib/strtoumax.c: Likewise.
118094         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
118095         `.', then first look up the entire `.'-containing string as a login
118096         name.
118098 2000-02-23  Jim Meyering  <meyering@lucent.com>
118100         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
118101         in place of my hack.
118103 2000-02-18  Paul Eggert  <eggert@twinsun.com>
118105         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
118106         (textint): New typedef.
118107         (parser_control): Member year changed from int to textint.
118108         All uses changed.
118109         (YYSTYPE): Removed; replaced by %union with int and textint members.
118110         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
118111         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
118112         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
118113         (tSNUMBER, tUNUMBER): Now of type <textintval>.
118114         (date, number, to_year): Use width of number in digits, not its value,
118115         to determine whether it's a 2-digit year, or a 2-digit time.
118116         (yylex): Store number of digits of numeric tokens.
118117         Reported by John Kendall.
118119         (parser_control): Changed from struct parser_control to typedef (for
118120         consistency).  All uses changed.
118122         (tID): Removed; not used.
118123         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
118125 2000-02-14  Paul Eggert  <eggert@twinsun.com>
118127         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
118128         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
118130 2000-02-12  Jim Meyering  <meyering@lucent.com>
118132         * lib/userspec.c (ISDIGIT): Define it.
118133         (isdigit): Remove definition.
118134         (is_number): Use ISDIGIT, not isdigit.
118135         <libintl.h>: Include.
118136         (_ and N_): Define.
118137         (parse_user_spec): Mark translatable strings.
118139 2000-02-10  Jim Meyering  <meyering@lucent.com>
118141         With these changes, nanosleep.[ch] are finally enough like the other
118142         lib/* replacement files to compile on a few more losing systems.
118144         * lib/nanosleep.h: Don't include config.h.
118145         Remove prototype from declaration of nanosleep.
118146         (PARAMS): Remove now-unneeded definition.
118147         * lib/nanosleep.c: #undef nanosleep.
118148         (rpl_nanosleep): Rename from nanosleep.
118150 2000-02-10  Jim Meyering  <meyering@lucent.com>
118152         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
118153         gnu_nanosleep to rpl_nanosleep.
118155 2000-02-09  Jim Meyering  <meyering@lucent.com>
118157         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
118158         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
118160 2000-02-08  Akim Demaille  <akim@epita.fr>
118162         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
118163         `[' and `]' and remove uses of `changequote'.
118164         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
118165         (AC_SYS_LARGEFILE): Likewise.
118166         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
118167         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
118168         of changequote.
118169         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
118170         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
118171         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
118172         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
118174 2000-02-05  Jim Meyering  <meyering@lucent.com>
118176         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
118177         Remove explicit use of AC_HEADER_TIME.  It is required by
118178         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
118179         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
118180         in autoconf whereby the expansion of the latter ended up preceding
118181         the expansion of its prerequisite, AC_HEADER_TIME.
118182         Reported by Volker Borchert.
118184 2000-02-03  Jim Meyering  <meyering@lucent.com>
118186         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
118188 2000-02-03  Jim Meyering  <meyering@lucent.com>
118190         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
118191         rather than with `#if HAVE_UTMPNAME'.
118193 2000-02-02  Jim Meyering  <meyering@lucent.com>
118195         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
118196         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
118197         Reported by Eli Zaretskii.
118199 2000-02-01  Jim Meyering  <meyering@lucent.com>
118201         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
118203 2000-01-31  Jim Meyering  <meyering@lucent.com>
118205         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
118206         functions.  Add the time.h and sys/time.h headers along with the
118207         AC_REQUIRE'ment of AC_HEADER_TIME.
118209 2000-01-31  Jim Meyering  <meyering@lucent.com>
118211         * lib/nanosleep.h (nanosleep): Guard declaration with
118212         `#if ! HAVE_DECL_NANOSLEEP'.
118213         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
118214         the declaration in that vendor's sys/timers.h.
118215         Reported by Christian Krackowizer.
118217         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
118218         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
118219         (ISPRINT): Likewise.
118220         Reported by Tom Tromey.
118222 2000-01-30  Jim Meyering  <meyering@lucent.com>
118224         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
118226         * m4/prereq.m4 (utmp_includes): Define.
118227         Check for ut_user and ut_name members in both struct utmpx
118228         and struct utmp.
118230 2000-01-30  Jim Meyering  <meyering@lucent.com>
118232         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
118233         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
118234         header files where only utmpx.ut_user is declared.
118236         * lib/readutmp.h (UT_USER): Define.
118238 2000-01-29  Jim Meyering  <meyering@lucent.com>
118240         * m4/lib-check.m4: New file containing library-related checks from
118241         fileutils and sh-utils (textutils had none).
118243 2000-01-28  Jim Meyering  <meyering@lucent.com>
118245         * m4/perl.m4: Change format of warning message to look more like that
118246         from the missing script.  Suggestion from François Pinard.
118248 2000-01-25  Jim Meyering  <meyering@lucent.com>
118250         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
118251         well as time.h in the compile check.
118252         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
118253         Fix typo in cross-compiling case: s/yes/no/.
118255 2000-01-23  Jim Meyering  <meyering@lucent.com>
118257         * m4/jm-macros.m4: Move df-related tests here from
118258         fileutils/configure.in
118260         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
118261         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
118263         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
118264         s/space/ac_fsusage_space/.
118265         (jm_FILE_SYSTEM_USAGE): Take two parameters.
118267         * m4/ftruncate.m4: New file (derived from part of
118268         fileutils/configure.in).
118269         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
118270         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
118272         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
118273         AC_SUBST these here, rather than just in sh-util/configure.in, so
118274         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
118275         all the same.
118276         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
118277         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
118278         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
118279         (AC_SUBST(POW_LIBM)): Likewise.
118280         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
118282 2000-01-23  Jim Meyering  <meyering@lucent.com>
118284         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
118285         obstack.c.
118287 2000-01-22  Jim Meyering  <meyering@lucent.com>
118289         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
118291         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
118293         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
118294         configure.in
118295         (AC_CHECK_HEADERS): Likewise for sh-utils.
118296         (AC_CHECK_HEADERS): Likewise for textutils.
118297         Merge the three lists of headers.
118299         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
118300         from fileutils' configure.in.
118302         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
118303         code. Moved tests into their own function (_jm_DECL_HEADERS) in
118304         check-decl.m4.
118306         * m4/check-decl.m4: Use #if rather than #ifdef.
118307         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
118308         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
118309         (_jm_DECL_HEADERS): Define new function.
118310         (jm_CHECK_DECLARATIONS): Require it.
118312 2000-01-22  Jim Meyering  <meyering@lucent.com>
118314         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
118315         [! HAVE_DECL_STRTOULL]: Declare strtoull.
118316         Required for some AIX systems.  Reported by Christian Krackowizer.
118317         [TESTING] (main): New function.
118319         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
118320         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
118321         letters.
118323         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
118324         iswprint.
118326         * lib/strverscmp.c (ISDIGIT): Define.
118327         (strverscmp): Use ISDIGIT, not isdigit.
118329 2000-01-19  Jim Meyering  <meyering@lucent.com>
118331         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
118332         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
118333         defines `struct timespec' in <sys/time.h>
118335         * m4/c-bs-a.m4: Remove uses of changequote altogether.
118336         Thanks to Akim for explaining.
118338 2000-01-17  Paul Eggert  <eggert@twinsun.com>
118340         * lib/nanosleep.c (nanosleep):
118341         Don't use SA_INTERRUPT to decide whether to call sigaction, as
118342         POSIX.1 doesn't require SA_INTERRUPT and some systems
118343         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
118344         it's been part of POSIX.1 since day 1 (in 1988).
118346 2000-01-17  Jim Meyering  <meyering@lucent.com>
118348         * lib/interlock: Remove unused file.  Reported by François Pinard.
118350 2000-01-16  Paul Eggert  <eggert@twinsun.com>
118352         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
118353         alert, backslash, formfeed, and vertical tab unnecessarily in
118354         shell quoting style.
118356 2000-01-16  Jim Meyering  <meyering@lucent.com>
118358         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
118359         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
118360         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
118361         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
118363 2000-01-16  Jim Meyering  <meyering@lucent.com>
118365         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
118366         because the latter didn't work.
118368 2000-01-15  Jim Meyering  <meyering@lucent.com>
118370         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
118371         (AC_REPLACE_FUNCS): Add memcpy and memset.
118372         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
118373         Add strpbrk.
118374         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
118376 2000-01-12  Jim Meyering  <meyering@lucent.com>
118378         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
118379         (jm_PREREQ): Use it.
118380         (jm_PREREQ_READUTMP): New macro.
118381         (jm_PREREQ): Use it.
118383 2000-01-11  Paul Eggert  <eggert@twinsun.com>
118385         Quote multibyte characters correctly.
118386         * m4/c-bs-a.m4: New file.
118387         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
118388         (jm_PREREQ): Use it.
118390 2000-01-11  Paul Eggert  <eggert@twinsun.com>
118392         * m4/uintmax_t.m4: Port to autoconf 2.13.
118394 2000-01-08  Jim Meyering  <meyering@ascend.com>
118396         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
118397         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
118399 2000-01-04  Jim Meyering  <meyering@ascend.com>
118401         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
118402         jm_STRUCT_DIRENT_D_TYPE.
118403         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
118404         jm_STRUCT_DIRENT_D_INO.
118405         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
118406         jm_STRUCT_UTIMBUF.
118407         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
118408         renamings.
118409         * m4/utime.m4: Likewise.
118411         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
118412         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
118414 2000-01-03  Paul Eggert  <eggert@twinsun.com>
118416         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
118417         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
118419 2000-01-02  Jim Meyering  <meyering@ascend.com>
118421         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
118422         remember if this is necessary.
118424 1999-12-26  Jim Meyering  <meyering@ascend.com>
118426         * m4/jm-macros.m4: Use it here.
118427         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
118429 1999-12-23  Jim Meyering  <meyering@ascend.com>
118431         * m4/jm-macros.m4: Check for clock_gettime (moved from
118432         fileutils/configure.in)
118433         Check for gettimeofday.
118435 1999-12-20  Jim Meyering  <meyering@ascend.com>
118437         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
118438         autoconf-2.14a-1999-12-20.
118440 1999-12-19  Jim Meyering  <meyering@ascend.com>
118442         * m4/lstat-slash.m4: New file.
118443         * m4/jm-macros.m4: Use the new macro:
118444         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
118446 1999-12-07  Jim Meyering  <meyering@ascend.com>
118448         * m4/perl.m4: Require that File::Compare be available, too.
118449         Too many systems seem to lack it.
118451         * m4/strftime.m4: Add checks for most of the cpp macros tested in
118452         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
118454 1999-11-18  Paul Eggert  <eggert@twinsun.com>
118456         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
118457         problem with the QNX 4.25 shell, which doesn't propagate exit
118458         status of failed commands inside shell assignments.
118460 1999-11-17  Jim Meyering  <meyering@ascend.com>
118462         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
118464 1999-11-07  Jim Meyering  <meyering@ascend.com>
118466         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
118468 1999-11-06  Jim Meyering  <meyering@ascend.com>
118470         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
118471         * m4/jm-macros.m4 (jm_MACROS): Use it here.
118473 1999-11-05  Jim Meyering  <meyering@ascend.com>
118475         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
118476         configure.in of textutils, fileutils, and sh-utils into this one
118477         (shared between those packages) file.
118478         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
118479         AC_STRUCT_ST_BLKSIZE.
118481 1999-11-03  Jim Meyering  <meyering@ascend.com>
118483         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
118484         of AC_CHECK_TYPE checks includes unistd.h.
118485         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
118486         Suggestion from Akim Demaille.
118488 1999-10-30  Jim Meyering  <meyering@ascend.com>
118490         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
118491         m4-quoted string.
118492         * m4/ls-mntd-fs.m4: Likewise.
118493         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
118494         * m4/jm-winsz1.m4: Likewise.
118496         * m4/const.m4: Remove file, since the fix made it into the experimental
118497         version of autoconf.
118498         * m4/mktime.m4: Likewise.
118500         * m4/check-type.m4: Remove file, now that the latest version of
118501         AC_CHECK_TYPE takes a third arg to specify additional #includes.
118503         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
118504         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
118505         AC_CHECK_TYPE.
118507 1999-10-04  Jim Meyering  <meyering@ascend.com>
118509         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
118511 1999-09-22  Paul Eggert  <eggert@twinsun.com>
118513         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
118514         2.95.1 bug with HP-UX 10.20.
118516 1999-09-17  Jim Meyering  <meyering@ascend.com>
118518         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
118519         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
118520         due to missing strdup (against sh-utils-2.0).
118522 1999-08-29  Jim Meyering  <meyering@ascend.com>
118524         * m4/jm-macros.m4: Require jm_BISON.
118525         * m4/bison.m4: New file.
118527 1999-08-17  Paul Eggert  <eggert@twinsun.com>
118529         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
118530         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
118532 1999-08-05  Jim Meyering  <meyering@ascend.com>
118534         * m4/getline.m4: Rename test file from conftestdata to conftest.data
118535         to avoid conflicts with `conftest' on 8+3 filesystems.
118536         Suggestion from Eli Zaretskii.
118538 1999-08-04  Jim Meyering  <meyering@ascend.com>
118540         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
118541         fileutils and sh-utils (textutils's getline test was inadequate).
118542         (AM_FUNC_GETLINE): Run this test.
118543         (AC_CHECK_FUNCS): Check for getdelim.
118544         Reported by Bob Proulx.
118546 1999-08-02  Jim Meyering  <meyering@ascend.com>
118548         * m4/jm-macros.m4: Add a comment.
118550 1999-08-01  Paul Eggert  <eggert@twinsun.com>
118552         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
118553         <inttypes.h> defines strtoumax as a macro (and not as a
118554         function).
118556 1999-08-01  Paul Eggert  <eggert@twinsun.com>
118558         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
118559         that we can shift, multiply and divide unsigned long long
118560         values; Ultrix cc can't do it.
118562 1999-08-01  Paul Eggert  <eggert@twinsun.com>
118564         * m4/mktime.m4: New file, which is a preview of what should appear
118565         in the next public autoconf release.
118567 1999-08-01  Paul Eggert  <eggert@twinsun.com>
118569         * m4/lfs.m4: Remove this file.
118570         * m4/largefile.m4: New file.  It contains the old contents of
118571         lfs.m4, except that all names with prefix AC_LFS have been
118572         changed to use the prefix AC_SYS_LARGEFILE instead, to be
118573         compatible with future autoconf versions.  Also, some minor m4
118574         quoting problems have been fixed.
118576 1999-08-01  Paul Eggert  <eggert@twinsun.com>
118578         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
118579         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
118580         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
118581         and simplify the shell code.
118583 1999-08-01  Jim Meyering  <meyering@ascend.com>
118585         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
118586         m4.
118588 1999-07-20  Jim Meyering  <meyering@ascend.com>
118590         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
118592 1999-07-15  Jim Meyering  <meyering@ascend.com>
118594         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
118596 1999-05-22  Jim Meyering  <meyering@ascend.com>
118598         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
118600 1999-05-20  Jim Meyering  <meyering@ascend.com>
118602         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
118603         Add a colon after each `then' in case $4 is empty.
118605 1999-05-16  Jim Meyering  <meyering@ascend.com>
118607         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
118609 1999-05-10  Jim Meyering  <meyering@ascend.com>
118611         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
118613         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
118614         AC_FUNC_MKTIME.
118616 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
118618         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
118620 1999-05-04  Paul Eggert  <eggert@twinsun.com>
118622         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
118623         not CPPFLAGS, so that linking works correctly in IRIX.
118625 1999-04-30  Paul Eggert  <eggert@twinsun.com>
118627         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
118629 1999-04-20  Paul Eggert  <eggert@twinsun.com>
118631         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
118632         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
118633         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
118634         jm_AC_TYPE_UNSIGNED_LONG_LONG.
118635         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
118637         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
118639 1999-04-20  Jim Meyering  <meyering@ascend.com>
118641         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
118642         AC_REPLACE xstroull if necessary.  From Paul Eggert.
118643         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
118645 1999-04-18  Jim Meyering  <meyering@ascend.com>
118647         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
118648         * m4/jm-macros.m4: Use it.
118650 1999-04-06  Jim Meyering  <meyering@ascend.com>
118652         * m4/strftime.m4: Remove test for %f.
118654 1999-03-29  Jim Meyering  <meyering@ascend.com>
118656         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
118657         superset of the AC_TYPE_* checks in the textutils, fileutils,
118658         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
118659         AC_TYPE_PID_T.
118661 1999-03-28  Jim Meyering  <meyering@ascend.com>
118663         * m4/jm-macros.m4: Define GNU_PACKAGE here.
118664         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
118665         replaced e.g., in the *.sh files of the sh-utils.
118667 1999-03-20  Jim Meyering  <meyering@ascend.com>
118669         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
118670         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
118671         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
118673 1999-03-19  Jim Meyering  <meyering@ascend.com>
118675         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
118677 1999-03-12  Jim Meyering  <meyering@ascend.com>
118679         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
118681 1999-03-07  Jim Meyering  <meyering@ascend.com>
118683         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
118684         declared.
118686 1999-02-17  Jim Meyering  <meyering@ascend.com>
118688         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
118689         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
118691 1999-02-07  Jim Meyering  <meyering@ascend.com>
118693         * m4/group-member.m4: New file -- extracted from sh-utils'
118694         configure.in.
118696         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
118697         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
118699 1999-02-06  Jim Meyering  <meyering@ascend.com>
118701         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
118702         * m4/fnmatch.m4: Likewise.
118703         * m4/getgroups.m4: Likewise.
118704         * m4/lstat.m4: Likewise.
118705         * m4/malloc.m4: Likewise.
118706         * m4/putenv.m4: Likewise.
118707         * m4/realloc.m4: Likewise.
118708         * m4/regex.m4: Likewise.
118709         * m4/stat.m4: Likewise.
118710         * m4/strftime.m4: Likewise.
118711         Suggestion from Alain Magloire.
118713         * m4/chown.m4: Use `.$ac_objext', not `.o'.
118714         * m4/fnmatch.m4: Likewise.
118715         * m4/getgroups.m4: Likewise.
118716         * m4/getline.m4: Likewise.
118717         * m4/lstat.m4: Likewise.
118718         * m4/malloc.m4: Likewise.
118719         * m4/memcmp.m4: Likewise.
118720         * m4/putenv.m4: Likewise.
118721         * m4/realloc.m4: Likewise.
118722         * m4/regex.m4: Likewise.
118723         * m4/stat.m4: Likewise.
118724         * m4/strftime.m4: Likewise.
118725         Suggestion from Alain Magloire.
118727         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
118728         an argument.
118730         * m4/regex.m4: Add a run-time Test for proper operation of
118731         re_compile_pattern.
118733 1999-01-31  Jim Meyering  <meyering@ascend.com>
118735         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
118737 1999-01-30  Jim Meyering  <meyering@ascend.com>
118739         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
118741         * m4/jm-mktime.m4: Make this a wrapper around the official
118742         AM_FUNC_MKTIME rather than my private copy, now that the official one
118743         is up to date.
118744         * m4/mktime.m4: Remove file.
118746         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
118747         * m4/uptime.m4: Likewise.
118748         * m4/uintmax_t.m4: Likewise.
118750 1999-01-28  Jim Meyering  <meyering@ascend.com>
118752         * m4/jm-macros.m4: Use jm_AFS.
118753         * m4/afs.m4: New file (from fileutils' configure.in).
118755         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
118756         * m4/chown.m4: Likewise.
118757         * m4/d-ino.m4: Likewise.
118758         * m4/d-type.m4: Likewise.
118759         * m4/fnmatch.m4: Likewise.
118760         * m4/getgroups.m4: Likewise.
118761         * m4/gettext.m4: Likewise.
118762         * m4/jm-mktime.m4: Likewise.
118763         * m4/jm-winsz2.m4: Likewise.
118764         * m4/lcmessage.m4: Likewise.
118765         * m4/ls-mntd-fs.m4: Likewise.
118766         * m4/malloc.m4: Likewise.
118767         * m4/memcmp.m4: Likewise.
118768         * m4/putenv.m4: Likewise.
118769         * m4/realloc.m4: Likewise.
118770         * m4/st_mtim.m4: Likewise.
118771         * m4/strftime.m4: Likewise.
118773 1999-01-16  Jim Meyering  <meyering@ascend.com>
118775         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
118776         (ARGMATCH_DIE_DECL): Define.
118778 1999-01-12  Jim Meyering  <meyering@ascend.com>
118780         * m4/Makefile.am.in: Rewrite to avoid using fmt.
118781         Reported by Lars Hecking.
118783 1999-01-10  Jim Meyering  <meyering@ascend.com>
118785         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
118786         gross kludge.
118787         * m4/inttypes_h.m4: Likewise.
118788         * m4/lstat.m4: Likewise.
118789         * m4/malloc.m4: Likewise.
118790         * m4/readdir.m4: Likewise.
118791         * m4/realloc.m4: Likewise.
118792         * m4/st_dm_mode.m4: Likewise.
118793         * m4/stat.m4: Likewise.
118794         * m4/utimbuf.m4: Likewise.
118795         * m4/utimes.m4: Likewise.
118797         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
118798         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
118799         comments in config.h.in are meaningful.
118801         * m4/jm-macros.m4: Require autoconf-2.13 here.
118803         * m4/regex.m4: By default, don't use the included regex.c on systems
118804         with glibc 2.  Suggestion from Uli Drepper.
118806 1999-01-02  Jim Meyering  <meyering@ascend.com>
118808         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
118810 1998-12-18  Jim Meyering  <meyering@ascend.com>
118812         * m4/Makefile.am.in (Makefile.am): Simplify rule.
118813         Based on a suggestion from Lars Hecking.
118815 1998-11-16  Paul Eggert  <eggert@twinsun.com>
118817         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
118819 1998-11-16  Jim Meyering  <meyering@ascend.com>
118821         * m4/lfs.m4: Double-quote the `uname...` expression.
118823 1998-11-14  Jim Meyering  <meyering@ascend.com>
118825         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
118826         * m4/stat.m4: Likewise.
118828 1998-11-03  Jim Meyering  <meyering@ascend.com>
118830         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
118831         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
118833 1998-10-18  Jim Meyering  <meyering@ascend.com>
118835         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
118837 1998-10-17  Jim Meyering  <meyering@ascend.com>
118839         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
118840         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
118841         calls for those previously hard-coded headers.  Instead, take a new
118842         parameter.
118843         (jm_CHECK_DECLARATIONS): Reflect interface change.
118844         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
118845         (jm_CHECK_DECL_LOCALTIME_R): New macro.
118847         * m4/mktime.m4: Test for spring-forward gap before long-running test.
118849 1998-10-14  Jim Meyering  <meyering@ascend.com>
118851         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
118852         instead of "TZ=America/Vancouver".  From Paul Eggert.
118854 1998-10-11  Jim Meyering  <meyering@ascend.com>
118856         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
118857         This adds a test for a recently added compatibility fix for mktime.c.
118858         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
118860 1998-09-27  Jim Meyering  <meyering@ascend.com>
118862         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
118864         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
118865         ../configure.in, including a change from Gordon Matzigkeit to allow
118866         cross-compiling for the Hurd.
118868         * m4/glibc.m4: New file/macro to test for the GNU C Library
118869         versions 1 and 2.  From Gordon Matzigkeit.
118870         Indent.
118872 1998-09-21  Jim Meyering  <meyering@ascend.com>
118874         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
118876 1998-08-18  Paul Eggert  <eggert@twinsun.com>
118878         Port nanosecond-resolution times to UnixWare 2.1.2 and
118879         pedantic Solaris 2.6.
118881         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
118882         AC_STRUCT_ST_MTIM.
118883         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
118884         Generate name of ns member, instead of just 1 or undef.
118885         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
118887 1998-08-15  Jim Meyering  <meyering@ascend.com>
118889         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
118890         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
118891         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
118892         instead of jm_TYPE_SSIZE_T.
118894 1998-08-12  Jim Meyering  <meyering@ascend.com>
118896         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
118898 1998-08-02  Jim Meyering  <meyering@ascend.com>
118900         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
118901         in acconfig.h manually.
118903 1998-07-31  Paul Eggert  <eggert@twinsun.com>
118905         * m4/st_mtim.m4: New file.
118907 1998-07-28  Jim Meyering  <meyering@ascend.com>
118909         * m4/utimes.m4: Undef stat.
118911 1998-07-25  Jim Meyering  <meyering@ascend.com>
118913         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
118914         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
118916 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
118918         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
118919         uid and gid actually remain unchanged.
118921 1998-07-07  Jim Meyering  <meyering@ascend.com>
118923         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
118925 1998-07-04  Jim Meyering  <meyering@ascend.com>
118927         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
118928         to prove that this macro can be used in packages without regex.c.
118930 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
118932         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
118933         is to be used.
118935 1998-07-03  Jim Meyering  <meyering@ascend.com>
118937         * m4/gettext.m4: Add -lintl if it's found to be necessary.
118939         * m4/gettext.m4: New file -- from gettext-0.10.35.
118940         * m4/lcmessage.m4: Likewise.
118941         * m4/progtest.m4: Likewise.
118943         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
118944         * m4/jm-macros.m4: Require the new macro.
118946 1998-06-29  Jim Meyering  <meyering@ascend.com>
118948         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
118949         for the definition of NGROUPS (used in a system header included
118950         by sys/mount.h).
118952 1998-06-28  Jim Meyering  <meyering@ascend.com>
118954         * m4/ls-mntd-fs.m4: New file.
118955         * m4/fstypename.m4: New file.
118957         * m4/jm-macros.m4: Require the new macro.
118958         * m4/jm-glibc-io.m4: New file.
118960 1998-05-19  Jim Meyering  <meyering@ascend.com>
118962         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
118963         * m4/lchown.m4: New file.
118965         * m4/Makefile.am.in: New file.
118966         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
118968 1998-05-14  Jim Meyering  <meyering@ascend.com>
118970         * m4/Makefile.am (EXTRA_DIST): Add them.
118971         * m4/jm-macros.m4: New file.
118972         * m4/utimbuf.m4: New file.
118974 1998-05-12  Jim Meyering  <meyering@ascend.com>
118976         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
118978 1998-05-11  Jim Meyering  <meyering@ascend.com>
118980         * m4/isc-posix.m4: New file.
118982 1998-05-10  Jim Meyering  <meyering@ascend.com>
118984         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
118986 1998-05-09  Jim Meyering  <meyering@ascend.com>
118988         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
118989         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
118990         with automake.
118992         * m4/ssize_t.m4: New file.
118993         * m4/mktime.m4: Remove file -- the new automake has this now.
118995 1998-04-26  Jim Meyering  <meyering@ascend.com>
118997         * m4/assert.m4: New file.
118998         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
119000 1998-04-05  Jim Meyering  <meyering@ascend.com>
119002         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
119003         (jm_PREREQ): Use it here.
119005 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
119007         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
119008         in acconfig.h.
119010 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
119012         * m4/prereq.m4: New file.
119013         * m4/error.m4: New file.
119014         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
119016 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
119018         * m4/getline.m4: Don't set am_cv_func_working_getline before the
119019         cache-check for the same variable -- that defeated the purpose of
119020         the test; the test program was never run.  This was a problem only
119021         on systems with losing getline functions -- HP-UX 10.20 is one.
119022         Reported by Bjorn Helgaas.
119024 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
119026         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
119028 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
119030         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
119032         * m4/const.m4: New file.  Use an initializer in this declaration
119033         typedef int charset[2]; const charset x;
119034         Reported by Bob Glickstein.
119036 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
119038         * m4/chown.m4: Fix reversed types on -1 args to chown.
119039         From Kaveh Ghazi.
119041 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
119043         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
119044         Add lseek and memchr.
119046         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
119047         T.E.Dickey <dickey@clark.net> said that some older preprocessors
119048         have a 20-character limit on names.
119050 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
119052         * m4/inttypes_h.m4: New file.
119053         * m4/uintmax_t.m4: New file.
119054         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
119057         -----
119059         Local Variables:
119060         coding: utf-8
119061         End:
119063         Copyright (C) 1997-2019 Free Software Foundation, Inc.
119065         Copying and distribution of this file, with or without
119066         modification, are permitted provided the copyright notice
119067         and this notice are preserved.